powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с несколькими БД из сервлетов.
63 сообщений из 63, показаны все 3 страниц
Работа с несколькими БД из сервлетов.
    #39695793
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! Подскажите пожалуйста стоит ли изобретать велосипед или есть готовое решение?
Описываю задачу. Есть Tomcat, есть Servlet, есть БД. При обращении клиента к сервлету, сервлет смотрит в БД, через JDBC драйвер. Нужно усложнить систему таким образом, чтобы при обращении клиента к сервлету, сервлет обращался к нескольким БД и выдавал клиенту обобщённый результат. Если делать обращение к БД последовательными, то ожидание ответа будет долгим. Мне нужно сделать так, чобы обращение к БД было параллельными. Можно каждое обращение запусккать в Thread, но насколько я знаю thread в сервлетах не правильно делать.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695805
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695813
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело не втом что неправльно а в том что сложно сделать это правильно.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695826
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И, кстати, необходим механизм быстрой валидации запросов на СУБД.
Например, препарировать запросы - это, обычно, быстро. Тогда, если все СУБД "в принципе готовы" исполнять подготовленные запросы, то надо "уведомить клиента", отправив ему заголовки и, желательно, начальные байты тела отклика.
Иначе вы, рано или поздно, столкнётесь с тем, что время ожидания отклика не очень велико и его, как правило, невозможно увеличить.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695830
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin,

что за субд?
где находятся бд?
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695934
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin,
Вопрос странный. Параллельно к 5 бд это 5 переменных коннекта.
Если вы про асинхронный запрос, то как вы бедете лепить общий результат не дождавшись все ответы?

lleming,
+1
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695955
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

всё просто если базы на одном сервере - можно сделать в одном запросе. как самое оптимальное - использовать храимки.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695964
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяPetro123,

всё просто если базы на одном сервере - можно сделать в одном запросе. как самое оптимальное - использовать храимки.узко мыслишь.
Нужен паттерн Фасад.
Т.е одна база которая все собирает.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695969
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это обычный бизнес сценарий.

Future в помощь.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695982
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123узко мыслишь.
Нужен паттерн Фасад.
Т.е одна база которая все собирает.понятно, что городить огород это клёво.
но можно все просто сделать в одной хранимке, в одной из баз.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39695988
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяв одной из баз.тебе даже не дошло, что это ровно то что я сказал))
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696010
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123тебе даже не дошло, что это ровно то что я сказал))до меня дошло, что ты хочешь попонтиться придумывая заумные названия.
назвать простое обращение к нескольким базам "паттерн Фасад" - это нечто :)
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696018
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяно можно все просто сделать в одной хранимке, в одной из баз.

чем огород в бд сильно лучше в огорода приложения ?
что если у разраба нет достаточного доступа к БД или скиллов ДБА недостаточно.

Для топикстартера по сути вопроса. Почему все непросто:
thread per request плохой паттерн а в вашем случае, several threads per request. Создание потока дорогостоящая операция, поэтому если создавать по несколько потоков на каждый запрос, сервер может большей частью занят созданием потоков вместо обработки бизнес логики. К тому же jdbc blocking и вновь `c трудом` созданные потоки большей частью скорее всего будут простаивать в ожидании ответа от бд. А еще их нужно как синхронизировать и проверять что все завершены чтобы собрать ответ.
Тут больше смотреть в сторону executorservice (да еще и ограниченной очередью) вместе с completablefuture чтобы как то управлять всем этим без ручной синхронизации.

Особая тема предмета как и когда правильно погасить этот executor service если вдруг сервер будет рестартовать или гаситься. Утечки памяти ибо потоки в executor service не управляются томкатом.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696025
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingчем огород в бд сильно лучше в огорода приложения ?потому, что обращение к разным бд на одном сервере - это стандарт субд, а не огород. для этого достаточно к имени таблицы добавить имя базы.
использование хранимок - позволит собрать из разных баз - в темповые таблицы в памяти и уже из них отправить приложению законченный набор данных

