Синхронизация и репликация ДБ по многим частям света

iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Синхронизация и репликация ДБ по многим частям света

Post by iDesperado »

tessob wrote: 30 Apr 2018 18:44 К сожалению не знаком с этими продуктами/технологиями. Однако в реальном проекте как-то сцыкотно обычно брать проприетарные технологии с неочевидными сайд-эффектами и минимумом открытых фидбеков от клиентов. Причем, чем крупнее вендор, тем сцыкотнее. Особенно в последние лет 10. 8)
да, обозвать oracle rac "технологией с неочевидными сайд-эффектами и минимумом открытых фидбеков от клиентов", учитывая что технология добрую четверть все рынка рдбмс занимает (всего оракл это 50% рынка), это сильно.
реально топикастеру надо смотреть мсскл где мультимастер репликация из коробки и во всех редакциях + много у кого нормально работает.
оракл конечно круто, но смысла тратить много больше на явно не космические задачи явно нет. EE редакция со всякими RAC, golden gate чудовищно дороги, в стандарт редакции репликация кастрированная хрень. я когда исследовал вопрос, нашел http://www.dbvisit.com/ которые предлагают репликацию под оракл стандарт едишен. вроде они и под другие субд предлагают.
User avatar
Mark
Уже с Приветом
Posts: 1981
Joined: 10 Oct 2000 09:01
Location: New England

Re: Синхронизация и репликация ДБ по многим частям света

Post by Mark »

Lazy444 wrote:
tessob wrote: 30 Apr 2018 18:44
Lazy444 wrote: 30 Apr 2018 17:28Решений для повышения отказоустойчивости базы данных много. Как пример на Оракле это Real Application Cluster (RAC) c Transparent Application Failover(TAF), or Oracle Physical Standby c Dataguard. Что использовать, зависит от требований к отказоустойчивости: несколько минут или несколько секунд.
К сожалению не знаком с этими продуктами/технологиями. Однако в реальном проекте как-то сцыкотно обычно брать проприетарные технологии с неочевидными сайд-эффектами и минимумом открытых фидбеков от клиентов. Причем, чем крупнее вендор, тем сцыкотнее. Особенно в последние лет 10. 8)
Бояцца не надо :D
С моей точки зрения надо "брать" проверенные технологии с техподдержкой. А если сами "не шмогли", то заплатить консультатнту или просто посмотреть доку.

А если серьезно : можно сразу не брать, можно просто почитать. Качнуть пробную версию. ИМХО если нет опыта с Оракл, то Oracle RAC поставить может не получится. Сразу надо сказать : Oracle RAC - Это очень дoрого. Если не надо отказоусточивости в секунды, то можно обойтись Oracle Standard Edition with Physical Standby and Dataguard. Получится гораздо бюджетнее.
Тут несколько наоборот :) в Standard Edition (SE)- RAC is free. А Dataguard в SE нету.
User avatar
Boriskin
Уже с Приветом
Posts: 18862
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Синхронизация и репликация ДБ по многим частям света

Post by Boriskin »

iDesperado wrote: 30 Apr 2018 22:20 реально топикастеру надо смотреть мсскл где мультимастер репликация из коробки и во всех редакциях + много у кого нормально работает.
А МССКЛ вообще живет на линуксах?
Тупизна как Энтропия. Неумолимо растет.
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Синхронизация и репликация ДБ по многим частям света

Post by Flash-04 »

2017 - да!
Not everyone believes what I believe but my beliefs do not require them to.
User avatar
Boriskin
Уже с Приветом
Posts: 18862
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Re: Синхронизация и репликация ДБ по многим частям света

Post by Boriskin »

А чего так воодушевленно?
Тупизна как Энтропия. Неумолимо растет.
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Синхронизация и репликация ДБ по многим частям света

Post by Flash-04 »

Ну раз тебе нужно...
Not everyone believes what I believe but my beliefs do not require them to.
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Синхронизация и репликация ДБ по многим частям света

Post by valchkou »

Boriskin wrote: 24 Apr 2018 22:45 Поглядываю на Кассандру, коя целиком и полностью поддерживается, по описанию выглядит как возможный кандидат, но есть сомнения на тему скорости чтения из базы - насколько быстро оно читает...
пишет, читает, реплицирует быстро,
если база справляется с нагрузкой то репликация проходит в доли секунды между.
проверяли на амазоне ист-вест-ирландия.
так же кассандра имеет настраиваемую consystency включая разные датацентры

