powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Зачем все пилят монолит?
25 сообщений из 172, страница 4 из 7
Зачем все пилят монолит?
    #40061969
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andreymx
этот всё потому, что у вас архитектора/идеолога нет

Был. Уволился. Так-то используем отдельный сервак для такого. Никто не видел и не видит смысла плясать от схемы - много вопросов, много возможностей наделать дел.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061987
Melkomyagkii_newbi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Sayan Malakshinov
хотел бы увидеть хоть один реальный, не надуманный пример, когда вынос логики из базы на апп.сервер реально поможет снизить нагрузку...
Куча операторов, принимающих заказы.
Сервер приложений может самостоятельно грузить текущие остатки, вычитывать обновления и разрешать конфликты типа "этому клиенту не хватает товара". Т.е. вместо сотни конкурентных подключения от каждого оператора будут единичные подключения от одного или нескольких серверов приложений.
Задача сервера приложений - "заливать" в базу данные и вычитывать их оттуда максимально упорядоченным и бесконфликтным образом.


понятно что без коннекшн пуллинга никто не работает. спор о разнице - делает аппсервер это с помощью апи торчащего из базы(хранимки - получи/запиши/обработай) или у себя логика + prepared statements.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061988
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQL*Plus
Leonid Kudryavtsev
пропущено...

Вроде для целей development Oracle всегда был бесплатен. Т.ч. нет, не потребуется. AFAIK

Нет.
Конечный пользователь должен лицензировать все используемые им базы данных:
Production, Development, Test, Standby, Staging.


По крайне мере в данном документе Development от Test отделяют.

https://www.oracle.com/assets/databaselicensing-070584.pdf

Вообще, вопрос спорный.

Но в крупных проектах я участвовал только во внедрениях OeBS, CC&B, а там действовал принцип "купившему OeBS, все остальное бесплатно" ( C )

Ну и совсем давно (в 2000-ом) ставили Oracle в very ))) small business, но было партнерское соглашение с Oracle, т.ч. так же, проблем с лицензиями не было. Ну если и были - то решались персональным разрешением от европейского офиса трактовать спорные моменты в свою пользу

AFAIK по опыту.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061995
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Melkomyagkii_newbi
понятно что без коннекшн пуллинга
Речь не про пул подключений, а о возможности принципиально уменьшить конкуренцию запросов в базе. Пул подключений (сам по себе) конкуренцию не уменьшает - он уменьшает накладные расходы на создание потенциально конкурирующих подключений.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062006
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
mad_nazgul
Затем что один инстанс на все тесты не прокатит.
Т.к. тесты добавляются/убираются и т.д.
Кроме того они должны выполнятся параллельно.
Т.е. чтобы не иметь проблем на каждый тест должен быть свой инстанс БД.
Возможно вас это удивит, но один экземпляр СУБД умеет обслуживать несколько баз (схем) данных.


Возможно вас удивит, но входные тестовые данные должны быть не изменяемыми для теста.
В т.ч. название БД, схемы и пр. :-)
Т.е. в лучшем случае можно делать тесты последовательно.

Но всё равно, для unit-теста это большие накладные расходы.
Удаление/создание БД и заполнение тестовыми данными.

Для интеграционных это норм.

На одно "соседнем" проекте было 12 тестовых БД.
Потом у них было приключение "сводить" всё это в одну.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062009
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulВозможно вас удивит, но входные тестовые данные должны быть не изменяемыми для теста.
В т.ч. название БД, схемы и пр. :-)

У Вас название БД, используемой для тестов, захардкожено?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062022
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1
AmKad
пропущено...
Начиная с 12-ой версии в Oracle есть CDB + PDB.

+ 17,500 USD за процессор.

Начиная с версии 19с, можно использовать не более трех PDB, не приобретая опцию Multitenant.

Если потребуется подключить / создать в контейнере четвертую PDB, тогда нужно будет купить опцию Multitenant.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062027
SQL*Plus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev
SQL*Plus
пропущено...

Нет.
Конечный пользователь должен лицензировать все используемые им базы данных:
Production, Development, Test, Standby, Staging.


По крайне мере в данном документе Development от Test отделяют.

https://www.oracle.com/assets/databaselicensing-070584.pdf

Вообще, вопрос спорный.

По-моему, в этом документе всё однозначно написано:
как только создаваемая система начинает обрабатывать реальные данные,
лицензия разработчика OTN не подходит и необходимо купить обычную лицензию.
https://www.oracle.com/assets/databaselicensing-070584.pdfSubject to the full terms of the
OTN License Agreement, this limited license allows the user to develop
applications using the licensed products as long as such applications have not
been used for any data processing, business, commercial, or production
purposes

