Распределенные постгры: высокая доступность для критически важных приложений

PGEDGE спонсировал этот пост.

Системы базы данных, которые критически важные приложения миссии должны обеспечивать непоколебимую надежность, исключительную производительность и глобальную доступность. Когда время простоя переводится непосредственно к потерянным доходам, поврежденной репутации или нарушению основных услуг, традиционные подходы с высокой доступностью часто терпят неудачу. Распределенный PostgreSQL стал мощной альтернативой традиционным методам, обеспечивая непрерывные операции в глобальных сетях.

Традиционные способы достижения высокой доступности

Обычная высокая доступность PostgreSQL обычно опирается на конфигурации Master-Replica с автоматическим отказом. Несмотря на эффективное для обработки изолированных сбоев сервера, эти подходы имеют неотъемлемые ограничения при столкновении с более крупными проблемами:

  • Региональная уязвимость: Если целая облачная область испытывает отключение, как первичные, так и реплики могут стать недоступными одновременно.
  • Задержки с аварийным переключением: Даже автоматизированные процессы отказоустойчивости вводят время восстановления, прерывая доступность услуг.
  • Глобальная задержка: Пользователи географически отдалены от опыта базы данных значительно медленнее время отклика.
  • Окна технического обслуживания: Обновления системы и изменения схемы часто требуют запланированного времени простоя.

Для приложений, где каждая минута простоя имеет значительные последствия, эти ограничения представляют собой неприемлемые риски.

Распределенный подход PostgreSQL

Распределенные архитектуры PostgreSQL решают эти проблемы посредством принципиально разных принципов проектирования. Вместо того, чтобы обрабатывать отказоустойчивость и баланс нагрузки с помощью сложных, рискованных и ресурсных операций, нативная репликация мультимастера предлагает решение для высокой доступности и аварийного восстановления, встроенного в архитектуру вашей базы данных.

При таком подходе кластеры Multimaster (также называемые активными активными) разработаны с несколькими узлами базы данных-потенциально охватывают различные географические регионы и/или поставщики облаков-одновременно обрабатывая операции чтения и записи. Результаты?

  • Нет единой точки неудачи: Система остается доступной, даже если некоторые узлы терпят неудачу. Когда любой узел уходит, трафик рассеивается между здоровыми узлами в активном кластере, не дожидаясь, чтобы реплика будет способствовать мастеру, как это было бы в традиционной активной пассивной установке. Если один или несколько узлов падают, трафик немедленно выходит из строя до оставшихся активных узлов.
  • Сниженная задержка: Пользователи могут подключаться к соседним узлам для более быстрых ответов. Размещение данных и базы данных, близких к краю, может привести к значительному улучшению времени загрузки. Это также помогает обеспечить постоянный опыт для всех пользователей, где бы они ни находились.
  • Цели с низким и нулевым временем восстановления (RTO) и цели точки восстановления (RPO): Организации могут соответствовать критическим требованиям к высокой доступности, такими как четыре девята доступности и выше. При использовании активного активного решения базы данных операции по техническому обслуживанию, как обновления, могут быть выполнены практически без простоя с помощью таких методов, как обновления.
  • Географическая устойчивость: Реализация подхода с мультирегионом и/или многопользой обеспечивает защиту от сбоев региональной инфраструктуры. Этот подход также предлагает защиту от блокировки поставщиков, а также оптимизацию затрат и производительности.
  • Упрощенные операции: Когда решение встроено в архитектуру, как и в распределенной базе данных PostgreSQL, операции оптимизируются. Меньше времени инвестируется, и меньше риска задействовано по сравнению с традиционной межрегистрированной и кросс-кроткой, которая используется для достижения того же конечного результата.

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

Соображения реализации

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

Модели согласованности данных

Различные приложения имеют различные требования для согласованности данных:

  • Сильная последовательность: Все узлы должны всегда показывать одни и те же данные.
  • Возможная последовательность: Временные различия между узлами приемлемы.

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

Совместимость с сообществом Postgresql