опенсурсная кассандра вполне стабильна и работает на разных клаудах и даже на гибридных инфраструктурах типа половина на амазоне другая на гугле а третья на локальном компе :D
проблема с кассандрой это девелоперы которые должны понимать что они делают, в отличие от традиционных баз
User avatar
major Major Major Major
Уже с Приветом
Posts: 1386
Joined: 10 Jan 2000 10:01
Location: Хьюстон

Re: Синхронизация и репликация ДБ по многим частям света

Post by major Major Major Major »

Boriskin wrote: 24 Apr 2018 17:19 Встала след. задача - сделать DB solution с примерно следующими характеристиками
На Монго это все делается с пол пинка. Я в свое время настроил с нуля replica set за пару часов не имея никакого понятия как оно работает заранее. При этом у меня пара нодов крутилась в офисе а третья машина была у девелопера в России (для быстроты отладки), уходя в оффлайн постоянно. Был поражен лекгостью с какой все это заработало
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Синхронизация и репликация ДБ по многим частям света

Post by valchkou »

major Major Major Major wrote: 02 May 2018 23:03
Boriskin wrote: 24 Apr 2018 17:19 Встала след. задача - сделать DB solution с примерно следующими характеристиками
На Монго это все делается с пол пинка. Я в свое время настроил с нуля replica set за пару часов не имея никакого понятия как оно работает заранее. При этом у меня пара нодов крутилась в офисе а третья машина была у девелопера в России (для быстроты отладки), уходя в оффлайн постоянно. Был поражен лекгостью с какой все это заработало
монго это хорошая опция, проста не только в установке но и для програмистов
вопрос в объемах данных и high availability
если когда вдруг потребуется шардинг то вот где и начинается засада
User avatar
major Major Major Major
Уже с Приветом
Posts: 1386
Joined: 10 Jan 2000 10:01
Location: Хьюстон

Re: Синхронизация и репликация ДБ по многим частям света

Post by major Major Major Major »

valchkou wrote: 03 May 2018 01:10
major Major Major Major wrote: 02 May 2018 23:03
Boriskin wrote: 24 Apr 2018 17:19 Встала след. задача - сделать DB solution с примерно следующими характеристиками
На Монго это все делается с пол пинка. Я в свое время настроил с нуля replica set за пару часов не имея никакого понятия как оно работает заранее. При этом у меня пара нодов крутилась в офисе а третья машина была у девелопера в России (для быстроты отладки), уходя в оффлайн постоянно. Был поражен лекгостью с какой все это заработало
монго это хорошая опция, проста не только в установке но и для програмистов
вопрос в объемах данных и high availability
если когда вдруг потребуется шардинг то вот где и начинается засада
Да, у них отличный драйвер для .net с поддержкой линка. Работал и из r studio без проблем. Шардинг это уже сложнее, там надо думать и лучше на этапе дизайна базы. Я когда налаживал наверное раза три все убивал нафиг и начинал с нуля, думаю пару тройку дней потратил. Но топикстартеру шардинг вряд ли понадобится. Я рекомендую поставить и поиграться. Монговские процессы можно поднять на одной машине, то есть для первоначального устройства реплики сета запустить три штуки локально, никаких дополнительных серверов не потребуется, а потом присоединять внешние по мере надобности.
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Синхронизация и репликация ДБ по многим частям света

Post by valchkou »

ну тогда https://mariadb.com/
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Синхронизация и репликация ДБ по многим частям света

Post by iDesperado »

major Major Major Major wrote: 02 May 2018 23:03 На Монго это все делается с пол пинка. Я в свое время настроил с нуля replica set за пару часов не имея никакого понятия как оно работает заранее. При этом у меня пара нодов крутилась в офисе а третья машина была у девелопера в России (для быстроты отладки), уходя в оффлайн постоянно. Был поражен лекгостью с какой все это заработало
ну у монги то и работа так себе. они не пытаются ни транзакции, ни консистентности, ни ключей. отсюда и простота.
мне казалось у касандры тоже транзакции и консистентность тоже лишь на одну таблицу.
tessob
Уже с Приветом
Posts: 576
Joined: 07 Jan 2016 13:04