И для Test нужно купить лицензию.
автор Test Environment: All programs used in a test environment must be licensed
under an OMA, OLSA, or other appropriate Oracle (or Oracle authorized reseller) license agreement.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062034
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Basil A. Sidorov
Sayan Malakshinov
хотел бы увидеть хоть один реальный, не надуманный пример, когда вынос логики из базы на апп.сервер реально поможет снизить нагрузку...
Куча операторов, принимающих заказы.
Сервер приложений может самостоятельно грузить текущие остатки , вычитывать обновления и разрешать конфликты типа "этому клиенту не хватает товара". Т.е. вместо сотни конкурентных подключения от каждого оператора будут единичные подключения от одного или нескольких серверов приложений.
Задача сервера приложений - "заливать" в базу данные и вычитывать их оттуда максимально упорядоченным и бесконфликтным образом.
где детали? Почему мы должны считать, что это эффективнее? Не вижу ничего о консистентности.

зы. Была давненько хорошая презентация, где действительно использовался правильный подход и для этого использовался Oracle Coherence, но это крайне сложно...
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062051
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sayan Malakshinov
Basil A. Sidorov
пропущено...
Куча операторов, принимающих заказы.
Сервер приложений может самостоятельно грузить текущие остатки , вычитывать обновления и разрешать конфликты типа "этому клиенту не хватает товара". Т.е. вместо сотни конкурентных подключения от каждого оператора будут единичные подключения от одного или нескольких серверов приложений.
Задача сервера приложений - "заливать" в базу данные и вычитывать их оттуда максимально упорядоченным и бесконфликтным образом.
где детали? Почему мы должны считать, что это эффективнее? Не вижу ничего о консистентности.

зы. Была давненько хорошая презентация, где действительно использовался правильный подход и для этого использовался Oracle Coherence, но это крайне сложно...

Почему очень сложно? Кохеренс - это кеширующий слой для приложений. То-же самое что и Apache Ignite для Сбербанка.
Только Кохеренс делает Тони Старк а Игнайт - хороший православный чел.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062061
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
mayton
Почему очень сложно?
сложность в соблюдении всех буковок из ACID, и, особенно, для уже существующих больших систем с кучей подсистем, обвязок, различных приложений и интеграций.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062062
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Одно дело какой-нибудь сайт: потерялись изменения - ну и хрен с ним, пользователь не помрет - повторит все заново. Другое дело, перевод денег со счета на счет: с одного снялись, на другой не попали - звони в тп - ручками поправят
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062078
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sayan Malakshinov
Одно дело какой-нибудь сайт: потерялись изменения - ну и хрен с ним, пользователь не помрет - повторит все заново. Другое дело, перевод денег со счета на счет: с одного снялись, на другой не попали - звони в тп - ручками поправят

вы там на периферии дикие какие-то. где же ты видел что бы банковские транзакции в рамкой одной бд происходили ? это всегда туча сервисов, начиная с VISA/Mastercard, заканчивая парой банков посредников.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062088
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul
Возможно вас удивит, но входные тестовые данные должны быть не изменяемыми для теста.
В т.ч. название БД, схемы и пр. :-)
Если вы прибиваете гвоздями названия схем, имена хостов и т.п. подобные "переменные окружения", то у меня для вас неприятные новости: ваши тесты - отстой.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062090
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sayan Malakshinov
Одно дело какой-нибудь сайт: потерялись изменения - ну и хрен с ним, пользователь не помрет - повторит все заново. Другое дело, перевод денег со счета на счет: с одного снялись, на другой не попали - звони в тп - ручками поправят

Ты мобилу пополняешь когда-нибудь? Видел, сколько шагов такая операция занимает?
Это - тоже не в рамках одного закона ACID происходит. Не одним UPDATE-ом...
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062096
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Sayan Malakshinov
Одно дело какой-нибудь сайт: потерялись изменения - ну и хрен с ним, пользователь не помрет - повторит все заново. Другое дело, перевод денег со счета на счет: с одного снялись, на другой не попали - звони в тп - ручками поправят

Ты мобилу пополняешь когда-нибудь? Видел, сколько шагов такая операция занимает?
Это - тоже не в рамках одного закона ACID происходит. Не одним UPDATE-ом...


AFAIK
Visa транзакции к ACID вообще никаким боком.

По правилам Visa (которые наши банки явно нарушают), вообще любую транзакцию в течении месяца можно взат вернуть простым заявлением в банк (для Российских банков и Сбербанка в том числе правила разумеется не писаны, они на такую просьбу пошлют к участковому. "С Вашей карточки деньги украли, вот пусть участковый по месту вашего жительства и разбирается" ( C ) Сбербанк )
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062104
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
Если вы прибиваете гвоздями названия схем, имена хостов и т.п. подобные "переменные окружения", то у меня для вас неприятные новости: ваши тесты - отстой.
так это же текущий тренд: у контейнеров свое пространство имен, поэтому хост с БД можно называть "db"
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062105
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Факт подтверждение оплаты по кредитным карточкам с деньгами связан крайне опосредовано.