Решения, построенные на стандартном PostgreSQL, обычно обеспечивают наилучшее долгосрочное значение, самое быстрое время для усыновления и самые низкие усилия по миграции.

В результате при оценке решений организации должны оценить:

  • Поддержка расширения: Совместимо ли это с необходимыми расширениями PostgreSQL?
  • Поддержка функций: Есть ли у него доступ к основным возможностям PostgreSQL?
  • Путь обновления: Может ли он принять новые версии PostgreSQL с минимальной дисперсией от официального графика выпуска PostgreSQL?

Ресурсы, такие как PG Scorecard, можно использовать для оценки того, являются ли требования поставщика о совместимости со стандартным PostgreSQL.

Избегание конфликтов и разрешение

При работе с приложениями, которые доступны для распределенной пользовательской базы, важно рассмотреть решение, которое может соответствовать конфликтам надлежащим образом при сохранении целостности данных.

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

Другой пример — при работе с постепенными суммами. Такие решения, как столбцы Delta-Apply без конфликтов Pggedge Spock, могут предотвратить конфликты, изменяя столбцы с дельтой обновления и отправив дельту в другие базы данных, гарантируя правильный результат в конце.

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

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

Реальные приложения
Финансовые услуги

Банки и финансовые учреждения могут извлечь выгоду из распределенного PostgreSQL, чтобы предотвратить конфликты и гарантировать, что они всегда в режиме реального времени. Это особенно актуально при стремлении к:

  • Поддерживать 24/7 торговых и банковских платформ.
  • Соответствовать строгим нормативным требованиям для доступности.
  • Процесс -транзакции быстро независимо от местоположения клиента.

Системы здравоохранения

Поставщики медицинских услуг могут использовать распределенный PostgreSQL для:

  • Непрерывный доступ к записям пациентов в условиях учреждений.
  • Соответствие требованиям конфиденциальности данных и резидентуру.
  • Немедленно доступ к критическим данным (с точными результатами) при обеспечении ухода за пациентом.

Платформы электронной коммерции

Интернет -ритейлеры могут внедрить распределенные PostgreSQL:

  • Поддерживать торговые приложения и системы запасов с глобальной доступностью.
  • Оптимизируйте производительность заказа для клиентов по всему миру и обеспечить постоянный пользовательский опыт.
  • Обработайте сезонные скачки трафика без сбоев или беспокоиться о целостности данных.

Будущее высокой доступности Postgres

Распределенный PostgreSQL предоставляет устойчивое решение базы данных для приложений, которые требуют сверхвысокой доступности, обслуживания с низким до нуля и низкой задержки. Вы получаете все преимущества PostgreSQL, от разработки с открытым исходным кодом, универсальной и расширяемой системы управления реляционной базой данных (RDBMS) и 100% стандартного соответствия SQL (среди многих других преимуществ) при разработке масштабируемости, гибкости и без конфликтов.

Поскольку приложения продолжают обслуживать глобально распределенных пользователей с постоянно растущими объемами данных, распределенный PostgreSQL стал ценным решением для управления данными в рамках критически важной инфраструктуры. Устранение традиционных подходов к доступности базы данных (например, кластеров с активными пассивными), эти архитектуры позволяют новое поколение устойчивых приложений, которые способны избежать прерывавшихся операций с часто значительно улучшенной производительностью.

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

Мы предоставляем распределенную платформу баз данных с открытым исходным кодом для современных приложений, которые требуют постоянной доступности, глобального доступа и быстрого отклика. Мы впервые получили достижения Postgres и имеем сильный послужной список в распределенных системах, веб —API и облачной безопасности. Узнайте больше последних из Pggege Trending Stories youtube.com/thenewstack Tech Moving быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Разработчик программного обеспечения на фоне, с множественными изобретениями в повседневном использовании миллионами людей. Успешный предприниматель, технолог и генеральный директор, специализирующийся на корпоративном программном обеспечении и рынках Cloud/SaaS в сша, Европе и Азии/Тихоокеанском регионе. Соучредитель и/или генеральный директор Webmethods, EDB, Visualcv, Sparkpost, … Подробнее от Phillip Merrick

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *