powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с преобразованием справочников из Java
24 сообщений из 49, страница 2 из 2
Работа с преобразованием справочников из Java
    #39905204
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Морфий
Подойдёт ли тут Redis?

Да зачем? 10к записей можно в map какой-нибудь запихать и будет тоже самое.
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905205
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Описываемая задача является стандартной для любой СУБД. Называется .... JOIN

Чтобы решить что бред, а что нет, надо ответить на следующие вопросы:
Какое минимальное время выполнения запроса удалённого клиента на оракле?
Какие запросы обрабатывает клиент оракла?
Сколько их?
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905208
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Морфий
Про томограмму понимаю :-)

Хочется иметь "кэш" этих данных в самом сервисе, чтобы избежать запросов по сети в БД.
Или может быть какую-то inmemory БД поднимать в сервисе и туда переливать данные из реляционной БД, т.к. inmemory поиска кажется будет быстрее.

Вопрос больше сводиться к тому как правильно построить кэш который будет наполняться значениям из БД.
Как следить за актуальность кэша, как выбрать ключ, если использовать БД типа "ключ-значение",

Подойдёт ли тут Redis?


В зависимости от того как работаешь с БД, можно сделать по разному.
Например, если используется Хибернайте, то можно попробовать уже встроенным кешированием в хибернейте.
Если справочных значений не много, можно загнать их в HashMap.
И т.д.

Все зависит какую задачу решаете.
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905231
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apb12
предлагаю автора в бан
В чужом-то глазу и соринку замечаем???
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905260
Морфий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot apb12#22043550]
PetroNotC Sharp
apb12,
"Запросы выполняются из Java сервиса, по чистому JDBC без ORM прослоек."
за это нужно бить палками на площадях,потому что потом их говнокод будут разбирать такие как и проклинать свою жизнь)))


Почему нужно бить?
Чем плох чистый JDBC при работе с одной таблицей и по факту один SELECT из кода?

crutchmaster, спасибо за конструктивные решения и мапами и комплексным ключом.
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905273
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Морфий
Чем плох чистый JDBC при работе с одной таблицей и по факту один SELECT из кода?

Тем, что он ничего другого не осилил.
crutchmaster, спасибо за конструктивные решения и мапами и комплексным ключом.
Не за что. Какая нагрузка планируется на систему?
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905320
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Морфий
Почему нужно бить?
потому что ТС не сопровождает свой топик.
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905334
Морфий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Какая нагрузка планируется на систему?


Думаю, что не более 1М запросов в день, т.е. в зависимости от пика от 10 до 100 в секунду.

Конечно оптимизировать и добиваться производительности на самом начале не рационально, хотелось бы заложить
правильный фундамент с расчётом на рост нагрузки.

Пока думаю вот над таким вариантом:
1. При инициализации сервиса (модуля) зачитать всё из БД и составить мап с "составным" ключом.

Частого изменения справочника не планируется, поэтому можно оставить вариант перезапуска сервиса при изменении справочника.

Т.е. получается вариант долго запрягаем, зато быстро ездим.
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905343
Морфий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Морфий
Почему нужно бить?
потому что ТС не сопровождает свой топик.


Вопрос не относится к сопровождению топика, он про использование JDBC.
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905363
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Морфий
PetroNotC Sharp
пропущено...
потому что ТС не сопровождает свой топик.


Вопрос не относится к сопровождению топика, он про использование JDBC.

JDBC - не имеет никаких паттернов относительно преобразования справочников.
Почитай про Statement::addBatch() и про возможности ETL базы данных которую
ты используешь.

Я убежден что твой вопрос вообще другой. Ты лучше подумай. И подними новый топик
с пояснением сути твоей проблемы.
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905405
Морфий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Почитай про Statement::addBatch() и про возможности ETL базы данных которую
ты используешь.

Я убежден что твой вопрос вообще другой. Ты лучше подумай. И подними новый топик
с пояснением сути твоей проблемы.


Statement::addBatch() не нужен, т.к. у меня только чтение данных из уже готовой таблицы.

Спасибо за совет, подумаю получше над вопросом, и тогда открою новый топик.

На этом можно считать этот топик закрытым .
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905408
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Морфий,
Аффтар. Ты опять ничего не понял?
Нужно отвечать на посты в топике.
Где твоя ПРОБЛЕМА?
mayton
Я убежден что твой вопрос вообще другой. Ты лучше подумай. И подними новый топик
с пояснением сути твоей проблемы.