но только это пока предложения - пока нет о том что за данные возвращают каждая из баз и что из себя предполагает их обработка.
llemingчто если у разраба нет достаточного доступа к БД или скиллов ДБА недостаточно.это ещё один вопрос к ТС
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696036
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,
Паттерны, это язык общения программистов.
Ты кроме слова хранимка слова знаешь?
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696041
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Паттерны, это язык общения программистов.
Ты кроме слова хранимка слова знаешь?я не люблю когда общаются заумными словами, когда можно всё выразить простыми и доступными.
как правило заумные фразы используют те кто хочет скрыть свои незнания.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696044
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingСоздание потока дорогостоящая операция, поэтому... существуют асинхронные сервлеты (since Servlet API 3.0), чтобы "на общих основаниях" получать потоки из пула контейнера.
А так - да: или хостить сервлет-контейнер в приложении или, наоборот, приложение в сервлет-контейнере.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696045
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень понимаю, чем потоки и изначальный алгоритм автора топика Вам так не нравятся.

Делал систему, работал в несколько потоков (нужно было посчитать запрос, потом сгенерить 100-1000 реквестов в И-нет за актуальными данными, потом нужно было их объединить и можно было выдать результат). Правда, система была разбита на модули. Вся обработка шла в своем мини-сервере (отдельная JVM на отдельном хосте), Web-часть туда просто задания по RMI отправляла и получала результат.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696050
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадякак правило заумные фразы используют те кто хочет скрыть свои незнания. ещё необразованные, как правило их не понимают.
Leonid KudryavtsevНе очень понимаю, чем потоки и изначальный алгоритм автора топика Вам так не нравятся.
Автор не сказал цель потоков?
Параллелизм? Скорость?
Пусть использует пул потоков. Загрузит все ядра.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696051
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123пул потоков.
Пул коннектов)).
Что в принципе, едино.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696070
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяPetro123узко мыслишь.
Нужен паттерн Фасад.
Т.е одна база которая все собирает.понятно, что городить огород это клёво.
но можно все просто сделать в одной хранимке, в одной из баз.
Автору нужен параллелизм.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696093
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonАвтору нужен параллелизм.в ожидании ответа сервера?
Все выше решения будут работать.
Просто параллелизм в разных местах - сервлет апи, пул, драйвер...
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696491
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дайте пример параллелизма с хранимкой.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696500
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДайте пример параллелизма с хранимкой.да такова там нет, но и не понятно что требуется от параллелизма ТС.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696506
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не понимаешь?
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696507
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНе понимаешь?дословно - если, то всё понятно, но есть но...

вот пример асинхронного jdbc
https://code.google.com/archive/p/async-mysql-connector/wikis/UsageExample.wiki
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696508
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696510
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДайте пример параллелизма с хранимкой.всё зависит от того что подразумевается под окончательной обработкой.
если данные от разных баз можно свести в один результирующий запрос - вот тут и будет параллелилизм.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696512
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты интересный человек. Я поинтересовался - понимаешь ли ты зачем бизнесу нужно параллелное исполнение 2х запросов
из двух разных баз?

Ты вместо ответа - закидал меня странными ссылками. Зачем они мне?
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696548
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonТы интересный человек. Я поинтересовался - понимаешь ли ты зачем бизнесу нужно параллелное исполнение 2х запросов
из двух разных баз?

Ты вместо ответа - закидал меня странными ссылками. Зачем они мне?ссылки для тс..,
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696551
shaden
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А сделать правильную архитектуру вариант не рассматривается?
Намекаю на консолидацию данных в едином хранилище.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696558
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Базы могут быть географически разнесены.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696566
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonДайте пример параллелизма с хранимкой.
тут ты прав конечно. При хранимке не параллелизм, а конечная цель решается другой архитектурой.
Если конечная цель - быстрая консолидация.
А параллелизм - средство достижения .
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696567
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonБазы могут быть географически разнесены.
в двухзвенках не проблема.
Репликация, DB_LINK.
Пусть бы автор сказал - двухзвенка не нужна!
Тогда вадя - в пролёте.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696583
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonБазы могут быть географически разнесены.поэтому и был задан вопрос
вадяMandarin,

