powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Оффлайн-тяпничная репликация
25 сообщений из 151, страница 1 из 7
Оффлайн-тяпничная репликация
    #39924054
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Котаны-бротаны!

Есть две БД. Master. Slave. Изначально одинаковые. Между ними трафик - жлобский. НЕ-гигабит.

Есть сет таблиц. В основном это справочники. Типа

keyvalue1a2b
Value может быть комплексным. И содержать много полей. Вобщем это неважно.

Мы их слегка модифицируем. В мастер БД добавляем даты последней модифицации.

keyvaluelastUpdateTime1a2020-02-07 16:45:33.01232b2020-02-06 22:00:01.9351

Неважно как но модификация затрагивает только INSERT/UPDATE. Ложные срабатываня типа дважды обновили
поле на тоже значене - это ОК. Это нормально. Мы их тоже берём как изменения.

Теперь вопрос топика.

Как быть с удалёнными строками? Как их реплицировать на Slave? Ожидается предложение по разработке
оффалйн репликатора.

(Пример. Удалилась строка с ключом №2)
keyvaluelastUpdateTime1a2020-02-07 16:45:33.0123

Очевидно что Master обладает правом делать с справочниками всё. Удалённая строка теряет и lastUpdate и вообще
identity. Чтобы узнать какие строки были удалены нужно сделать некие манипуляции с обоими БД.

Жду ваших тяпничных советов.

Приветсвуется: оптимизация сетевого трафика. Хардкод! Моар хардкода! Бесплатные СУБД.

Не приветствуется: занудство. Гугло-посылы. Покупка коробочного варианта репликации.
Коммерческие конфигурации под ключ.

Ясен петь что и топика бы не было если-б мы обсуждали physical/logical standby/replication e.t.c.

Втопку ваши коробочные продукты! Фантазируйте!


Go-Go кодить!
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924059
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Как быть с удалёнными строками? Как их реплицировать на Slave? Ожидается предложение по разработке оффалйн репликатора.

Как понимаю суть здесь тут :)

При репликации нельзя удалять, для этого изобрели пометку на удаление, т.е. оно есть, но помечено как удалено.

PS Если чистый мастер-слэйв, то репликация запросами, повторить все insert/update/delete на slave. По другому называется журнал транзакций, думаю ты это знаешь как DBA.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924062
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

ну вот шо ты пишешь...
аки младенец.
кодит-шмодить, глоу-гоу.

Ты в глаза ей пристально посмотри, а не гой-гоу.

авторКак быть с удалёнными строками? Как их реплицировать на Slave?
удалённые строки двух луёв бывают.

первый из них - строки, которые рождены на мастере и ещё ни на один слейв не попали, и об этом достоверно известно.
Их никуда реплицировать не надо.

работа со вторыми зависит от того, а слейв ли тот слейв, может он обратный мастер, а не слейв.
В заявленном тобой случае отдается строка лога изменений мастер таблицы с приказом удалить строку с указанным гуидом.
Если есть желание - можешь бежать кодить...
с подтверждением выполнения приказа.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924064
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Как быть с удалёнными строками? Как их реплицировать на Slave? Ожидается предложение по разработке
оффалйн репликатора.


Как сказали выше. Метить как удалённые. Удаление -- это тоже изменение, такое же как любое другое, а то и более критичное по значимости.


mayton
Приветсвуется: оптимизация сетевого трафика. Хардкод! Моар хардкода! Бесплатные СУБД.


ПоЗырь (хотя бы ради интересу) в сторону Event Sourcing, мастер это поток событий. Остальные БД это потребители потока событий. И могут через себя всё пропускать, или забирать только интересное.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924065
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
От зануды

Журнал транзакций может появится только в DBMS в которых эти транзакции есть.

Берем вариативную DBMS о которой нифига незвестно. Денег нет. Репликации нет.
Стоит задача 1 раз в сутки выровнять справочники. (Дополнение к ТЗ).

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

Как сказали выше. Метить как удалённые. Удаление -- это тоже изменение, такое же как любое другое, а то и более критичное по значимости.

Нет возможности метить. Программное обеспечение (черный ящик) просто дропает строки и все.

Изменить его мы не можем.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924068
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Берем вариативную DBMS о которой нифига незвестно. Денег нет. Репликации нет.
Стоит задача 1 раз в сутки выровнять справочники. (Дополнение к ТЗ).


Я ужо сказал. Event Sourcing. Ты можешь зацепить на него +100500 разных СУБД. От орукола, слона, сиквеля до монги с эластиком.

И это да, чистой воды гоу гоу кодинг, так полноценного коробочного решения нет. Но есть всякого на развес.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924069
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Программное обеспечение (черный ящик) просто дропает строки и все.


