powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Реплицирование агрегированной информации
18 сообщений из 18, страница 1 из 1
Реплицирование агрегированной информации
    #39878516
ilin61
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется несколько баз, находящихся в разных местах, в которых много данных. Есть идея из каждой базы выгружать маленький агрегированный слепок данных для аналитики и загружать в другую центральную базу для дальнейшего анализа. У кого-то есть опыт решения таких задач? Данные должны быть в центральной базе не старее одного часа от других. В postgresql не нашёл такого механизма (там либо вообще всё либо целая таблица), в MySQL вроде есть materialized view, которую вроде тоже можно реплицировать
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39878520
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilin61MySQL вроде есть materialized viewГде вы это вычитали?

А вообще - делайте обычную таблицу. Обычные таблицы почти любая приличная СУБД реплицировать умеет.
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39878558
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilin61Есть идея из каждой базы выгружать маленький агрегированный слепок данных для аналитики и
загружать в другую центральную базу для дальнейшего анализа. У кого-то есть опыт решения
таких задач?

Каких именно задач? Сразу скажу: твоя "идея" задачей не является. Для перемещения данных
между БД обычно используют ETL или репликацию.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39878592
ilin61
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Проблема в том, что агрегированные данные каждый раз пересчитываются полностью. То есть вся таблица пересоздается. Как при этом этом будет работать репликация? Вряд ли она проанализирует, что изменилось и это пошлёт. Репликация просто скопирует всю очередь DML и все эти команды пошлёт.
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39878594
ilin61
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Да, понятно, что через ETL это всё сделать можно. Но хотелось бы избежать дополнительной работы и сделать, используя готовые механизмы
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39878600
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilin61Проблема в том, что агрегированные данные каждый раз пересчитываются полностью. То есть
вся таблица пересоздается. Как при этом этом будет работать репликация?

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

ilin61хотелось бы избежать дополнительной работы и сделать, используя готовые механизмы

ETL это и есть "готовые инструменты". А серебряной кнопки "сделать всё как я хочу" - нету.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39878616
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilin61То есть вся таблица пересоздается.Пересоздавать не надо, надо только очищать, если никакие прежние данные не нужны (хотя это тоже вызывает сомнение).
ilin61Как при этом этом будет работать репликация? Вряд ли она проанализирует, что изменилось и это пошлёт. Репликация просто скопирует всю очередь DML и все эти команды пошлёт.В MySQL есть два способа репликации - передача измененных записей и передача DML-команд. Пока не очевидно, какой из них подойдет лучше в вашем случае.

ilin61каждый раз пересчитываются полностьюЕсли алгоритм очень сложный и требует многократного чтения-записи из таблицы, то заведите еще одну таблицу, в которую только пишите готовый результат, и ее реплицируйте.
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39878806
ilin61
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

Буду рад, если подскажете, какие есть средства репликация и инструменты подойдут в моем случае, может, у вас был опыт какой-то . Также вопрос, по поводу расчета агрегатов, как обрабатывать сложные кейсы, когда мне, к примеру, нужно посчитать count distinct по определённым полям, мне же в любом случае нужно пройтись по всей таблице заново и посчитать эти значения? Как обычно такие кейсы решаются?
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39878808
ilin61
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft,

Спасибо за ответ, но вот этот готовый результат же будет постоянно полностью пересылаться ?
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39878842
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilin61miksoft,

Спасибо за ответ, но вот этот готовый результат же будет постоянно полностью пересылаться ?Это уже зависит от бизнес-требований.
Если данные нужно видеть за вчерашние сутки, то сутки закончились-агрегаты пересчитались-репликация отработала-ждем следующих суток.
Если нужно практически в онлайне, то есть вариант модифицировать все места в коде, которые пишут в базу детальные данные, чтобы они же модифицировали и агрегированную таблицу.
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39878861
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilin61Как обычно такие кейсы решаются?

Обычно это решается разборками типа "а назачем нужен этот count(distinct) и нужен ли он
тут вообще". Может внезапно оказаться, что это совершенно ненужная свистоперделка. Или что
достаточно прохода по одной записи, а не всем.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39879010
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilin61Буду рад, если подскажете, какие есть средства репликация и инструменты подойдут в моем случае, может, у вас был опыт какой-то . Также вопрос, по поводу расчета агрегатов, как обрабатывать сложные кейсы, когда мне, к примеру, нужно посчитать count distinct по определённым полям, мне же в любом случае нужно пройтись по всей таблице заново и посчитать эти значения? Как обычно такие кейсы решаются?
обычно такие кейсы решаются банальным DWH и ETL процессами по дороге.
реплицируйте нужные таблицы целиком и по копиям считайте ваши агрегаты, kpi и прочее, типичное для dwh
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39879151
ilin61
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
H5N1,

У нас исходные таблицы содержат на порядки больше информации, чем агрегированные данные. Более того каналы связи оставляют желать лучшего :(
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39879225
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Каналы тут ни при чём. "Всё решают кадры." (с)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39880165
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilin61Dimitry Sibiryakov,

Да, понятно, что через ETL это всё сделать можно. Но хотелось бы избежать дополнительной работы и сделать, используя готовые механизмы

Готовые механизмы, типа Goldengate, стоят весьма больших денег.
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39882009
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilin61Имеется несколько баз, находящихся в разных местах, в которых много данных. Есть идея из каждой базы выгружать маленький агрегированный слепок данных для аналитики и загружать в другую центральную базу для дальнейшего анализа.
довольно часто встречаемая задача.
ilin61Данные должны быть в центральной базе не старее одного часа от других.
А это уже нюанс.
Ибо в большинстве видимых мною задач данные выгружались "за день". Т.Е. за вчера.
Происходила агрегация данных, их передача, прием и пересчет кубов в центральной базе.

А подобная оперативность требует неких механизмов, напрямую зависящих от специфика задачи.
И универсального решения тут нет.
Кроме прямой и полной репликации.
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39882485
Troglodit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ilin61,

Как это нет.
Делаете агрегированную таблицу, заполняете ее данными хотите сразу триггером, хотите по cron'у
Берете логическую реплику, и все. Дешево и сердито. Результат у вас данные при стабильном онлайне отличаться будут не более 10с.
Плюс фейловер из коробки.
...
Рейтинг: 0 / 0
Реплицирование агрегированной информации
    #39882537
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilin61Имеется несколько баз, находящихся в разных местах, в которых много данных. Есть идея из каждой базы выгружать маленький агрегированный слепок данных для аналитики и загружать в другую центральную базу для дальнейшего анализа. У кого-то есть опыт решения таких задач? Данные должны быть в центральной базе не старее одного часа от других. В postgresql не нашёл такого механизма (там либо вообще всё либо целая таблица), в MySQL вроде есть materialized view, которую вроде тоже можно реплицировать

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


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