В том же самом Сбербанке, сайте апрувметн на платеж (пользовать корректно авторизовался) вернет в режиме близком к реалтайм, а вот деньги все равно придут одним платежом через день за все операции в предыдущие сутки.

Никакой транзакции в рамках одной БД не будет.

Деньги списались, повисли в между-модульном-пространстве (где-то ходят по банкам), на следующие сутки дошли или не дошли ))) или дошли не полностью или дошли с ошибками /в Сбербанке - запросто AFAIK )))/, банковская выписка загрузилась /или вбита руками/ в систему клиента.

Дофига транзакций и никакого ACID.

AFAIK
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062109
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
H5N1
Sayan Malakshinov
Одно дело какой-нибудь сайт: потерялись изменения - ну и хрен с ним, пользователь не помрет - повторит все заново. Другое дело, перевод денег со счета на счет: с одного снялись, на другой не попали - звони в тп - ручками поправят

вы там на периферии дикие какие-то. где же ты видел что бы банковские транзакции в рамкой одной бд происходили ? это всегда туча сервисов, начиная с VISA/Mastercard, заканчивая парой банков посредников.
Охъ, ну и каша у тебя в голове...
Во-первых, почему сразу банки? А не Sony, не Амазон, ни Озон, например?
Во-вторых, а где это у вас "там" не периферия?
В-третьих, сразу видно, что даже о банках у тебя посредственные знания. Например, я могу в веллс фарго перевести со своего депозитного счета на депозитный счет жены, и, представь, они оба не картсчета :)
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062111
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
mayton
Ты мобилу пополняешь когда-нибудь? Видел, сколько шагов такая операция занимает?
Это - тоже не в рамках одного закона ACID происходит. Не одним UPDATE-ом...
Причем тут один апдейт или одна операция? Речь про потерю кэша или его несогласованность. Верность и надежность кэшей одна из самых сложных вещей.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062114
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

mad_nazgulВозможно вас удивит, но входные тестовые данные должны быть не изменяемыми для теста.
В т.ч. название БД, схемы и пр. :-)

У Вас название БД, используемой для тестов, захардкожено?


Нет.
Но кто в автоматических тестах будет менять подключение к БД?
Да они хранятся вне приложения.
Но все равно кто-то должен передать строку подключения.
Я пока не видел, чтобы на лету можно было переподключаться к разным БД.

Ну или перед тестом автоматом создать БД, сохранить соответствующие настройки (желательно в git).
Потом запускать тесты.

Что-то слишком много телодвижений для unit-тестов.

Для интеграционных - это нормально.
Т.к. они могут долго выполнятся.

Но для unit-тестов это нафиг не надо.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062115
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
mad_nazgul
Возможно вас удивит, но входные тестовые данные должны быть не изменяемыми для теста.
В т.ч. название БД, схемы и пр. :-)
Если вы прибиваете гвоздями названия схем, имена хостов и т.п. подобные "переменные окружения", то у меня для вас неприятные новости: ваши тесты - отстой.


Они где-то всё равно должны лежать, например в настройках.
Пусть у нас 12 тестов SQL-скриптов.
Чтобы их запустить параллельно нужно 12 таких настроек.
Кто их будет делать?

<:o)
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062117
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
джобы, которые что-то делают и рассылают почту
перевести на шедулеры, которые будут вызвать те же процедуры, но сами будут отсылать почту, но уже без БД
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062119
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Leonid Kudryavtsev
Дофига транзакций и никакого ACID.
Ну, почему, в большинстве таких примеров, все же есть ACID на уровне микротранзакций с их фиксацией в базе/базах (естественно, сложные многоступенчатые операции с возможностью отмены на каждом из шагов состоят из микротранзакций, с возможностью их повтора, но не потери).
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40062120
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей Панфилов
Basil A. Sidorov
Если вы прибиваете гвоздями названия схем, имена хостов и т.п. подобные "переменные окружения", то у меня для вас неприятные новости: ваши тесты - отстой.
так это же текущий тренд: у контейнеров свое пространство имен, поэтому хост с БД можно называть "db"


Ну использовать на проде БД в docker - ИМХ такая себе идея.
А вот для части интеграционных тестов - почему бы и нет.
Как минимум получаем контролируемое окружение.

Но все равно. В настройках где-то прописаны настройки подключения к БД, в т.ч. хост, название БД, логин/пароль.

Если тестировать, то по хорошему нужно для каждой поднятой БД эти настройки писать и как-то передать приложению.
Желательно автоматом.

Поэтому docker - норм решение, чтобы протестировать какую-то логику работы с БД.

Т.к. это проще, чем поднимать на каждый тест БД на уже существующем хосте.
Как бы в docker - это уже будет сделано. Главное туда скрипты закинуть для инициализации данных.
...
Рейтинг: 0 / 0
25 сообщений из 172, страница 4 из 7
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Зачем все пилят монолит?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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