Re: Синхронизация и репликация ДБ по многим частям света

Post by tessob »

Lazy444 wrote: 01 May 2018 16:57
tessob wrote: 30 Apr 2018 18:44 К сожалению не знаком с этими продуктами/технологиями. Однако в реальном проекте как-то сцыкотно обычно брать проприетарные технологии с неочевидными сайд-эффектами и минимумом открытых фидбеков от клиентов. Причем, чем крупнее вендор, тем сцыкотнее. Особенно в последние лет 10. 8)
:o
Более двадцати лет работаю с Ораклом. Если вы не знакомы с этими продуктами/технологиями, то это ваши проблемы :D
Обозвать Оракл "проприетарные технологии с неочевидными сайд-эффектами и минимумом открытых фидбеков от клиентов" , спасибо, посмешили. В Гугл батенька :-)
Простите, но именно такие специалисты как вы и отпугивают меня от таких брендов, как Oracle. Посмотрите сами, ваш RAC - до 100 километров. Вы действительно считаете, что если я размещу кластер на разных материках в публичных сетях, то никаких сайд эффектов у меня точно не будет?
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Синхронизация и репликация ДБ по многим частям света

Post by iDesperado »

tessob wrote: 03 May 2018 09:26 Простите, но именно такие специалисты как вы и отпугивают меня от таких брендов, как Oracle. Посмотрите сами, ваш RAC - до 100 километров. Вы действительно считаете, что если я размещу кластер на разных материках в публичных сетях, то никаких сайд эффектов у меня точно не будет?
я тоже считаю, что нужно быть ну очень крупным спецом, что бы после 20 лет с ораклом оставались "неочевидные сайд-эффекты" при синхронизации буферного кэша оракла. там требование sync в микросекунды, какие сотни км ? возьмите что-то попроще, вы явно 20 лет потеряли впустую. возьмите NoSQL, там все заметно проще.
User avatar
major Major Major Major
Уже с Приветом
Posts: 1386
Joined: 10 Jan 2000 10:01
Location: Хьюстон

Re: Синхронизация и репликация ДБ по многим частям света

Post by major Major Major Major »

iDesperado wrote: 03 May 2018 08:07
major Major Major Major wrote: 02 May 2018 23:03 На Монго это все делается с пол пинка. Я в свое время настроил с нуля replica set за пару часов не имея никакого понятия как оно работает заранее. При этом у меня пара нодов крутилась в офисе а третья машина была у девелопера в России (для быстроты отладки), уходя в оффлайн постоянно. Был поражен лекгостью с какой все это заработало
ну у монги то и работа так себе. они не пытаются ни транзакции, ни консистентности, ни ключей. отсюда и простота.
мне казалось у касандры тоже транзакции и консистентность тоже лишь на одну таблицу.
Ну так от задачи и от подхода зависит. При правильно построенной модели документов в их идеологии много из мира SQL становится уже не особо нужным. Я не утверждаю что Монго это замена скажем ms sql для любой задачи, у них своя ниша где уже sql server неуютно себя ощущает (вот такая региональная репликация к примеру, или те же aggregation pipeline). У меня системы есть как на той так и на другой платформе, главное не забывать про поговорку про молоток и гвозди.
User avatar
Mark
Уже с Приветом
Posts: 1981
Joined: 10 Oct 2000 09:01
Location: New England

Re: Синхронизация и репликация ДБ по многим частям света

Post by Mark »

Lazy444 wrote: 03 May 2018 15:38 ..По моему мнению для абсолютного большинства задач достаточно Oracle Standard Edition + Physical Standby DB. Все. А 100 км или 1000 км влияет только на задержки по сети.
ну ты палку то не перегибай - есть у меня кастомеры на SE - больше всего не хватает параллелизма - на скорость реально влияет. Ну и Standby надо руками допиливать - не rocket science конечно - но скриптовать надо.
tessob wrote: 03 May 2018 09:26 Простите, но именно такие специалисты как вы и отпугивают меня от таких брендов, как Oracle. Посмотрите сами, ваш RAC - до 100 километров. Вы действительно считаете, что если я размещу кластер на разных материках в публичных сетях, то никаких сайд эффектов у меня точно не будет?
Давайте не путать круглое с мягким, для таких вещей надо делать active-active репликацию (Golden Gate вполне себе работает) - RAC это другая технология... если вас устраивает read/only replica то расстояние в Oracle роли не играет - ставится куча far-sync серверов и вперед.
Но как уже писал Lazy444 если нет денег то в сторону Oracle смотреть не стоит.
По поводу Кассандры - если теоретики и пишут про распределенные кластера - то на практике это не работает как должно :) про support от DataStax я вообще лучше промолчу.
mskmel
Уже с Приветом
Posts: 947
Joined: 24 Sep 2013 05:58
Location: US\GA

