powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Несколько db-schemas в одном SpringBoot App - перформенс?
20 сообщений из 20, страница 1 из 1
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39649669
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, есть смысл разделить содержимое приложения по нескольким схамам.
Вычитал, что если в runtime менять базы данных, то выйдет дорого по перформенсу.

Собственно в SpringBoot можно сконфигурировать несколько dataSurces.
https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#howto-two-datasources

Сконфигурировал. Всё работает. Собственно, хотел поинтересоваться, нет ли в этом случае какой-то загвоздки? Не повлияет ли как-то и каким-то образом на перформенс если при старте приложение будет поднимать коннекты к например 5 различным dataSources?
Буду благодарен за мнения..
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39649682
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вас не беспокоит производительность несколько подключений к одной схеме, то не должна беспокоить и производительность нескольких подключений к разным схемам.
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39649686
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. SidorovЕсли вас не беспокоит производительность несколько подключений к одной схеме, то не должна беспокоить и производительность нескольких подключений к разным схемам. - Немного не понял, - это вы ответили так, или просто сарказм?
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39649713
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_перформенспереведи это слово и скажи почему оно тебя беспокоит
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39649724
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ох как я люблю когда пытаются решить проблему, которой нет :)
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39649825
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_ответили такДа, я так ответил.
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39649827
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123_webdev_переведи это слово и скажи почему оно тебя беспокоит
))) performance - в данном случае скорость обработки запроса.

Весь "цыр-бор" в том, что я где-то на stackoverflow прочитал, что менять dataSource в runtime щыень затратная задача. Поэтому у меня и возник вопрос такой.
Конечно же, что dataSource создаются при старте, но хотел переспросить.

Но исходя из ваших ответов, понимаю, что всё ок, и не надо придумывать того чего нет.
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39649834
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_Здравствуйте, есть смысл разделить содержимое приложения по нескольким схамам.
I)
С database pool есть проблема, что кэшь PreparedStatement'ов внутри connection становится общий для всех модулей приложения. Отсюда недостатки:
1. Т.к. один коннекшен радостно передается между модулями, он собирает "мусор" из всех модулей
Соответственно:
2. Смысл кэша пропадает. Т.к. он маленький и нужные запросы из него банально в соседнем модуле вымываются
3. Кэш всегда "забит" под завязку, т.ч. происходит существенный перерасход памяти.

в этом смысле, разделения приложения по нескольким схемам в БД и нескольким подключениям connection pool, может дать определенные выгоды в смысле использования памяти JDBC драйвером.

Разумеется, зависит от грамотности данного "разделения" + специфики конкретных драйверов

Разбирался с безумным потреблением памяти Oracle JDBC драйверов в корпоративной системе.

II)
Разумное разделение всегда полезно в смысле простоты и удобства администрирования. Будет проблема, например ресурс леак (утечка сессий, незакрытые курсоры) -> проще найти место возникновения, проще устранить, меньше потери функциональности и проблемы из-за ошибки (есть надежда, что соседние модули не затронет)
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39649839
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_...менять dataSource в runtime щыень затратная задача....
А зачем кому-то может понадобится менять dataSource в runtime ?

Мне кажется, это примерно тоже самое, что говорить "перезагрузка app сервера в runtime очень затратная задача, поэтому app сервером лучше не пользоваться". Так-то оно так, кто спорит, но зачем сервер нужно перегружать в runtime, есть большая загадка ))).
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39649854
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_,
У тебя смесь три в одном:
- затратное
- во время выполнения
- скорость запроса.
Пиши код и проверяй на практике.
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39649865
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С датасорсами не будет проблем. Их можно подключить к приложению столько штук сколько надо. Но я бы озабочетился свободной памятью для Hiber контекстов и Ehcache если вы таковые используете.
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39649878
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у Спринга есть возможность на лету переключать датасорсы, точнее их конфигурации, через Spring Bus
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39650186
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev_webdev_Здравствуйте, есть смысл разделить содержимое приложения по нескольким схамам.
I)
С database pool есть проблема, что кэшь PreparedStatement'ов внутри connection становится общий для всех модулей приложения. Отсюда недостатки:
1. Т.к. один коннекшен радостно передается между модулями, он собирает "мусор" из всех модулей
Соответственно:
2. Смысл кэша пропадает. Т.к. он маленький и нужные запросы из него банально в соседнем модуле вымываются
3. Кэш всегда "забит" под завязку, т.ч. происходит существенный перерасход памяти.

