powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Зачем все пилят монолит?
25 сообщений из 172, страница 1 из 7
Зачем все пилят монолит?
    #40061552
shurka22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, привет.

За последние 4 года работал в двух компаниях, где все "распиливают монолит". Что это значит: есть большая легаси оракловая база данных, где вся логика зашита в plsql процедуры. Скорость работы - почти на пределе возможности весьма недешёвой железки.
Набрана куча народу в разработку, они по-немногу весь функционал переделывают в микросервисы (на джаве).

У меня большой вопрос: какова цель этого действа?
Правильно я понимаю, что пока мы не распилим саму базу на кусочки (на несколько независимых баз), то мы не получим выигрыш в быстродействии?

Объясню тезис про распил базы.
Грубо говоря: если база крутится на одной машине, то чтобы получить ускорение существующией базы в 2 раза, нужно заплатить за железку в 4 раз больше денег.
Если же мы распилим одну базу на 2 независимых кусочка (с некоторой самопальной интеграцией, которая жрёт немного ресурсов), то чтобы ускорить работу, нам надо будет докупить железку такую же, как сейчас. Тратим денег в 2 раза меньше! Разумеется, не считая денег, потраченных на распил монолита.

Джава-разработчики, кого я спрашивал, не могут внятно ответить на этот вопрос. Типа: мне сказали копать, я и копаю.
Дополнительно говорят умные слова, мол:
1) простота установки
2) независимость (упал один сервис, но он не потянул за собой все остальные сервисы)
3) А вот про быстродействие никто внятно не ответил.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061560
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shurka22
У меня большой вопрос: какова цель этого действа?

Большую кучу говна растаскивают на маленькие. Зачем? В большую надо нырять уходя с головой, а в мелкие достаточно погрузиться руками по локоть.
Ну и масштабирование вширь и пр. бла-бла-бла.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061566
shurka22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
crutchmaster

Большую кучу говна растаскивают на маленькие. Зачем? В большую надо нырять уходя с головой, а в мелкие достаточно погрузиться руками по локоть.

Это можно решить и в рамках одной базы: каждая кучка крутится в своей схеме.
Должно работать заметно быстрее, чем если логику вытащить наружу из базы.

Правильно я понимаю, что вынос логики из оракл-пакетов наружу в джаву - не даст прироста производительности без распила самой базы? А даже скорее наоборот - производительность просядет.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061568
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shurka22
Это можно решить и в рамках одной базы

Не можно.

shurka22
Должно работать заметно быстрее

Кому должно и на каком основании? EAV будет работать херово. Графы будут работать херово.

shurka22
чем если логику вытащить наружу из базы.

В абсолютно любых случаях? Тут наша дискуссия из технической становится религиозной.

shurka22
Правильно я понимаю, что вынос логики из оракл-пакетов наружу в джаву - не даст прироста производительности без распила самой базы?

В общем случае нельзя сделать однозначного вывода.
Но если пилят, значит есть смысл пилить.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061572
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shurka22
Коллеги, привет.

У меня большой вопрос: какова цель этого действа?


Очень просто и грубо говоря.
Решение проблем со сложностью проекта.
Перенос части сложности на "уровень вверх".
С уровня кода на архитектуру связей.


shurka22

Правильно я понимаю, что пока мы не распилим саму базу на кусочки (на несколько независимых баз), то мы не получим выигрыш в быстродействии?

Дополнительно говорят умные слова, мол:
1) простота установки
2) независимость (упал один сервис, но он не потянул за собой все остальные сервисы)
3) А вот про быстродействие никто внятно не ответил.


1) CI/CD (рядом где-то должен быть DevOps)
2) Горизонтальное масштабирование (см. kubernetes)
3) Массивное распаралелливание (см пункт 2)

На самом деле это просто "стильно, модно, молодежно". И позволяет раздуть штат программистов. ;-)
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061576
shurka22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
crutchmaster
В абсолютно любых случаях? Тут наша дискуссия из технической становится религиозной.

Нет конечно, не в любых случаях. Но логика в нашей базе не сильно сложная: тут добавить, там отнять. Никаких квадратных уравнений мы в базе не рассчитываем, и уж тем более - не декодируем видео.
Насколько я понимаю, основаная нагрузка на базу - это работа связанная непосредственно с DML.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061581
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shurka22,
я так понял все работает на пределе и вертикальное масштабирование уже или не помогает или невозможно. нужна возможность распределения нагрузки. это можно сделать по разному, но микросервисы сейчас модно
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061584
17-77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а подскажите - в оркале можно сделать кластер, распределить данные и чтобы хранимки могли выполняться так будто есть только одна база?
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061589
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shurka22,
может просто нанять грамотного DBA?
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061592
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
17-77
а подскажите - в оркале можно сделать кластер, распределить данные и чтобы хранимки могли выполняться так будто есть только одна база?