Re: Синхронизация и репликация ДБ по многим частям света

Post by mskmel »

Mark wrote: 03 May 2018 16:17 про support от DataStax я вообще лучше промолчу.
Если добавить суппорт к Кассандре и стоимость их professional services , то Оракл уже не таким дорогим кажется.
Тоже самое относится и к Монго vs Oracle SE.
tessob
Уже с Приветом
Posts: 576
Joined: 07 Jan 2016 13:04

Re: Синхронизация и репликация ДБ по многим частям света

Post by tessob »

Топик начался с:
1. требуется репликация всех данных целиком на разные регионы - Сев. Америка, Зап. Европа и Азия
Я поделился своим опытом с единственным мастером и кучей слейвов. Решение у нас было на Оракле, если чо. Однако Оракл не потому, что он лучше мускуля или постгреса, а потому, что ИТ манагеры от заказчика решили, что их за факап с ораклом не уволят, а за факап с мускулем уволят точно. Когда решение проектировали заказчик призывал Оракловых консультантов, которые 2 недели показывали презы, махали руками, но от предложения запилить демо-решение с несколькими мастерами или организовать референс к клиенту, где это есть, отказались.

Что касается решения на нескольких мастерах, то все, что я знаю - это бесконечная еб.. работа с кластером и прОклятый архитектор.

З.Ы. У нас после запуска ни один ДБА ни разу не просыпался среди ночи.
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Синхронизация и репликация ДБ по многим частям света

Post by iDesperado »

tessob wrote: 03 May 2018 16:59 Я поделился своим опытом с единственным мастером и кучей слейвов. Решение у нас было на Оракле, если чо. Однако Оракл не потому, что он лучше мускуля или постгреса, а потому, что ИТ манагеры от заказчика решили, что их за факап с ораклом не уволят, а за факап с мускулем уволят точно. Когда решение проектировали заказчик призывал Оракловых консультантов, которые 2 недели показывали презы, махали руками, но от предложения запилить демо-решение с несколькими мастерами или организовать референс к клиенту, где это есть, отказались.

Что касается решения на нескольких мастерах, то все, что я знаю - это бесконечная еб.. работа с кластером и прОклятый архитектор.

З.Ы. У нас после запуска ни один ДБА ни разу не просыпался среди ночи.
у в индии и с 40 лет опыта и не такое рекомендуют, не важно что ораклу 40 еще нет. у меня в канторе десяток референсов с RAC кластером с датагвардом в соседний датацентр. и работают эти системы в странах между котором 4-6 тысяч км. просто нельзя людей с "20 лет опыта" подпускать к системам, если те не врубаюются как тот же RAC работает. мусье, почитайте что такое оракл и его буферный кеш. там суть в том что нода лезет на соседнюю вместо того что бы с SSD диска поднять блок, именно потому, что расчет что соседняя нода в микросекунды 8к блок отдаст. в этом вся суть.
если ноды за сотни км, это репликация. причем если сравнивать с понятиями NoSQL, то асинхронная, где ни транзакций ни консистенции ни ничего нет. даже уникальные ключи и те руками зачастую в NoSQL приходиться изобретать самостоятельно.
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Синхронизация и репликация ДБ по многим частям света

Post by iDesperado »

major Major Major Major wrote: 03 May 2018 14:37 Ну так от задачи и от подхода зависит. При правильно построенной модели документов в их идеологии много из мира SQL становится уже не особо нужным. Я не утверждаю что Монго это замена скажем ms sql для любой задачи, у них своя ниша где уже sql server неуютно себя ощущает (вот такая региональная репликация к примеру, или те же aggregation pipeline). У меня системы есть как на той так и на другой платформе, главное не забывать про поговорку про молоток и гвозди.
у нас DWH на хадупе с развесистыми авро объектами в паркете. первых пару лет казалось это сработает, а потом ентерпрайз взял свое. идеология документа работает только на каких-то сайтиках с юзером и лайками, где реально все на юзера можно завязать. как только что-то сложнее сайтика начинаются данные привязанные к инвойсу, внешние скоринги привязанные к адресу и все, впихивание идеологию документа вокруг не важно чего это боль.
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Синхронизация и репликация ДБ по многим частям света