что за субд?
где находятся бд?
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696638
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123maytonБазы могут быть географически разнесены.
в двухзвенках не проблема.
Репликация, DB_LINK.
Пусть бы автор сказал - двухзвенка не нужна!
Тогда вадя - в пролёте.
Это - архитектурный вопрос. Возможно заказчик не хочет покупать лицензию на репликатор БД.
Но он хочет (и имеет право!) попросить бизнес-flow реализовать таким образом чтобы сводные
отчоты из двух географически децентрализованных БД извлекались быстрее чем суммарное время
работы этих двух отчотов.

Нормальное пожелание? Да. Реализовать можно? Да.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696766
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНормальное пожелание? Да. Реализовать можно? Да.
Да.
Можно реализовать все способы выше описанные мемберами).
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696769
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как бы вы реализовали? Через репликацию? Или через параллельный пуск 2 отчотов?
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696776
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА как бы вы реализовали? Через репликацию? Или через параллельный пуск 2 отчотов?
это ведь входные данные.
Репликация, OLAP\OLTP\Витрины данных\Региональные базы
это если уже изначально есть данная сеть из нескольких баз.
Её строят не по причине: "мне понадобились 2 параллельных отчёта".
Как бы другой уровень.
...
С другой стороны, DB_LINK с материализованными индексами это тоже решение но без 3-х звенки и Java.
..
Выходит опять - кто на чём умеет тот так и пишет.
В Java можно потоки сделать контейнером. можно самому и можно пулом.
А можно клиентом JavaFX и бэкенд об этом даже не узнает)).
Можно в JS клиенте по REST и тогда спросить автора - в чём вопрос дорогой?
С каких пор клиент не может асинхронные параллельные запросы?
...
Слишком много вариантов и вопрос элементарный.
IMHO
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696801
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяно и не понятно что требуется от параллелизма ТС.
Помогаю прояснить
ТСЕсли делать обращение к БД последовательными, то ожидание ответа будет долгим. или если делать обращение к БД паралельно, то ожидание будет не долгим (как минимум быстрее).

При чем здесь хранимки, репликация, db_link. Если у него компетенция была бы в этом, то этот вопрос ТС бессысленен и врядли был бы задан, по крайней мере в ветке Java.

Вот доставил коммент
вадявот пример асинхронного jdbc
https://code.google.com/archive/p/async-mysql-connector/wikis/UsageExample.wiki

Ассинхронный драйвер mysql (где у ТС указано что у него mysql?), т.е. самописный драйвер который на полуживом хостинге чисто самолюбие потешить? У которого документация в 2 страницы? А если протокол обмена чуть чуть поменяется ТС драйвер сам переделает ? Советую сделать копию с исходников, гугло хостинг в любой момент может исчезнуть.

Уж лучше дождаться когда спецификация ассинхронных драйверов к БД выдет из драфта и появятся полноценные поддерживаемые релизы этих драйверов тогда можно будет и смотреть и решать использовать их или нет.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696805
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вадя http://qaru.site/questions/46525/is-asynchronous-jdbc-call-possible
лучше использовать оригинальный источник, qaru хромают авто переводы. Не знаю как забанить этот проклятый qaru на яндексе вечно выдачу флудит
Оригинал
https://stackoverflow.com/questions/4087696/is-asynchronous-jdbc-call-possible

Ну и не мог не пройти мимо :=)
async драйвера к mysql


async-mysql-connector - issue #1
How to use inside of a normal web app?


This is not a bug report per say, more of a question on usage within a real world application.
....
How should this work in say a servlet 3 based async web app?
....
-----------------------------------------------------------------------------------------
Comment #1
Posted on Nov 24, 2014 by Quick Panda

