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

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


Имеется в виду криптографический хеш, ведь вы именно их обсуждали. Не какие-то другие, про какие сейчас говоришь, а именно криптографические.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924811
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Dima T
В общем если хочешь называть хэш контрольной суммой и писать CRC, пусть будет так.


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

Да, но других просто нет разрядностью выше 64 бит, можно свой велосипед изобрести, но зачем, если уже есть готовый с нужными свойствами. Чем криптографический хэш не подходит на роль контрольной суммы?
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924814
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Если таблица (table1) большая. От 1 млн строк и мы детектируем удалённые - то
нам надо чтобы 1 экземпляр приложения репликатор открыл два
курсора на master/slave и после merge принял решение об удалённых datarows.


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


Медленный. Этого не видно на малых данных (при разработке и тестировании), видно на больших (продакшен).
Зачем фигнёй страдать, когда быстрых и качественных checksum алгоритмов вагон и тележка?
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924819
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Суть в том что локально на мастере держим предыдущую копию


Суть любого решения к этому и сводится.
Там дальше детали.

Это либо триггер -- самый быстрый.
Либо сравнение со снепшотом и вычисление изменений -- долгий.

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


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

ты то че повелся? реплика либо в системе уже предусмотрена, либо это детская игрушка
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924830
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Dima T
Чем криптографический хэш не подходит на роль контрольной суммы?


Медленный. Этого не видно на малых данных (при разработке и тестировании), видно на больших (продакшен).
Зачем фигнёй страдать, когда быстрых и качественных checksum алгоритмов вагон и тележка?

Ты все-таки меня не перечитал
Dima T
Можно SHA-1 взять, 160 бит, может даже лучше его, т.к. проц умеет его считать одной командой .

Думаю никакой твой "быстрый и качественный" тут рядом не окажется по производительности. То что встроено в железо быстрее на порядки программных аналогов. Как-то тестил AES встроенный и программный, разница более чем в 100 раз.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924831
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos
hVostt,

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


Да я прост пытаюсь понять в чём состоит проблема.
Может не вижу чего-то.

Но пока не покидает ощущение, что ожидается хитровывернутое решение с переподвыподвертом.
Простые решения не найс :)
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924833
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Ты все-таки меня не перечитал
Dima T
Можно SHA-1 взять, 160 бит, может даже лучше его, т.к. проц умеет его считать одной командой .

Думаю никакой твой "быстрый и качественный" тут рядом не окажется по производительности. То что встроено в железо быстрее на порядки программных аналогов. Как-то тестил AES встроенный и программный, разница более чем в 100 раз.


Я хз откуда дровишки. Но вот бенчи:

https://github.com/Cyan4973/xxHash

Второе. Сталкивался с этим сам.

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

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

Мое решение на этом основано, Сибиряков почти тоже самое предлагает. Суть в том что локально на мастере держим предыдущую копию, считаем обновление, сохраняем его и далее раздаем слэйвам. С точки зрения трафика это самый экономный алгоритм, минимум ненужной и служебной инфы. Просто передал три таблички: это добавить, это поменять, это удалить. Даже Меркл сожрет больше ресурсов как вычислительных, так и трафика.

Ты предлагаешь для каждой таблички из RDS создавать и хранить ее копию?
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924851
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Dima T
Ты все-таки меня не перечитал
пропущено...

Думаю никакой твой "быстрый и качественный" тут рядом не окажется по производительности. То что встроено в железо быстрее на порядки программных аналогов. Как-то тестил AES встроенный и программный, разница более чем в 100 раз.


Я хз откуда дровишки. Но вот бенчи:

https://github.com/Cyan4973/xxHash

Второе. Сталкивался с этим сам.

Можешь сам побенчить, может на твоём проце sha-1 считается в 1 такт, и мне придётся признать, что фигню сморозил :)

Бенчить пока не готов, но вот нестыковки
авторcompiled with Visual 2010 on a Windows Seven 32-bit box.
А в интеле оно появилось в 2013 году. Я так понимаю это следствие хайпа с майнингом.

