powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Мониторинг изменений в базах данных
25 сообщений из 153, страница 1 из 7
Мониторинг изменений в базах данных
    #39919656
GrossmasteR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые форумчане, здравствуйте!
Нужен ваш совет.

Алгоритм определения изменений схемы данных.
Введение:
В крупной системе, реализующей минросервисную архитектуру часто возникает необходимость синхронизации горячих данных между различными компонентами (исполняемыми модулями). Как правило единой точкой правды для всех компонентов является СУБД, а именно какая либо схема или набор объектов СУБД. Но частые обращения к этим объектам, в особенности запросы содержащие агрегатные или аналитические функции, негативно влияют на производительность СУБД в целом. Поэтому для разных ситуаций разрабатывают различные тактики определения разности состояний тех или иных объектов СУБД для синхронизации с приложением.
Что нужно сделать:
Спроектировать алгоритм (фунцию) определяющую есть ли изменения в СУБД или нет начиная с какого-либо времени или идентификатора.
Вариации:
  • Вычисление изменение всей схемы целиком.
  • Вычисление изменений заданных объектов (таблиц, колонок).
  • Вычисление, реализованное только на JAVA без использования системных объектов СУБД.
  • (повышенной сложности) Вычисление, реализованное только на SQL на СУБД Postgres.
  • Вычисление допускает введение дополнительных сущностей в схему данных, либо рекомендации к проектированию схемы.
Критерии оценки:
Код должен быть покрыт нагрузочными тестами, приведены оценки планов запроса.

Написано относительно сложно, суть, как я понимаю, необходимо написать на java какую-нибудь простую реализацию: класс, который будет отслеживать изменения данных.

Я гуглил-гуглил и так и этак. Кто-то предлагает на основе анализа журнала транзакций, использовать механизм триггеров. Вроде бы в MS Sql Server и в postgresql есть какие-то встроенные инструменты для этого, кто то предлагал делать это посредством контрольных сумм, в то же время чего-то простого доступного мне найти не удалось. Может быть есть возможность подсказать?
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919659
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR,

Что будет считаться изменением в СУБД, изменение одного значения
в одной из сотен миллионов записей в одной из нескольких тысяч таблиц
будет считаться изменением?
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919665
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что есть изменения? схемы или данных которые туда льют?

если первое то хз но наверное что то есть если второе - у некоторых бд есть стриминг интерфейс - куда шлются все изменения в реальном или околореальном времени. всё что надо - это просто захендлить этот стрим.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919666
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну или топорный вариант - написать свой ждбс драйвер, или ой вэй у нас же ооп - отнаследоваться от реального ждбс драйвера и перекрыть те методы что пишут, чтоб они сами стримили данные куда надо когда их просят что-то записать. мне кажется, что речь об этом.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919676
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR

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


Давайте сделаем микросевисы, а потом поверх них обернем монолит) Сложно комментировать и что-то подсказывать при такой каше в голове, эт не упрек, а скорее камень в сторону модных трендов. Какая нафиг единая точка правды в микросервисной архитектуре(Которая и делается для того чтобы разбить монолит на непересекающиеся участки)?
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919680
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR
Алгоритм определения изменений схемы данных.

Поиск на ключевое слово Репликация.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919681
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник,
+1
))) единая точка правды))
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919683
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR,
Что с вашей прошлой темой?
Она одинакова с данной.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919687
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR
Введение

GrossmasteR
Что нужно сделать:

Вы забыли самое главное.
Вставить между ними абзац
Проблема:
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919693
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Поиск на ключевое слово Репликация.

Куда?

Скорее автор топика хочет инвалидацию данных прочитанных из БД микросервисами,
чтобы их перечитывать только в случае, если они изменились.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919706
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDev
PetroNotC Sharp
Поиск на ключевое слово Репликация.

Куда?

Скорее автор топика хочет инвалидацию данных прочитанных из БД микросервисами,
чтобы их перечитывать только в случае, если они изменились.

Предполагаю чего хочет автор даже он сам не знает
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919725
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл ник
iOracleDev
пропущено...

Куда?

Скорее автор топика хочет инвалидацию данных прочитанных из БД микросервисами,
чтобы их перечитывать только в случае, если они изменились.

Предполагаю чего хочет автор даже он сам не знает

Автор хочет устроиться на работу.

Любопытно, где ему выдали такое тестовое задание.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919727
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDev
Скорее автор топика хочет инвалидацию данных прочитанных из БД микросервисами,
чтобы их перечитывать только в случае, если они изменились

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

Это провал, надо пилить монолит взад.
На распределённых системах консистентность в конечном счете.
Если это ТЗ, то они или нихрена не понимают или это ТЗ типа принеси ведро с жидкой трансмиссией.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919734
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR
Написано относительно сложно, суть, как я понимаю, необходимо написать на java какую-нибудь простую реализацию: класс, который будет отслеживать изменения данных.

Не данных, а схемы данных.
Типа что где-то в схему добавили поле (колонку), переименовали, изменили тип, разнесли по таблицам...
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919738
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
Это провал, надо пилить монолит взад.

Почему сразу монолит? Написано про какие-то исполняемые модули.
Типа есть БД у какого-то сервиса, а ещё есть кэши, поисковые индексы, очереди там всякие.
И тут бац, в схеме БД что-то меняется, и в остальных местах надо синхронизировать.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919742
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iOracleDev
PetroNotC Sharp
Поиск на ключевое слово Репликация.

Куда?

Скорее автор топика хочет инвалидацию данных прочитанных из БД микросервисами,
чтобы их перечитывать только в случае, если они изменились.
согласись, что инвалидацию слово надо заменить на более понятное и русское.
Есть данные в БД, и надо убедится что.... они правильные?
Он уже прошлый топик так же решил, и результат был никому не нужен.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919747
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR
В крупной системе, реализующей минросервисную архитектуру
седьмой топик про баззворд микросервисы
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919749
Фотография crutchmaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
И тут бац, в схеме БД что-то меняется, и в остальных местах надо синхронизировать.

Почему в остальных местах должна кого-то волновать чья-то схема в БД? Вот, например, на форуме поменяется схема БД, кого это должно озаботить? И там также.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919754
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crutchmaster
skyANA
И тут бац, в схеме БД что-то меняется, и в остальных местах надо синхронизировать.

Почему в остальных местах должна кого-то волновать чья-то схема в БД? Вот, например, на форуме поменяется схема БД, кого это должно озаботить? И там также.
skyANA просто оптимист по жизни)
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919758
GrossmasteR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp ,
получилась так, что прошлая тема превратилась в тему про кэш и это правильно, как по мне. Надо было с самого начала разделить эти вопросы.

На счет этого вопроса, моего уровня знаний недостаточно, чтобы понять его минусы и "абсурд", который обсуждают форумчане. Как сказал уважаемый skyANA "Автор хочет устроиться на работу".

Как я нагуглился, несмотря на удобные современные функции, интерфейсы для работы с БД, могут быть ситуации (вмешательство админа БД, взлом SQL-injection, прямые изменения в БД что еще). Получается, что одного журнала событий прикладной системы недостаточно — необходим аудит изменения данных на уровне базы, который будет дополнительным инструментом для обеспечения безопасности и исключения ошибок при эксплуатации системы. Основным критерием для выбора механизма, обеспечивающего мониторинг, является минимальное влияние внедряемого решения на производительность системы.

Я так понимаю, выдавшие задание предлагают "порассуждать" (реализовать несложный алгоритм) на эту тему. Вопрос, как это сделать
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919760
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR,
То есть вы сами выдумываете задачи.
Раздела ПРОБЛЕМА нет. И вы его боитесь.

GrossmasteR
Как я нагуглился, несмотря на удобные современные функции, интерфейсы для работы с БД, могут быть ситуации (вмешательство админа БД, взлом SQL-injection, прямые изменения в БД что еще). Получается, что одного журнала событий прикладной системы недостаточно — необходим аудит изменения данных на уровне базы, который будет дополнительным инструментом для обеспечения безопасности и исключения ошибок при эксплуатации системы. Основным критерием для выбора механизма, обеспечивающего мониторинг, является минимальное влияние внедряемого решения на производительность системы.

Вот это бред выше.
ДОКАЖИТЕ что НЕДОСТАТОЧНО.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919761
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR
журнала событий прикладной системы
журналы СУБД а не прикладной системы.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919762
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR,
Ну и старайтесь сопровождать топик. Почаще отвечайте мемберам.
...
Рейтинг: 0 / 0
Мониторинг изменений в базах данных
    #39919765
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GrossmasteR
Автор хочет устроиться на работу".
на какую должность?
Так как если на архитектора, то недостатки одни. Если на прогера то другие)
...
Рейтинг: 0 / 0
25 сообщений из 153, страница 1 из 7
Форумы / Java [игнор отключен] [закрыт для гостей] / Мониторинг изменений в базах данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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