из анекдотаПетька ты прав, но есть нюансы...



Сделать можно, но:
1) RAC option, это +40% стоимости к Enterprise Edition
2) Требуется дополнительное недешевое оборудование
3) Настоятельно сразу рекомендуется проектировать систему учитывающую специфику RAC
4) не все задачи, (хотя и многие), дадут выигрыш в RAC среде

Есть конечно "волшебная таблетка" - ExaData, но см. пункт 4.
Если подготовите нагрузочное тестирование, есть шанс договорится попробовать как Ваша система поведет в окружении exadata.

p.s. вынос логики на middle layer, позволяет экономить "золотые" процессорные лицензии на RDBMS + позволяет отвязаться/(значительно снизить стоимость миграции) от выбора конкретной базы, что снижает глобальные бизнес риски.

p.s. родная Oracle OeBS, спроектированная на экстремальные нагрузки, практически не использует constraints.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061593
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aliona
shurka22,
может просто нанять грамотного DBA?


ЯТД, там еще и грамотный архитектор не помешает
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061611
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shurka22
Коллеги, привет.

За последние 4 года работал в двух компаниях, где все "распиливают монолит". Что это значит: есть большая легаси оракловая база данных, где вся логика зашита в plsql процедуры. Скорость работы - почти на пределе возможности весьма недешёвой железки.
Набрана куча народу в разработку, они по-немногу весь функционал переделывают в микросервисы (на джаве).

У меня большой вопрос: какова цель этого действа?
Правильно я понимаю, что пока мы не распилим саму базу на кусочки (на несколько независимых баз), то мы не получим выигрыш в быстродействии?

Если в результате им удасться разделить систему например на онлайн-транзакции и
хранилище - то это хороший результат. Или на CQRS.

Но конечно надо зорко следить чтобы не понадобилось покупать еще более дорогую железку.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061613
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shurka22

Джава-разработчики, кого я спрашивал, не могут внятно ответить на этот вопрос. Типа: мне сказали копать, я и копаю.
Дополнительно говорят умные слова, мол:
1) простота установки
2) независимость (упал один сервис, но он не потянул за собой все остальные сервисы)
3) А вот про быстродействие никто внятно не ответил.

А они и не смогут ответить потому что этот распил - не требование а архитектурная философия.
Эволюционный процесс, если можно так сказать. Фоном также идет задача упрощения понимания
сложной системы. Типа тут отсылка к закону Деметры. Но к Деметре они еще сбоку пришили кучу
умных слов типа простоты установки и отказоустойчивости каждого сервиса по отдельности.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061619
Фотография stdio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shurka22
Коллеги, привет.

За последние 4 года работал в двух компаниях, где все "распиливают монолит". Что это значит: есть большая легаси оракловая база данных, где вся логика зашита в plsql процедуры. Скорость работы - почти на пределе возможности весьма недешёвой железки.
Набрана куча народу в разработку, они по-немногу весь функционал переделывают в микросервисы (на джаве).

У меня большой вопрос: какова цель этого действа?
Правильно я понимаю, что пока мы не распилим саму базу на кусочки (на несколько независимых баз), то мы не получим выигрыш в быстродействии?

Объясню тезис про распил базы.
Грубо говоря: если база крутится на одной машине, то чтобы получить ускорение существующией базы в 2 раза, нужно заплатить за железку в 4 раз больше денег.
Если же мы распилим одну базу на 2 независимых кусочка (с некоторой самопальной интеграцией, которая жрёт немного ресурсов), то чтобы ускорить работу, нам надо будет докупить железку такую же, как сейчас. Тратим денег в 2 раза меньше! Разумеется, не считая денег, потраченных на распил монолита.

Джава-разработчики, кого я спрашивал, не могут внятно ответить на этот вопрос. Типа: мне сказали копать, я и копаю.
Дополнительно говорят умные слова, мол:
1) простота установки
2) независимость (упал один сервис, но он не потянул за собой все остальные сервисы)
3) А вот про быстродействие никто внятно не ответил.
Overview of Oracle Sharding
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061624
x0125
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin

ЯТД, там еще и грамотный архитектор не помешает


shurka22
...

Но конечно надо зорко следить чтобы не понадобилось покупать еще более дорогую железку.


Как же это выполнить если вся страна давно сидит на Красной или Белой таблэтке

-- Сервер 1.5 ТБ ОЗУ, 2 процессора по 36 ядер , SSD 30Тб 2Гб / сек запись
-- База с 2017 года - количество записей 50-70 млн записей В ДЕНЬ в этом году