Просто глянь как я удивлялся по поводу аппаратного AES 21847765 , может сам захочешь потестить аппаратный SHA
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924857
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не вижу много пользы от применения быстрых или очень-очень быстрых хеш функций в этой задаче.
Мой опыт общения с БД мне просто подсказывает что надо сконцетрировать своё внимание
на другом.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924866
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Я не вижу много пользы от применения быстрых или очень-очень быстрых хеш функций в этой задаче.


Если с триггером, то да. Вообще хеши не нужны никакие. Триггер записывает факт создания/удаления/изменения по факту. Ничего ни с чем сравнивать не нужно.

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

Мое решение на этом основано, Сибиряков почти тоже самое предлагает. Суть в том что локально на мастере держим предыдущую копию, считаем обновление, сохраняем его и далее раздаем слэйвам. С точки зрения трафика это самый экономный алгоритм, минимум ненужной и служебной инфы. Просто передал три таблички: это добавить, это поменять, это удалить. Даже Меркл сожрет больше ресурсов как вычислительных, так и трафика.

Ты предлагаешь для каждой таблички из RDS создавать и хранить ее копию?

RDS это что? Мастер-база? Если да, то предлагаю именно это. И периодически считать разницу 22075921 и хранить разницу. Если таблички из кучи полей, то для экономии места есть смысл хранить не копию таблицы, а копию ключей и хэшей от неключевых полей.

Этот алгоритм на самый запущенный случай когда мы мастер базу можем только читать. Если мы может там поковырять чего-нибудь: поле добавить, триггер, индекс, то возможны решения проще и эффективнее.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924892
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T
Просто глянь как я удивлялся по поводу аппаратного AES 21847765 , может сам захочешь потестить аппаратный SHA

В принципе из AES можно соорудить 128-мибитный велосипед, там скорость шифрования 6 Гб/сек на i7-6700K
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924902
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
mayton
Я не вижу много пользы от применения быстрых или очень-очень быстрых хеш функций в этой задаче.


Если с триггером, то да. Вообще хеши не нужны никакие. Триггер записывает факт создания/удаления/изменения по факту. Ничего ни с чем сравнивать не нужно.

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

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

Ты предлагаешь для каждой таблички из RDS создавать и хранить ее копию?

RDS это что? Мастер-база? Если да, то предлагаю именно это. И периодически считать разницу 22075921 и хранить разницу. Если таблички из кучи полей, то для экономии места есть смысл хранить не копию таблицы, а копию ключей и хэшей от неключевых полей.

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

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

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

Ну я ж писал

3) Репликатор может в делать upgrade схемы на Master или Slave как будет удобно кастомеру.

Пример:
Код: plaintext
1.
 $ replicator --command upgrade --dbMasterUrl "localhost:5432/postgres?user=username&pwd=pwd1234"



Может я как-то невнятно или неотчотливо. Так вы спрашивайте.

Вообще по ТЗ. Я разумеется не смогу вам запретить велосипедить как вы хотите. С мега-хешами и с временными
файлами на upload.

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

А описал я их на основании своего опыта наблюдения за продуктовыми системами и на основании видимых
потребностей владельцев БД.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924906
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
hVostt
пропущено...


Если с триггером, то да. Вообще хеши не нужны никакие. Триггер записывает факт создания/удаления/изменения по факту. Ничего ни с чем сравнивать не нужно.

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

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

Не, отслеживаем все, может разных СУБД по-разному, но если есть триггер, то отследишь все.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924914
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Может я как-то невнятно или неотчотливо. Так вы спрашивайте.

Спрашиваю: триггеры можно?

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

Спрашиваю: триггеры можно?

Триггеры решают проблему без всяких извратов с хэшами и прочего оверхеда, уже предлагал 22075918 , пролистал топик, ты просто не ответил, я решил что нельзя, а надо было тупо переспросить (((

Отвечаю - можно.

Делай триггеры. Но не забудь про откат и автономные транзакции.
...
Рейтинг: 0 / 0
Оффлайн-тяпничная репликация
    #39924920
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Делай триггеры. Но не забудь про откат и автономные транзакции.

Откат откатит все включая что наделал триггер. С автономными транзакциями не сталкивался, надо почитать.
...
Рейтинг: 0 / 0
25 сообщений из 151, страница 6 из 7
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Оффлайн-тяпничная репликация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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