I want to ask the same question, how to use inside a servlet?
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696807
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У автора - Tomcat/Servlets + база. Вот как-то с такой вводной надо начать. Без лишних усложнений.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696809
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingили если делать обращение к БД паралельно, то ожидание будет не долгим (как минимум быстрее).всё сказанное мной выше без ответа на вопрос
вадяMandarin,

что за субд?
где находятся бд?
носит чисто гипотетический ответ. как один из вариантов.

так же остался вопрос - что значит постобработка результатов запросов к нескольким базам?
если эти запросы можно свести к одному результирующему запросу заключив запросы к базам в подзапросы - то результат будет равносилен "параллельному обращению к базам".
llemingАссинхронный драйвер mysql (где у ТС указано что у него mysql?),
это как пример что есть смылс ( если у тс mysql) воспользоваться .
llemingУж лучше дождаться когда спецификация ассинхронных драйверов к БД выдет из драфта и появятся полноценные поддерживаемые релизы этих драйверов тогда можно будет и смотреть и решать использовать их или нет.а это пусть тс сам решает....
варианты предложены на тех данных что озвучены тс....
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696811
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingлучше использовать оригинальный источник, qaru хромают авто переводыя дал информацию - как тс её воспользуется - его дело, никто ему не мешает дойти и до первоисточника...
maytonУ автора - Tomcat/Servlets + база. Вот как-то с такой вводной надо начать. Без лишних усложнений.предложенные варианты вполне сочетаются с этой вводной...
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696813
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяэто как пример что есть смылс ( если у тс mysql) воспользоваться .
асинхронный драйвер применяется широко в шарпе с сиквелом.
В Java не применяется такой подход.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696814
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123В Java не применяется такой подход.ранее много что не применялось, к примеру лямбды
некоторые и ws игнорировали...
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696817
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадятак же остался вопрос - что значит постобработка результатов запросов к нескольким базам?
если эти запросы можно свести к одному результирующему запросу заключив запросы к базам в подзапросы - то результат будет равносилен "параллельному обращению к базам".

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

maytonУ автора - Tomcat/Servlets + база. Вот как-то с такой вводной надо начать. Без лишних усложнений.
Справедливости ради не одна а несколько БД
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696819
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяPetro123В Java не применяется такой подход.ранее много что не применялось, к примеру лямбды
некоторые и ws игнорировали...
Архитектурно... задача драйвера в другом. Он является адаптером обобщённого прикладного API и API конкретного
сетевого интерфейса БД. И есть у меня большие сомнения что будет хорошим архитектурным решением нагружать
драйвер еще дополнительными задачами помимо тех которые он уже выполняет.

На прикладном уровне данная задача решается через ThreadPoolExecutor, и два экземпляра Futures. И я не вижу
никаких оснований втаскивать сюда новые (непроверенные) виды драйверов. Тем более что еще открытый вопрос
как их асинхронность втащить в парадигму SQL/java/jdbc.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696822
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonИ есть у меня большие сомнения что будет хорошим архитектурным решением нагружать
драйвер еще дополнительными задачами помимо тех которые он уже выполняет.сомнения - это не причина отказа от использования, или хотя бы проверки варианта.
maytonНа прикладном уровне данная задача решается через ThreadPoolExecutor, и два экземпляра Futures.вариантов решения несколько -задача выбрать лучший.
maytonИ я не вижу
никаких оснований втаскивать сюда новые (непроверенные) виды драйверов.пока не вытащишь и сам не проверишь - трудно судить.
maytonТем более что еще открытый вопрос
как их асинхронность втащить в парадигму SQL/java/jdbc.пока не пройдёшь этот путь - вопрос так и останется открытым.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696823
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
llemingСправедливости ради не одна а несколько БДтонкость в расположении этих бд
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696826
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадя,