#1# Сводные продажи по магазин + товар с 2017 года
2017-2018 год в среднем 3,5 млн записей в день 500 товаров * 7000 магазинов записей
2019-2021 год в среднем 7 млн записей в день 700 товаров * 10000 магазинов
Итого: 5 млрд записей
#2# Остатки на каждый день по магазин+ товар c 2019 года
2000 товаров * 10000 магазинов - 20 млн записей в день
Итого: 15 млрд записей


stdio

...
3) А вот про быстродействие никто внятно не ответил.



Overview of Oracle Sharding

Не прячьте ваши денежки по банкам и углам,
Несите ваши денежки, иначе быть беде...


Это же one way ticket нашего Бурана - всех с днем космона ф тики!
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061640
andreymx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shurka22
Грубо говоря: если база крутится на одной машине, то чтобы получить ускорение существующией базы в 2 раза, нужно заплатить за железку в 4 раз больше денег.

а как вы пришли к такой экстраполяции?


ЗЫ: у миллсапа был пример
когда покупка дорогого железа привела к еще большим тормозам
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061646
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тяготеет к закону Амадала.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061650
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x0125

Это же one way ticket нашего Бурана

Про Буран вы ничего не путаете?
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061671
Anti_Hacker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отвечу за разработчиков. При нормальном распиле монолита, каждый микро-сервис в результате которому нужна база получает свою базу. Чужие сервисы не лезут в чужую базу. Общение происходит либо через API либо Messaging (RabbitMQ, Serivce Bus...).

Для чего это делается? Ответ простой, чтобы сервисы были маленькие, легко заменяемые, тестируемые и можно было бы деплоить по отдельности.

К примеру у нас 100+ микро-сервисов. Не всем нужна база, иногда используем Blob Storage. Баз на порядок меньше, пул не большой 20-30.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061685
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я полностью понимаю сомнения Ораклиста. Он - видит проблемы например в самом факте внесения задержек
в части одной монолитной системы. Это всё равно что процессор разбить молотком на осколки а потом
их собрать с помощью медных проводов и разнести на 100 километров и заставить это все работать.
Разумеется латентность скушает весь перформанс.

Тоесть само по себе разбиение базы и PL/SQL кода должно быть переосмыслением системы. И разделением
ее на независимые базы со слабой связностью и слабой репликацией. И никаких JOINS между этими
базами не должно быть.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061686
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shurka22

Набрана куча народу в разработку, они по-немногу весь функционал переделывают в микросервисы (на джаве).

У меня большой вопрос: какова цель этого действа?.


Ментальные способности современных IT-специалистов совсем не факт, что высокие и адекватные.
Чаще всего (IMHO) это мода и подражание одной обезьянки другой обезьянки.

Да, монолитную БД трудно масштабировать, дорого содержать и всё такое.
Но если её распилить, у системы появляются совсем новые, другие свойства, и, главное -- исчезают старые,
а именно: монолитная БД хороша чем? Надо тебе из одного модуля взать данные от другого модуля - пожалуйста!
Нет проблем! Протянул руку (написал запрос) и взял -- они твои!
Лёгкость межмодульной интеграции неимоверная!

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

Ну и в чём преимущество?
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061687
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shurka22


Правильно я понимаю, что вынос логики из оракл-пакетов наружу в джаву - не даст прироста производительности без распила самой базы? А даже скорее наоборот - производительность просядет.


Нет, неправильно. Может дать, а может не дать, а может вообще ничего не поменяется.
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061689
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anti_Hacker
Отвечу за разработчиков. При нормальном распиле монолита, каждый микро-сервис в результате которому нужна база получает свою базу. Чужие сервисы не лезут в чужую базу. Общение происходит либо через API либо Messaging (RabbitMQ, Serivce Bus...).


Ну , так которое (общение) надо проектировать, администрировать, реализовывать, мониторить...
СМЫСЛ КАКОЙ?

Для чего это делается? Ответ простой, чтобы сервисы были маленькие, легко заменяемые, тестируемые и можно было бы деплоить по отдельности.


Нет ничего более просто тестируемого чем кусок SQL кода..
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061701
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv

Нет ничего более просто тестируемого чем кусок SQL кода..


и что, где-то в серьез существуют проекты где как полагается поднимается оракл с партишенами в докере, разворачиваются таблицы, заполняются и тестируется pl/sql код каждого пекеджа ?
...
Рейтинг: 0 / 0
Зачем все пилят монолит?
    #40061714
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1
MasterZiv

Нет ничего более просто тестируемого чем кусок SQL кода..


и что, где-то в серьез существуют проекты где как полагается поднимается оракл с партишенами в докере, разворачиваются таблицы, заполняются и тестируется pl/sql код каждого пекеджа ?

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


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