в этом смысле, разделения приложения по нескольким схемам в БД и нескольким подключениям connection pool, может дать определенные выгоды в смысле использования памяти JDBC драйвером.

Разумеется, зависит от грамотности данного "разделения" + специфики конкретных драйверов

Разбирался с безумным потреблением памяти Oracle JDBC драйверов в корпоративной системе.

II)
Разумное разделение всегда полезно в смысле простоты и удобства администрирования. Будет проблема, например ресурс леак (утечка сессий, незакрытые курсоры) -> проще найти место возникновения, проще устранить, меньше потери функциональности и проблемы из-за ошибки (есть надежда, что соседние модули не затронет) - пасибо за объяснение,
Может я просто ещё не работал с высоко нагруженными системами, или не понимаю чего, но. Такого как незакрытые курсоры и так д... Для этого сейчас есть SpringDataJpa, чтоб не парсить ResultSet-ы и так д..
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39650187
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid KudryavtsevА зачем кому-то может понадобится менять dataSource в runtime ? - Я просто сказал, что прочитал на stackoverflow - к сожалению, не могу найти ссылку на пост, где о этом было написано.


Leonid KudryavtsevМне кажется, это примерно тоже самое, что говорить "перезагрузка app сервера в runtime очень затратная задача, поэтому app сервером лучше не пользоваться". Так-то оно так, кто спорит, но зачем сервер нужно перегружать в runtime, есть большая загадка ))). - ответил выше.
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39650188
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123У тебя смесь три в одном:
- затратное
- во время выполнения
- скорость запроса.
Пиши код и проверяй на практике. - да, для особого тестирования пока времени, как всегда, не хватает, поэтому, если мысль залезла в голову, то лучше спросить глупость, но спросить..
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39650191
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonС датасорсами не будет проблем. Их можно подключить к приложению столько штук сколько надо. Но я бы озабочетился свободной памятью для Hiber контекстов и Ehcache если вы таковые используете. - Вот на счёт "Hiber контекстов" - спасибо. Ehcache - да, есть, но пока я не очень активно его внедряю, пока не вижу надобности. Так как данные динамичны и приходят с различных источников, строить для этого кэш - думаю в моём случае будет затратно очень, плюс отличное место для ошибок..
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39650192
_webdev_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Герой дняу Спринга есть возможность на лету переключать датасорсы, точнее их конфигурации, через Spring Bus - насколько я погуглил - речь идёт о spring-cloud, где есть несколько микросервисов и так д, у меня пока один проект.
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39650212
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше все таки решать вопросы по мере поступления. И пока не оптимизировать то чего нет.
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39650248
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_Petro123У тебя смесь три в одном:
- затратное
- во время выполнения
- скорость запроса.
Пиши код и проверяй на практике. - да, для особого тестирования пока времени, как всегда, не хватает, поэтому, если мысль залезла в голову, то лучше спросить глупость, но спросить..
извини, ветка форума программистов.
Т.е. это например, я начал писать и....спрашиваю по мере написания.
2. Когда я пишу, я всегда стараюсь сломать систему если не знаю как она отреагирует.
Своеобразное Unit тестирование.
Где код?
...
Рейтинг: 0 / 0
Несколько db-schemas в одном SpringBoot App - перформенс?
    #39650346
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_webdev_Герой дняу Спринга есть возможность на лету переключать датасорсы, точнее их конфигурации, через Spring Bus - насколько я погуглил - речь идёт о spring-cloud, где есть несколько микросервисов и так д, у меня пока один проект.

ну да, хотя, может быть, если и без cloud механизм изменения параметров датасурса
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Несколько db-schemas в одном SpringBoot App - перформенс?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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