|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
Уважаемые форумчане, здравствуйте! Нужен ваш совет. Алгоритм определения изменений схемы данных. Введение: В крупной системе, реализующей минросервисную архитектуру часто возникает необходимость синхронизации горячих данных между различными компонентами (исполняемыми модулями). Как правило единой точкой правды для всех компонентов является СУБД, а именно какая либо схема или набор объектов СУБД. Но частые обращения к этим объектам, в особенности запросы содержащие агрегатные или аналитические функции, негативно влияют на производительность СУБД в целом. Поэтому для разных ситуаций разрабатывают различные тактики определения разности состояний тех или иных объектов СУБД для синхронизации с приложением. Что нужно сделать: Спроектировать алгоритм (фунцию) определяющую есть ли изменения в СУБД или нет начиная с какого-либо времени или идентификатора. Вариации:
Код должен быть покрыт нагрузочными тестами, приведены оценки планов запроса. Написано относительно сложно, суть, как я понимаю, необходимо написать на java какую-нибудь простую реализацию: класс, который будет отслеживать изменения данных. Я гуглил-гуглил и так и этак. Кто-то предлагает на основе анализа журнала транзакций, использовать механизм триггеров. Вроде бы в MS Sql Server и в postgresql есть какие-то встроенные инструменты для этого, кто то предлагал делать это посредством контрольных сумм, в то же время чего-то простого доступного мне найти не удалось. Может быть есть возможность подсказать? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 21:11 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
GrossmasteR, Что будет считаться изменением в СУБД, изменение одного значения в одной из сотен миллионов записей в одной из нескольких тысяч таблиц будет считаться изменением? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 21:20 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
а что есть изменения? схемы или данных которые туда льют? если первое то хз но наверное что то есть если второе - у некоторых бд есть стриминг интерфейс - куда шлются все изменения в реальном или околореальном времени. всё что надо - это просто захендлить этот стрим. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 21:41 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
ну или топорный вариант - написать свой ждбс драйвер, или ой вэй у нас же ооп - отнаследоваться от реального ждбс драйвера и перекрыть те методы что пишут, чтоб они сами стримили данные куда надо когда их просят что-то записать. мне кажется, что речь об этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 21:45 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
GrossmasteR В крупной системе, реализующей минросервисную архитектуру часто возникает необходимость синхронизации горячих данных между различными компонентами (исполняемыми модулями). Как правило единой точкой правды для всех компонентов является СУБД, а именно какая либо схема или набор объектов СУБД. Давайте сделаем микросевисы, а потом поверх них обернем монолит) Сложно комментировать и что-то подсказывать при такой каше в голове, эт не упрек, а скорее камень в сторону модных трендов. Какая нафиг единая точка правды в микросервисной архитектуре(Которая и делается для того чтобы разбить монолит на непересекающиеся участки)? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 22:15 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
GrossmasteR Алгоритм определения изменений схемы данных. Поиск на ключевое слово Репликация. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 22:24 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
забыл ник, +1 ))) единая точка правды)) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 22:25 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
GrossmasteR, Что с вашей прошлой темой? Она одинакова с данной. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 22:27 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
GrossmasteR Введение GrossmasteR Что нужно сделать: Вы забыли самое главное. Вставить между ними абзац Проблема: ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 22:55 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Поиск на ключевое слово Репликация. Куда? Скорее автор топика хочет инвалидацию данных прочитанных из БД микросервисами, чтобы их перечитывать только в случае, если они изменились. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 23:06 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
iOracleDev PetroNotC Sharp Поиск на ключевое слово Репликация. Куда? Скорее автор топика хочет инвалидацию данных прочитанных из БД микросервисами, чтобы их перечитывать только в случае, если они изменились. Предполагаю чего хочет автор даже он сам не знает ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 00:32 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
забыл ник iOracleDev пропущено... Куда? Скорее автор топика хочет инвалидацию данных прочитанных из БД микросервисами, чтобы их перечитывать только в случае, если они изменились. Предполагаю чего хочет автор даже он сам не знает Автор хочет устроиться на работу. Любопытно, где ему выдали такое тестовое задание. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 05:26 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
iOracleDev Скорее автор топика хочет инвалидацию данных прочитанных из БД микросервисами, чтобы их перечитывать только в случае, если они изменились Нет, написано же, что изменение схемы данных: всей целиком, или конкретной таблицы, колонки. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 05:38 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
GrossmasteR Как правило единой точкой правды для всех компонентов является СУБД Это провал, надо пилить монолит взад. На распределённых системах консистентность в конечном счете. Если это ТЗ, то они или нихрена не понимают или это ТЗ типа принеси ведро с жидкой трансмиссией. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 06:01 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
GrossmasteR Написано относительно сложно, суть, как я понимаю, необходимо написать на java какую-нибудь простую реализацию: класс, который будет отслеживать изменения данных. Не данных, а схемы данных. Типа что где-то в схему добавили поле (колонку), переименовали, изменили тип, разнесли по таблицам... ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 06:11 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
crutchmaster Это провал, надо пилить монолит взад. Почему сразу монолит? Написано про какие-то исполняемые модули. Типа есть БД у какого-то сервиса, а ещё есть кэши, поисковые индексы, очереди там всякие. И тут бац, в схеме БД что-то меняется, и в остальных местах надо синхронизировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 06:46 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
iOracleDev PetroNotC Sharp Поиск на ключевое слово Репликация. Куда? Скорее автор топика хочет инвалидацию данных прочитанных из БД микросервисами, чтобы их перечитывать только в случае, если они изменились. Есть данные в БД, и надо убедится что.... они правильные? Он уже прошлый топик так же решил, и результат был никому не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 07:28 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
GrossmasteR В крупной системе, реализующей минросервисную архитектуру ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 07:34 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
skyANA И тут бац, в схеме БД что-то меняется, и в остальных местах надо синхронизировать. Почему в остальных местах должна кого-то волновать чья-то схема в БД? Вот, например, на форуме поменяется схема БД, кого это должно озаботить? И там также. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 07:37 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
crutchmaster skyANA И тут бац, в схеме БД что-то меняется, и в остальных местах надо синхронизировать. Почему в остальных местах должна кого-то волновать чья-то схема в БД? Вот, например, на форуме поменяется схема БД, кого это должно озаботить? И там также. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 08:05 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
PetroNotC Sharp , получилась так, что прошлая тема превратилась в тему про кэш и это правильно, как по мне. Надо было с самого начала разделить эти вопросы. На счет этого вопроса, моего уровня знаний недостаточно, чтобы понять его минусы и "абсурд", который обсуждают форумчане. Как сказал уважаемый skyANA "Автор хочет устроиться на работу". Как я нагуглился, несмотря на удобные современные функции, интерфейсы для работы с БД, могут быть ситуации (вмешательство админа БД, взлом SQL-injection, прямые изменения в БД что еще). Получается, что одного журнала событий прикладной системы недостаточно — необходим аудит изменения данных на уровне базы, который будет дополнительным инструментом для обеспечения безопасности и исключения ошибок при эксплуатации системы. Основным критерием для выбора механизма, обеспечивающего мониторинг, является минимальное влияние внедряемого решения на производительность системы. Я так понимаю, выдавшие задание предлагают "порассуждать" (реализовать несложный алгоритм) на эту тему. Вопрос, как это сделать ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 08:50 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
GrossmasteR, То есть вы сами выдумываете задачи. Раздела ПРОБЛЕМА нет. И вы его боитесь. GrossmasteR Как я нагуглился, несмотря на удобные современные функции, интерфейсы для работы с БД, могут быть ситуации (вмешательство админа БД, взлом SQL-injection, прямые изменения в БД что еще). Получается, что одного журнала событий прикладной системы недостаточно — необходим аудит изменения данных на уровне базы, который будет дополнительным инструментом для обеспечения безопасности и исключения ошибок при эксплуатации системы. Основным критерием для выбора механизма, обеспечивающего мониторинг, является минимальное влияние внедряемого решения на производительность системы. Вот это бред выше. ДОКАЖИТЕ что НЕДОСТАТОЧНО. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 09:01 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
GrossmasteR журнала событий прикладной системы ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 09:03 |
|
Мониторинг изменений в базах данных
|
|||
---|---|---|---|
#18+
GrossmasteR, Ну и старайтесь сопровождать топик. Почаще отвечайте мемберам. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 09:04 |
|
|
start [/forum/topic.php?fid=59&msg=39919656&tid=2120918]: |
0ms |
get settings: |
8ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
65ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
424ms |
get tp. blocked users: |
0ms |
others: | 303ms |
total: | 811ms |
0 / 0 |