Задача выцепить дропы сводится к полной загрузке всех данных с вычленением потеряшек, чтобы их кильнуть.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924070
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
mayton
Берем вариативную DBMS о которой нифига незвестно. Денег нет. Репликации нет.
Стоит задача 1 раз в сутки выровнять справочники. (Дополнение к ТЗ).


Я ужо сказал. Event Sourcing. Ты можешь зацепить на него +100500 разных СУБД. От орукола, слона, сиквеля до монги с эластиком.

И это да, чистой воды гоу гоу кодинг, так полноценного коробочного решения нет. Но есть всякого на развес.

Нет возможности. Программный продукт не наш. Сорцов нет.

Все что есть - это две DBMS.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924071
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
mayton
Программное обеспечение (черный ящик) просто дропает строки и все.


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

Хвост не спеши. Давай всё таки сверх задачку.

Я вот думаю что полная загрузка всех данных не нужна.

Мне вот так кается...
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924072
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Хвост не спеши. Давай всё таки сверх задачку.

Я вот думаю что полная загрузка всех данных не нужна.

Мне вот так кается...


К сожалению, нужна. И именно полная.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924073
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Нет возможности. Программный продукт не наш. Сорцов нет.


Ну DBMS-то хоть не рукописная? :)
Всуньте туда триггер на удаление, что трекать подобное безобразие.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924074
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может ключей хватит?

Или групп ключей?

Или диапазонов ключей?

Или контрольных сумм?

Или сам придумай што.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924076
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Это конечно всё интересные решения :)
Но из всех костылей, самый надёжный, быстрый и простой в таком случае -- это триггер.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924077
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

Ааа... я наконец понял, к чему ты клонишь

Ну вот в копилку безумных вариантов. Пишем все имеющиеся ключи в битовом представлении в файл. Потам архивируем его раром. Передаём. Профит! :)
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924078
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,

авторИзменить его мы не можем.
видать, и перехватить дмл сих двух великолепных бд тоже не можем.
Ну, а хоть что-нибудь можем?
Например, отправить в сад желальщиков "репликации".

Если нечего "перехватывать", то и болеть не за что.

Может ты не с того начал.
И у тебя вовсе не "две бд" в начале разговора,
а какое-то количество, может быть встречных потоков данных,
для которых ты хочешь отыcкать конец, на котором их фильтровать?
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924082
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
mayton,

Ааа... я наконец понял, к чему ты клонишь

Ну вот в копилку безумных вариантов. Пишем все имеющиеся ключи в битовом представлении в файл. Потам архивируем его раром. Передаём. Профит! :)

А чего в битовом?
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924083
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby

Может ты не с того начал.
И у тебя вовсе не "две бд" в начале разговора,
а какое-то количество, может быть встречных потоков данных,
для которых ты хочешь отыcкать конец, на котором их фильтровать?

Хм.. не знаю.

Нету у меня потоков. Гдеж я их возьму? Потоки-то.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924084
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И как Domino и этим справляется))
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924085
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
hVostt
mayton,

Ааа... я наконец понял, к чему ты клонишь

Ну вот в копилку безумных вариантов. Пишем все имеющиеся ключи в битовом представлении в файл. Потам архивируем его раром. Передаём. Профит! :)

А чего в битовом?

Это хорошая версия.
Когда приходит пациент, и заявляет, что у него весь лоб болит, разумно проверить, а нет ли дырки в правом виске.

Где болит-то, точнее можно сказать?
Хотя бы, как оно пульсирует опиши.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924144
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Берем вариативную DBMS о которой нифига незвестно. Денег нет. Репликации нет.
Стоит задача 1 раз в сутки выровнять справочники. (Дополнение к ТЗ).

Бэкап и чтобы целиком его не гнать по инету rsync с предыдущим бэкапом на получателе.

Если триггеры есть то там ловить все изменения. Протоколирование действий пользователей и версионность записей
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924145
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rsync уже ближе.

Но хотелось бы не файло- а таблично- ориентированный.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924147
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На отправителе можешь копию развернуть. Раз в сутки запускается скрипт и сверяет результат "select * from MyTable order by id" из оригинала и копии, сверка делается в один проход, по итогу получаешь изменения, накатываешь их на копию и раздаешь всем заинтересованным слэйвам.

PS Можно даже не хранить записи целиком в локальной копии, а ограничиться каким-нибудь хэшем не очень коротким.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924149
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я как раз думаю про хеши.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924154
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я как раз думаю про хеши.

ИМХО если локальную копию сохранить в виде {id, hash}, где hash от всех полей кроме id, то по сравнению id отловишь все удаления и вставки, а по hash проверять изменение записи, есть вероятность что совпадет хэш старого и нового состояния, но она очень мизерная, 1/2 128 если использовать MD5.
...
Рейтинг: 0 / 0
25 сообщений из 151, страница 1 из 7
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Оффлайн-тяпничная репликация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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