+1
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905424
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Морфий
Думаю, что не более 1М запросов в день, т.е. в зависимости от пика от 10 до 100 в секунду.

Ну, самый простой hashmap будет выбирать запись гораздо меньше 10 мс, так что на 100+ rqs тонким местом он не будет. Главное строку для ключа сшивай через StringBuilder, а не складыванием.
А через что запросы будут идти? Http?
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905461
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если преобразование - это ETL то и делать надо средствами ETL. И java тут вообще непричем.

Если автор хочет кеширование - то это вообще про другое. И это да. Это Java.
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905472
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Ну, самый простой hashmap
еще проще без него и включить локальный кеш драйвера оракла 2 гига.
Хотя автор вопрос закрыл, что тут придумывать.
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905488
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

Можно еще проще - вообще без оракла. А зачем он тут?
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905489
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Leonid Kudryavtsev
Описываемая задача является стандартной для любой СУБД. Называется .... JOIN

Чтобы решить что бред, а что нет, надо ответить на следующие вопросы:
Какое минимальное время выполнения запроса удалённого клиента на оракле?
Какие запросы обрабатывает клиент оракла?
Сколько их?

А при чем тут это?

Если есть две таблицы, таблица данных и таблица перекодировки и их надо join'уть, то зачем тут прослойка в виде Java - совершенно не понятно. Если что-то типа ETL, миграции/интеграции и данные из системы переливаются куда-то, то хоть join'и на базе источнике, хоть join'и на безе назначения - без разница, ну а поскольку нормальные люди по одной записи между базами не переливают - то даже сравнивать бессмысленно.

Топик как-то выглядит: мы java программисты, а не программисты СУБД, поэтому ни за какие join'ы ничего не знаем, а все будем делать "циклами, циклами" ( C ) данный подфорум

Что такое "удаленный клиент" из контекста фразы вообще не понятно.
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905491
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
Топик как-то выглядит: мы java программисты

Да ну не. Те давно бы уже сделали на мапах и никого не спрашивали.
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905495
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Можно еще проще - вообще без оракла. А зачем он тут?
можно.
ТС вообще не сказал что у него болит и какие симптомы.
Пусть учится чем лечить по фотографии непонятно что.
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905681
если я правильно понял тему, то у автора тормозит какой то бизнес процесс из за большого количества выполнений селекта

Код: plsql
1.
  SELECT code_to FROM dict_map WHERE sys_from = ? AND sys_to = ? AND code_from = ? AND dict_name = ?



если оптимизировать средствами оракл, то можно так попробовать, при условии что изменений мало будет

1. хеш. создаем хеш кластер, ключ (dict_name, sys_from, sys_to, code_from), туда подсовываем таблицу. О(1)
2. б-три дерево. создать индекс на (dict_name, sys_from, sys_to, code_from, code_to). О(logN)
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905683
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор. Ты построил индекс что я предлагал?

Как это повлияло на перформанс? +Сколько % стало быстрее?
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905703
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сладкий бубалех
из за большого количества выполнений селекта
переведи. То что ты написал элементарный запрос для оптимизатора.
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905752
PetroNotC Sharp
сладкий бубалех
из за большого количества выполнений селекта
переведи. То что ты написал элементарный запрос для оптимизатора.


а что оптимизатор? один раз распарсил и откомпилировал. а дальше тонны выполнений этого запроса. полная выборка блоков из таблицы, перебор строк в блоке, и в самой строке перебором до нужного поля, на это тоже ресурсы CPU тратятся хоть и блоки таблицы уже в кеше сидят. Ораклисты смотрят AWR, чтобы сказать где точно проблема
...
Рейтинг: 0 / 0
Работа с преобразованием справочников из Java
    #39905754
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выж в суть проблемы смотрите.
При преобразованиях указывается нужные параметры для получения нового значения:
Этот select запрос участвует в процессе "преобразования" справочника.
А значит что он не единичный. А - массовый. И скорее всего его надо сделать на стороне БД.
Но мы не можем сделать потому что мы не понимаем всего процесса ETL.
...
Рейтинг: 0 / 0
24 сообщений из 49, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с преобразованием справочников из Java
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]