Post by valchkou »

Mark wrote: 03 May 2018 16:17 По поводу Кассандры - если теоретики и пишут про распределенные кластера - то на практике это не работает как должно :) .
я практик, что у вас там не работает?
у нас все работает великолепно.
Стараемся сидеть на последних опенсурсных релизах.
От датастакса отказались ввиду дороговизны и странных ограничений по контракту.
User avatar
Леонид Ильич Брежнев
Уже с Приветом
Posts: 8628
Joined: 22 Mar 2011 01:40

Re: Синхронизация и репликация ДБ по многим частям света

Post by Леонид Ильич Брежнев »

alex_127 wrote: 25 Apr 2018 02:44 Я надеюсь что ваш лоад какой нибудь очень специальный. Просто то что глобально работает и при этом не дохнёт под реальной нагрузкой можно пересчитать на пальцах одного архитекта. А самые работающие (спаннер, dynamodb global tables) только в клауде.
А что DynamoDB реплицирует через континенты, а не в пределах одного ринга - группы DC в нескольких милях друг от друга?
Cross ring traffic у Амазона всегда был и медленный и дорогой, по крайней мере мне так пару лет назад в ВПШ рассказывали.
User avatar
Леонид Ильич Брежнев
Уже с Приветом
Posts: 8628
Joined: 22 Mar 2011 01:40

Re: Синхронизация и репликация ДБ по многим частям света

Post by Леонид Ильич Брежнев »

Lazy444 wrote: 25 Apr 2018 03:56 Вот условие задачи (одно из) :
2. адекватная синхронизация данных между регионами за приемлемое время (суперскорость в силу определенных причин не критична), но хотелось бы чтобы write/update в одном месте доходили до других не через часы.

Если два пользователя изменили одну и ту же запись с интервалом в одну минуту, и первое изменение не успело в другую базу до того, как там произошло второе изменение, то какое изменение, по вашему, оставляем ? Первое или второе ? и почему ?
Ну бывает еще eventually consistence vs. consistent read. Если нужно первое, то результат не предсказуем, если второе, то результат гарантирован. Кассандру скажем можно развернуть так, что бы было в нескоько DC реплицировать. Но это будет не быстро, и чем таких replicatable DCs тем медленне будет. Но работать будет.
User avatar
Леонид Ильич Брежнев
Уже с Приветом
Posts: 8628
Joined: 22 Mar 2011 01:40

Re: Синхронизация и репликация ДБ по многим частям света

Post by Леонид Ильич Брежнев »

Boriskin wrote: 26 Apr 2018 15:36
Если единственного мастера окажется мало, например по причини миллионов пользователей, то боюсь, что тут уже никто вам не даст готового рецепта.
Миллионов не будет точно, десятки тысяч - теоретический предел. :D
Cassandra single host installation, 60K writes per second :( :( :(
alex_127
Уже с Приветом
Posts: 7723
Joined: 29 Mar 2000 10:01
Location: Kirkland,WA

Re: Синхронизация и репликация ДБ по многим частям света

Post by alex_127 »

Леонид Ильич Брежнев wrote: 03 May 2018 23:34
alex_127 wrote: 25 Apr 2018 02:44 Я надеюсь что ваш лоад какой нибудь очень специальный. Просто то что глобально работает и при этом не дохнёт под реальной нагрузкой можно пересчитать на пальцах одного архитекта. А самые работающие (спаннер, dynamodb global tables) только в клауде.
А что DynamoDB реплицирует через континенты, а не в пределах одного ринга - группы DC в нескольких милях друг от друга?
Cross ring traffic у Амазона всегда был и медленный и дорогой, по крайней мере мне так пару лет назад в ВПШ рассказывали.
https://aws.amazon.com/dynamodb/global-tables/

Что такое cross ring - не знаю, разве там кольцо?

Return to “Вопросы и новости IT”