|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Всем доброго дня! Поискал, почитал, но так для себя и не уяснил, какая система оптимальнее для следующей задачи. Задача стоит в настройке частичной репликации (нужны таблицы только для отчетов) master-slave, slave отчетная бд на чтение, на master чаще всего будут пиковые нагрузки примерно раз в месяц, будет прилетать от 500 тыс. до 1 млн записей в промежутке неделя. Из-за отсутствия опыта в подобных вопросах, из различных источников + Васильев А.Ю. Работа с PostgreSQL, решил для себя идти по пути Londiste, но решил подстраховаться и задать вопрос на форуме, вдруг мой выбор не особенно хорош! Имел ли кто-то опыт подобной настройки, какая система в данном случае будет оптимальнее? Заранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2018, 12:17 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Роман87Всем доброго дня! Поискал, почитал, но так для себя и не уяснил, какая система оптимальнее для следующей задачи. Задача стоит в настройке частичной репликации (нужны таблицы только для отчетов) master-slave, slave отчетная бд на чтение, на master чаще всего будут пиковые нагрузки примерно раз в месяц, будет прилетать от 500 тыс. до 1 млн записей в промежутке неделя. Из-за отсутствия опыта в подобных вопросах, из различных источников + Васильев А.Ю. Работа с PostgreSQL, решил для себя идти по пути Londiste, но решил подстраховаться и задать вопрос на форуме, вдруг мой выбор не особенно хорош! Имел ли кто-то опыт подобной настройки, какая система в данном случае будет оптимальнее? Заранее спасибо! Версия то какая? У Вас односторонняя репликация, поэтому удобнее использовать pglogical/BDR ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2018, 13:13 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Роман87, Как Вариант, У Вас же read-only? Создайте физический stream standby, и отказоустоячивость, и отчеты ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2018, 13:15 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Vadim Lejnin, Прошу прощения, про версию позабыл совсем "PostgreSQL 9.6.3 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11), 64-bit" Спасибо за совет, покурю предложенные методы! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2018, 13:28 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Роман87Задача стоит в настройке частичной репликации (нужны таблицы только для отчетов) master-slave С физическим hot standby частичной репликации не получится, только весь кластер. Vadim LejninРоман87, Как Вариант, У Вас же read-only? Создайте физический stream standby, и отказоустоячивость, и отчеты Строго говоря, для отчётов это "осетрина второй свежести", т.е. в отчётах вы изредка можете получать неконсистентные данные (но многие на это забивают). ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2018, 20:35 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Могу tungsten replicator предложить, в версии 2.2.х поддерживал Postgres. Он немного сложноват в настройке, но очень гибкий, можно самому настраивать фильтры, на лету трансформировать данные и т.п. Если нормально настроить, то работает устойчиво и шустро. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2018, 09:00 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Vadim Lejnin, доброго дня! Изначально стояла задача в частичной репликации, но в ходе настройки ее через pglogical выяснилось что pglogical не даст нормальной автоматической синхронизации структуры таблиц, synchronize_structure = true пытается поднять все схемы бд, может я не так что то понял, но у меня корректно взлететь не может подписка с синхронизацией структуры, без нее все работает, но планируется много изменений схемы, поэтому pglogical отпал, но почитав в целом инструмент который даст нормальную синхронизацию схем, только потоковая репликация, но она не дает частичную репликацую. Так вот в чем мой вопрос правильно ли я понял что "Создайте физический stream standby, и отказоустоячивость, и отчеты" это имеется в виду потоковая репликация? Буду продвигать этот вариант. За ранее спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2018, 08:58 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Роман87Vadim Lejnin, доброго дня! Изначально стояла задача в частичной репликации, но в ходе настройки ее через pglogical выяснилось что pglogical не даст нормальной автоматической синхронизации структуры таблиц, synchronize_structure = true пытается поднять все схемы бд, может я не так что то понял, но у меня корректно взлететь не может подписка с синхронизацией структуры, без нее все работает, но планируется много изменений схемы, поэтому pglogical отпал, но почитав в целом инструмент который даст нормальную синхронизацию схем, только потоковая репликация, но она не дает частичную репликацую. Так вот в чем мой вопрос правильно ли я понял что "Создайте физический stream standby, и отказоустоячивость, и отчеты" это имеется в виду потоковая репликация? Буду продвигать этот вариант. За ранее спасибо! В общем да - или полная репликация с с синхронизацией структуры или частичная но тогда структуру синхронизировать своими силами. И вряд ли в ближайшие годы что то изменится на этот счет. -- Maxim Boguk dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
20.06.2018, 10:01 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Maxim Boguk, спасибо за ответ! Обсудили, решили продолжать идти по пути PGLOGICAL, из-за того, что хотят на slave создать дополнительную бизнес логику рассчитанную на основе частично реплицированных данных. В связи с этим у меня вопрос такой, явно в доке PGLOGICAL и в целом не нагуглил явного запрета и проблем при записи на slave при логической репликации, да и потестил проблем пока не обнаружил, но может это просто я их не нашел? И мог бы кто то поделиться опытом мониторинга логической репликации, какой-нибудь интересной информации пока не удалось найти, читать логи POSTGRESQL как то не очень, стоить ли копать, как и с потоковой в сторону ZABBIXа? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2018, 13:04 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Роман87 В связи с этим у меня вопрос такой, явно в доке PGLOGICAL и в целом не нагуглил явного запрета и проблем при записи на slave при логической репликации, да и потестил проблем пока не обнаружил, но может это просто я их не нашел? Так логическую и делают помимо всего прочего чтобы на реплики можно было писать. Я бы правда не рекомендовал писать в те таблицы что с мастера реплицируются (там легко проблем наловить), а все остальное нормально. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2018, 13:41 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Maxim Boguk, Спасибо! Да, запись будет в новые сущности, писать в реплицируемые сущности, как то даже на уровне интуиции думается опасным делом) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2018, 13:46 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Роман87Maxim Boguk, спасибо за ответ! Обсудили, решили продолжать идти по пути PGLOGICAL, из-за того, что хотят на slave создать дополнительную бизнес логику рассчитанную на основе частично реплицированных данных. Кстати, у логической репликации (в отличие от, например, slony) ровно та же проблема (просто предупреждаю): Строго говоря, для отчётов это "осетрина второй свежести", т.е. в отчётах вы изредка можете получать неконсистентные данные (но многие на это забивают). ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2018, 14:03 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Роман87Maxim Boguk, Спасибо! Да, запись будет в новые сущности, писать в реплицируемые сущности, как то даже на уровне интуиции думается опасным делом) Есть две реализации логической репликации: pglogical - платный продукт 2ndQuadrant.com BDR - free встроенный механизм для pgsql-10+ в pglogical 2+ есть механизмы разрешения конфликтов репликации, для BDR они не реализованы тупо, кто первый встал, того и тапки то есть, в реплицируемыю таблицу сыплятся обновления, не обращая внимания что и как там происходит p.s. pgsql-11 пока не смотрел, поэтому какая ситуация для этой версии не скажу ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2018, 14:26 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Vadim Lejninpglogical - платный продукт 2ndQuadrant.com BDR - free встроенный механизм для pgsql-10+ Вроде как наоборот, разве нет? На странице https://www.postgresql.org/download/products/3-clusteringreplication/ оба продукта заявлены как Free, однако BDR актуальных версий распространяется по подписке клиентам 2ndquadrant. Платная поддержа по pglogical тоже возможна, конечно. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2018, 15:31 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
PgSQLanonymous3Роман87Maxim Boguk, спасибо за ответ! Обсудили, решили продолжать идти по пути PGLOGICAL, из-за того, что хотят на slave создать дополнительную бизнес логику рассчитанную на основе частично реплицированных данных. Кстати, у логической репликации (в отличие от, например, slony) ровно та же проблема (просто предупреждаю): Строго говоря, для отчётов это "осетрина второй свежести", т.е. в отчётах вы изредка можете получать неконсистентные данные (но многие на это забивают). с этага места папа дробней , пжалста. про неконсистентность разверните . в каком именно смысле неконсистентность. в смысле асинхронности ? (не соотв текущему сост. мастера ?) /*так отчет и варится обычно с расчетом , что к концу расчета он устареет. если это именно отчет, а не часть транзакции принятия решения.*/ или в смысле неконсистентности И на прошлый момент времени (неконсистентные снапшоты) ? вроде по самой логике накатки для потоковой уж точно проблем быть не должно. это ж копия рекавери. нет ? или там наколхозили тоже ? и чо, у логики те же проблемы что у потоковой ? механизм на пальцах покажите, если просекли. а то блабла кокойто. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2018, 12:46 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
qwwqв каком именно смысле неконсистентность. в смысле асинхронности ? (не соотв текущему сост. мастера ?) Конечно, нет (и так очевидно, что асинхронный standby может отставать, физический он или логический). qwwqили в смысле неконсистентности И на прошлый момент времени (неконсистентные снапшоты) ? Да, именно в этом смысле. Кстати, с каких пор адептов READ COMMITTED-only изоляции это вообще волнует? ;) Я имею в виду только full-ACID (SERIALIZABLE). qwwqвроде по самой логике накатки для потоковой уж точно проблем быть не должно. это ж копия рекавери. нет ? Да, только вот "рекавери" подразумевает, что какие-то транзакции могут быть потеряны (и до консистентности read-only ему вообще дела нет). qwwqили там наколхозили тоже ? Там как раз "недоколхозили". ;) qwwqи чо, у логики те же проблемы что у потоковой ? Разумеется. qwwqмеханизм на пальцах покажите, если просекли. а то блабла кокойто. Механизмы "на пальцах" показаны в https://wiki.postgresql.org/wiki/SSI#Read_Only_Transactions Всё это легко происходит на standby / logical replication. В документации: https://www.postgresql.org/docs/current/static/hot-standby.html#HOT-STANDBY-CAVEATS (последний пункт). https://www.postgresql.org/docs/current/static/applevel-consistency.html#SERIALIZABLE-CONSISTENCY (warning). ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2018, 13:31 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
PgSQLanonymous3, 1)На фига на readonly реплике serizaliable? Откуда там вы запись будете брать и как делать? Объясните??? 2)Один отдельный запрос всегда и так работает в repeatable read так что аномалий чтения та быть не может если отчет 1 запросом строится (причем что на реплике что на мастере) 3)Для readonly отчетов прекрасно хватает repeatable read уровня изоляции, и если там в отчете много запросов... а repeatable read прекрасно на hot standby реплике работает (там то локов никаких не надо просто snapshot в начале транзакции зафиксировать). PS: на логической реплике кстати serializable прекрасно будет работать просто по своей природе. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2018, 14:12 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
PgSQLanonymous3qwwqв каком именно смысле неконсистентность. в смысле асинхронности ? (не соотв текущему сост. мастера ?) Конечно, нет (и так очевидно, что асинхронный standby может отставать, физический он или логический). qwwqили в смысле неконсистентности И на прошлый момент времени (неконсистентные снапшоты) ? Да, именно в этом смысле. Кстати, с каких пор адептов READ COMMITTED-only изоляции это вообще волнует? ;) Я имею в виду только full-ACID (SERIALIZABLE). какбэ адепты рид коммитеда варят отчеты в снапшотах, т.е. рипитебл рид если не одним супер мега сте квайром. а то что засери...алазебльщики себе наблажат -- это их проблемы PgSQLanonymous3qwwqвроде по самой логике накатки для потоковой уж точно проблем быть не должно. это ж копия рекавери. нет ? Да, только вот "рекавери" подразумевает, что какие-то транзакции могут быть потеряны (и до консистентности read-only ему вообще дела нет). хмм. неудобна даже какта вот так прямо транзы из середины утеряются а из хвоста накотютца ? ась ? вы не вертись, когда по делу спрос идёт. PgSQLanonymous3Механизмы "на пальцах" показаны в https://wiki.postgresql.org/wiki/SSI#Read_Only_Transactions Всё это легко происходит на standby / logical replication. В документации: https://www.postgresql.org/docs/current/static/hot-standby.html#HOT-STANDBY-CAVEATS (последний пункт). https://www.postgresql.org/docs/current/static/applevel-consistency.html#SERIALIZABLE-CONSISTENCY (warning). т.е. сам не воткнул , двумя словами описать не можешьте , а туда же -- пальцы гнуть. низачот, стьюдент ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2018, 14:40 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Maxim Boguk1)На фига на readonly реплике serizaliable? Откуда там вы запись будете брать и как делать? Объясните??? То есть ссылку Вы не открыли, и ни о чём не подумали? Не стыдно? Мне ссылку ещё раз дать? Maxim Boguk2)Один отдельный запрос всегда и так работает в repeatable read так что аномалий чтения та быть не может если отчет 1 запросом строится (причем что на реплике что на мастере) Да вы что? А я-то думаю, кто же это этот snake oil "repeatable read так что аномалий чтения та быть не может" продаёт из консультантов? Теперь буду знать (шутка). Maxim Boguk3)Для readonly отчетов прекрасно хватает repeatable read уровня изоляции, и если там в отчете много запросов... а repeatable read прекрасно на hot standby реплике работает (там то локов никаких не надо просто snapshot в начале транзакции зафиксировать). Maxim, вам действительно стоит почитать... да, на первый взгляд read-only anomaly поражают... но они от этого из реальности никуда не исчезают, увы. Вот ещё, кстати: https://www.postgresql.org/message-id/flat/CAEepm%3D2b9TV%2BvJ4UeSBixDrW7VUiTjxPwWq8K3QwFSWx0pTXHQ%40mail.gmail.com#CAEepm=2b9TV+vJ4UeSBixDrW7VUiTjxPwWq8K3QwFSWx0pTXHQ@mail.gmail.com]https://www.postgresql.org/message-id/flat/CAEepm=2b9TV vJ4UeSBixDrW7VUiTjxPwWq8K3QwFSWx0pTXHQ@mail.gmail.com#CAEepm=2b9TV vJ4UeSBixDrW7VUiTjxPwWq8K3QwFSWx0pTXHQ@mail.gmail.com Maxim BogukPS: на логической реплике кстати serializable прекрасно будет работать просто по своей природе. Будет-будет, вот только формально. Т.е. read anomaly (по сравнению с master) вы всё равно увидите. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2018, 16:50 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
qwwqт.е. сам не воткнул , двумя словами описать не можешьте , а туда же -- пальцы гнуть. низачот, стьюдент Who are you to fucking lecture me? Не умеешь читать / слишком тупой, чтобы понять? Это твои проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2018, 16:52 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
PgSQLanonymous3qwwqт.е. сам не воткнул , двумя словами описать не можешьте , а туда же -- пальцы гнуть. низачот, стьюдент Who are you to fucking lecture me? Не умеешь читать / слишком тупой, чтобы понять? Это твои проблемы. бгг засеряалайзбл раз буш о'вал ся не асилили очереди в коммитеде -- эта ваши проблемы а сериалайзебля не нужен. разве штаа для особо альтернативно одарённых ну и пальцы гнуть перед начавством -- "труя серя а лайзебля" ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2018, 19:04 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
PgSQLanonymous3Maxim Boguk1)На фига на readonly реплике serizaliable? Откуда там вы запись будете брать и как делать? Объясните??? То есть ссылку Вы не открыли, и ни о чём не подумали? Не стыдно? Мне ссылку ещё раз дать? Если рассматривать как раз readonly пример то для реплики проигрывающей WAL файл сначала пришла T2 которая выглядела как update rollover set n = 11 where id = 2; после чего пришла T1 вида update rollover set n = 110 where id = 2; Никакой информации о том что T1 строился исходя из данных которые менялись в T2 - у реплики нет. Пока информация о SSI по WAL потоку не передается -требовать чтобы подобных аномалий не могло на асинхронной реплике возникать - глупо, это невозможно физически. Передавать всю SSI кухню в WAL - сделать SSI еще более медленным чем он сейчас есть (причем принципиально более медленным). PS: а почему вы считаете что у Slony нет такой проблемы? Там по моему ровно тоже самое будет. А именно сначала слонами приедет update rollover set n = 11 where id = 2; а потом слонами отдельной тоже операцией приедет update rollover set n = 110 where id = 2; -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2018, 19:42 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Maxim Boguk, имхо там тупое непонимание того, что на только читающей реплике в принципе не нужен сериалайзебл. или мастер уже отсериалайзил (в комиттеде -- очередями ) пишущие транзы и они в том же порядке накатятся. и никаких проблем в рипитебле на реплике не будет в принципе. или нет. реплика заведомо асинхронна, выше она не прыгнет. проблема надумана. понятно , что если логику раскатать тонким блинчиком по 100500 таблицам, а обновлять по 100 --50 , то любая попытка читать на реплике "как если бы транзакции были в затылок" сразу из всех 100500 таблиц нелогична. или жизнь параллельна, и некоторые события независимы -- и тогда снепшота на чтение достаточно. или сажать отдельного вертухая который бы всегда лочил всю базу под каждого отдельного писателя -- и тогда обреплицируйся как хошь. (и опять "сериалайзебл не нужен") думаю, вертухаю непонятна сама идея параллельных независимых событий. что имитируя параллельные процессы с пересечениями из всех событий надо вычленить зависимые и разделяемые ими ресурсы, и только их то и выстроить в очереди. каждую очередь на своем ресурсе -- как точке пересечения. а в независимой области позволить событиям течь своим чередом. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2018, 20:08 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Maxim BogukЕсли рассматривать как раз readonly пример то для реплики проигрывающей WAL файл сначала пришла T2 которая выглядела как update rollover set n = 11 where id = 2; после чего пришла T1 вида update rollover set n = 110 where id = 2; Никакой информации о том что T1 строился исходя из данных которые менялись в T2 - у реплики нет. Да, именно так. Maxim BogukПока информация о SSI по WAL потоку не передается -требовать чтобы подобных аномалий не могло на асинхронной реплике возникать - глупо, это невозможно физически.Вот об этом-то "невозможно" я и предупредил, всего лишь. Maxim BogukПередавать всю SSI кухню в WAL - сделать SSI еще более медленным чем он сейчас есть (причем принципиально более медленным).А всю и не нужно, есть другое решение --- поддерживать только DEFERRABLE (см. thread, на который я уже ссылался). Maxim BogukPS: а почему вы считаете что у Slony нет такой проблемы? Там по моему ровно тоже самое будет. А именно сначала слонами приедет update rollover set n = 11 where id = 2; а потом слонами отдельной тоже операцией приедет update rollover set n = 110 where id = 2;Потому что в slony об этом подумали, и реализовали: Slony-I will split the entire amount of replication activity into smaller units covering a few seconds of workload as described in section ... This will be done on the visibility boundaries of two serializable transactions. So the slave systems will leap from one consistent state to another as if multiple master transactions would have been done at once.Реализацию см. в исходниках. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2018, 20:09 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
PgSQLanonymous3Maxim BogukPS: а почему вы считаете что у Slony нет такой проблемы? Там по моему ровно тоже самое будет. А именно сначала слонами приедет update rollover set n = 11 where id = 2; а потом слонами отдельной тоже операцией приедет update rollover set n = 110 where id = 2;Потому что в slony об этом подумали, и реализовали: Slony-I will split the entire amount of replication activity into smaller units covering a few seconds of workload as described in section ... This will be done on the visibility boundaries of two serializable transactions. So the slave systems will leap from one consistent state to another as if multiple master transactions would have been done at once.Реализацию см. в исходниках. Мндя... век живи как говорится. Не знал что слоны настолько умные. :) -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2018, 20:13 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
qwwqимхо там тупое непонимание того, что на только читающей реплике в принципе не нужен сериалайзебл.У тебя тупое непонимание принципов изоляции в СУБД, и ничему учиться ты не хочешь. :( qwwqили мастер уже отсериалайзил (в комиттеде -- очередями ) пишущие транзы и они в том же порядке накатятся. и никаких проблем в рипитебле на реплике не будет в принципе. или нет. реплика заведомо асинхронна, выше она не прыгнет. проблема надумана.Скажи мне, как мне удалось "надумать" thread в -hackers (причём, не один), где эта проблема обсуждается? qwwqпонятно , что если логику раскатать тонким блинчиком по 100500 таблицам, а обновлять по 100 --50 , то любая попытка читать на реплике "как если бы транзакции были в затылок" сразу из всех 100500 таблиц нелогична. или жизнь параллельна, и некоторые события независимы -- и тогда снепшота на чтение достаточно. или сажать отдельного вертухая который бы всегда лочил всю базу под каждого отдельного писателя -- и тогда обреплицируйся как хошь. (и опять "сериалайзебл не нужен")Нормальным людям --- нужен, и у нас SERIALIZABLE просто работает , без вышеописанных "танцев". qwwqдумаю, вертухаю непонятна сама идея параллельных независимых событий. что имитируя параллельные процессы с пересечениями из всех событий надо вычленить зависимые и разделяемые ими ресурсы, и только их то и выстроить в очереди. каждую очередь на своем ресурсе -- как точке пересечения. а в независимой области позволить событиям течь своим чередом.О да, каждый же должен вместо того, чтобы реализовывать нужную логику, заниматься "вычленением ресурсов" и "выстраиванием очередей". Ты бы ещё на ассемблере предложил писать, самое ж время, в 21 веке. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2018, 20:25 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
PgSQLanonymous3, иди в жену потыкай, тыкало для начала ответьте, как же рекавери восстановит бд с пропуском клока транзакций , но с последующими. сиречь неконсистентно. потом мал-по-малу раскрутим все кидалово ссылками, без понимания прочитанного. которое в количествах тут наблюдается. а пока обтекайте, манагерок вы наш. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2018, 20:53 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Maxim BogukPgSQLanonymous3пропущено... Потому что в slony об этом подумали, и реализовали: пропущено... Реализацию см. в исходниках. Мндя... век живи как говорится. Не знал что слоны настолько умные. :) -- Maxim Boguk я вот думаю такая модель: к 100500 мастер ресурсов подходят непрерывно 100500 мастер транзакций к 1--2 каждая с перехлестом , но без конфликта (т.к. каждая делит с напарницей или 1--2 или вообще никакого ресурса). и вот эта бесконечная неразрывная цепь (1-2)-(2-3)-(3..).... прилетает в ивенты на слонах. сколько слоны должны прождать ? так-то я сам макетировал подбор статистики без ведения журнала ивентов что-то в ту же степь -- набираем последний коммит, виденный во всех снепшотах текущих, как закомиченный и ждем момента, когда никого пишущего (в ресурс) нет . как дождались -- формируем очередной инкремент. наглости закоммитить в прод не хватило. хотя в тестах с 15--20 сессий непрерывного теребоньканья автоматами все отлично подбиралось. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.07.2018, 21:35 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
qwwq, > эта бесконечная неразрывная цепь (1-2)-(2-3)-(3..).... прилетает в ивенты на слонах. сколько слоны должны прождать ? надо читать, что там в исходниках понаписали ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2018, 23:13 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Misha Tyurinqwwq, > эта бесконечная неразрывная цепь (1-2)-(2-3)-(3..).... прилетает в ивенты на слонах. сколько слоны должны прождать ? надо читать, что там в исходниках понаписали а зачем ? или законы природы зависят от писанины колхозников в исходниках ? ещё раз -- сериализовать всё можно только в точке. или сериализовать не все в точке, только тамошние транзы, а в другой точке (реплика) довольствоваться тем, что в части читания--писания на писателе оно было сериализовано. точкой может быть диспетчер, но это уже не асинхронная реплика , а тормоза в синхронной ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2018, 10:24 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
извините что вмешиваюсь, но вопрос такой. можно ли на слеве логического стендбая навесить триггера на реплицируемые таблицы? и насколько это усложнит жизнь? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2018, 21:48 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Rinka777извините что вмешиваюсь, но вопрос такой. можно ли на слеве логического стендбая навесить триггера на реплицируемые таблицы? и насколько это усложнит жизнь? 1)можно 2)ни на сколько хотя есть как всегда свои тонкости PS: неужели тяжело проверить своими руками за 5 минут? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2018, 22:50 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Rinka777извините что вмешиваюсь, но вопрос такой. можно ли на слеве логического стендбая навесить триггера на реплицируемые таблицы? и насколько это усложнит жизнь? 1)можно 2)ни на сколько хотя есть как всегда свои тонкости PS: неужели тяжело проверить своими руками за 5 минут? -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
16.07.2018, 22:51 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Maxim Boguk, спасибо. Это вам 5 минут, а я пока младший научный сотрудник в postgres ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2018, 07:31 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
http://www.slony.info/images/Slony-I-concept.pdf не, ребят (@PgSQLanonymous3, @Maxim Boguk, @qwwq), там не про то. > 2.4.1. Splitting the logdata это к Serializable (SSI) никакого отношения не имеет. // меня сразу это смутило, так как slony-I -- это задолго до true ssi в pg ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2018, 16:22 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Misha Tyurin http://www.slony.info/images/Slony-I-concept.pdf не, ребят (@PgSQLanonymous3, @Maxim Boguk, @qwwq), там не про то. Как Вам сказать... это была их цель (поэтому и concept), и они к ней пришли (возможно, даже и до 9.1, не интересовался). Misha Tyurin> 2.4.1. Splitting the logdata это к Serializable (SSI) никакого отношения не имеет. Имеет, загляните в исходники. Дело в том, что log data --- это основа, на которой и строится вся эта репликация. Поэтому, после сериализации этих данных, уже можно двигаться далее (передавать на подписчики и т.д. и т.п.). (Впрочем, и какие-то "игры" со snapshots там тоже кое-где используются, но сути это менять не должно.) Misha Tyurinменя сразу это смутило, так как slony-I -- это задолго до true ssi в pg Ну так slony не стояли на месте всё это время, и все нововведения радостно используют (судя по исходникам). :) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2018, 23:16 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
PgSQLanonymous3, > Реализацию см. в исходниках. > Ну так slony не стояли на месте всё это время, и все нововведения радостно используют (судя по исходникам). :) пересмотрел слонов. ниче не нашел. remote_worker-тред просто применяет ивенты в порядке коммитов. остальное там к делу не относится. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.09.2018, 01:50 |
|
Частичная репликация Postgresql какую систему выбрать (Slony, Londiste(SkyTools), Bucardo)
|
|||
---|---|---|---|
#18+
Misha TyurinPgSQLanonymous3, > Реализацию см. в исходниках. > Ну так slony не стояли на месте всё это время, и все нововведения радостно используют (судя по исходникам). :) пересмотрел слонов. ниче не нашел. По слову "serializable" поищите. Misha Tyurinremote_worker-тред просто применяет ивенты в порядке коммитов. Только вот "достать" их с master он может не всякий раз, как мне помнится. Misha Tyurinостальное там к делу не относится.Ну так воспроизведите какую-нибудь read-only аномалию (по отношению к master) на slave. Если Вы правы, это должно быть просто. ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.09.2018, 02:34 |
|
|
start [/forum/moderation_log.php?user_name=Nevill]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
others: | 1373ms |
total: | 1531ms |
0 / 0 |