Мой вариант - лучший. Не сомневайся.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696832
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonМой вариант - лучший. Не сомневайся.да ради бога
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39696846
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяPetro123В Java не применяется такой подход.ранее много что не применялось, к примеру лямбды
некоторые и ws игнорировали...
ты про будущее или про сегодня? LOL )))

maytonАрхитектурно... задача драйвера в другом. Он является адаптером обобщённого прикладного API и API конкретного
сетевого интерфейса БД. И есть у меня большие сомнения что будет хорошим архитектурным решением нагружать
драйвер еще дополнительными задачами помимо тех которые он уже выполняет.
В будущем - не уверен.
Майкрософт решает таким способом заморозку интерфейса в одну строку.
А у нас с JavaFX нужно писать побольше строк чем:
Ридер ридер = Драйвер.ДайСтрокиAsync()
))).
Но это в будущем).
С другой стороны, асинхронность решалась в драйверах уже лет 20 в ADO через:
авторИспользуйте CacheSize свойства, сколько записей следует извлекать за один раз в локальную память от поставщика. Например если CacheSize равно 10, после первого открытия записей объекта, поставщик возвращает первые 10 записей в локальную память. При перемещении по записей объекта, поставщик возвращает данные из буфера локальной памяти.
Удачи аффтару!
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39697014
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! Большое спасибо за толь бурное обсуждение :)
Поясняю некоторые вопросы которые были заданы выше.
1. Под БД я понимаю разные источники данных. Например на одном сервере информация будет храниться в БД MSSQL, на другом в PostgreSQL, на третьем в DBF, а на четвёртом вообще в текстовых файлах. Где хранится информация это не принципиально, важно то, что источники данных отдают структурированную информацию которую я могу объединить и выдать итоговый результат клиенту.
2. Сделать объединение мне нужно параллельно потому, что это быстрее чем последовательно :) Один из участников топика это верно подметил.
3. Для того чтобы не создавать постоянно потоки в сервлетах я хочу использовать пул уже созданных потоков, тут тоже есть варианты либо пользоваться готовым решением либо изобретать велосипед. P/S/ имею пояса всех цветов по изобретению велосипедов :))
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39697018
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опубликуй фрагмент кода как оно щас работает.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39697020
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin,
Написал кучу фигни кроме нужной.
На что и где тратится время, если обычно база отвечает за 0,1 сек?
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39697021
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Сейчас работает очень просто, даже показывать не чего.
Приходит запрос от клиента с параметрами, эти параметры берёт jdbc драйвер выполняет хранимую процедуру и отдаёт результат клиенту.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39697023
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonОпубликуй фрагмент кода как оно щас работает.+1
И логи временные.
А то аффтар даже текстовые субд насобирал.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39697024
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarinдаже показывать не чего.вот так и работай, раз все отлично и нигде не болит.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39697026
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin,

Ты ждешь что тебе дадут готовый исходник сервлета?
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39697042
Фотография Mandarin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Готовый исходник не нужно, я сам сусам, мне нужно понимание стоит изобретать велосипед или есть решения из коробки которые нужно допилить до необходимого состояния.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39697053
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У тебя 4 различных источника данных. Будут разные дрова и разные API. Но
чтобы решать такую задачу общо, нужен некий обобщенный DAO.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
public interface IGenericDao<R,P> {
  R getReport(P parameters);
}

public class MandarinMssqlDao implements IGenericDao<Result, Params> {
  .....
}

public class MandarinDbfDao implements IGenericDao<Result, Params> {
  .....
}

public class MandarinPostfresqlDao...

.....



Реализуешь? Потом расскажу как делать дальше.
...
Рейтинг: 0 / 0
Работа с несколькими БД из сервлетов.
    #39697065
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mandarin,
Сначала реши, ОРМ или jdbc или все в базе и тоже быстро.
...
Рейтинг: 0 / 0
63 сообщений из 63, показаны все 3 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Работа с несколькими БД из сервлетов.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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