Географическое резервирование для базы данных: какие варианты? - PullRequest
2 голосов
/ 24 октября 2011

Нам необходимо обеспечить географическую избыточность в нашем проекте, он имеет массивную базу данных (2-20 ТБ в зависимости от требований конкретного клиента).У нас непрерывный поток данных из сети (например, 1-20 ГБ в час).

В настоящее время у нас есть Oracle (без RAC) с J2EE AppServer в кластере RHEL (Linux) и диски SAN для хранения,Короче говоря, одна БД, несколько AppServs.

Нам нужно географическое резервирование.Требование можно суммировать, если все в порядке, две отдельные установки нашего продукта обслуживают две разные сети (каждая обслуживает одну).Когда один из них выходит из строя, другой должен обслуживать оба.

Дополнительные примечания:

  • Нам нужна реляционная БД с поддержкой SQL, так как складирование является одной из основных потребностей.
  • Предпочитают не использовать размещенные / облачные сервисы, такие как: http://aws.amazon.com/vpc/, так как наши клиенты могут быть крайне разборчивы в отношении безопасности / конфиденциальности (даже если они предоставляются хостинговыми / облачными сервисами).

Обесценивая логику приложения, какие есть варианты для простой репликации моих данных?STFW дал только следующие результаты (так как я не эксперт DBA, мои интерпретации могут быть неверными):

  • Удивительно, но я не смог найти продукт от Oracle для географической избыточности.Oracle RAC предназначен для локального кластера (больше для горизонтальной масштабируемости, чем для избыточности).
  • MySQL , кажется, поддерживает только активный режим ожидания при распределении.Мне нужно active-active.
  • Guident , похоже, предоставляет сервис на основе некоторых продуктов Oracle, но не продукта.

Спасибо - Kashyap

Ответы [ 2 ]

0 голосов
/ 06 января 2013

При рассмотрении геораспределенной базы данных, предпочтительно с репликацией, мы должны учитывать компромиссы между предпочтением A (доступность) или C (согласованность) (при наличии раздела WAN), иначе L (задержка) или C (согласованность) (без разделения WAN).

Теперь, если ваше приложение может терпеть умеренную задержку, имея сильную магистраль WAN, вы должны пойти на согласованность (для которой предназначен dbms), в противном случае, если приложение может выдержать случайную устаревание и периодическое отключение в WAN, перейдите к доступности.

Затем встает вопрос о том, как обеспечить согласованность, доступность и требования к задержке для вашего приложения. То, что я понял, согласованность в реплицированных DBMS происходит через синхронную связь, где обеспечение доступности в основном уменьшает свойство согласованности (что сейчас предлагают системы NoSQL). Тем не менее, обеспечение требования к задержке для такого рода dbms остается открытым вопросом как для исследователей баз данных, так и для систем (я думаю, !!).

Подробнее на http://danweinreb.org/blog/improving-the-pacelc-taxonomy

Что мне больше всего понравилось, так это то, что подобные вопросы возникали перед всем сообществом. Это реальные требования, и у нас до сих пор нет соответствующих решений. Переход на новую или открытую архитектуру из системы, такой как Oracle, не является простым решением. Кажется, такие гиганты, как Google, все еще ищут правильный ответ. Смотри http://research.google.com/archive/spanner.html

0 голосов
/ 28 октября 2011

Полагаю, что MySQL cluster должен работать на вас. Другие решения для нескольких мастеров можно найти здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...