PolarDB — сервис Баз Данных для предприятий

PolarDB — это сервис по предоставлению реляционных баз данных следующего поколения от Alibaba.

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

PolarDB Alibaba Cloud


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

Что из себя представляет PolarDB ?

Alibaba Cloud Polar DB — это реляционная база данных следующего поколения, основанная на платформе облачных вычислений. То, что отличает PolarDB от традиционных баз данных, лежит в её архитектуре. Архитектура построена таким образом, чтобы разделять вычисления и хранение. Имеется поддержка множества узлов с атрибутом ‘только для чтения’.

PolarDB от Alibaba

PolarDB делит узлы на вычислительные узлы и узлы хранения. Вычислительные узлы — это серверы, которые выполняют в основном SQL-парсинг и вычисления движка хранения. Узлы хранения — это серверы, которые выполняют хранение блоков данных и моментальные снимки данных. Все узлы экземпляра, включая узлы ‘чтения/записи’ и узлы ‘только для чтения’, имеют доступ к одной и той же копии данных на узле хранения. В отличие от этого, традиционные модели облачных баз данных позволяют каждому экземпляру получить собственную копию данных.

PolarDB имеет полную систему управления на основе Docker для обработки создания экземпляра, удаления и задач создания учетной записи, полученные от пользователя. Она также включает в себя полную и детальную систему мониторинга и надежное переключение. Система управления также поддерживает набор метабаз, используемых для записи информации о местоположении каждого блока данных, который она предоставляет для PolarSwitch, который затем передает его в соответствующее место назначения.

Концепции проекта Alibaba Cloud PolarDB

Концепция разработки PolarDB имеет несколько революционных идей. Одним из таких примеров является то, как PolarDB переработал новую файловую систему для получения определенных данных ввода-вывода WAL (Write-Ahead Logging), таких как журнал Redo. Другой — использование высокоскоростной сети и высокопроизводительного протокола для размещения файлов базы данных и файлов журнала Redo на общих устройствах, что предотвращает многократные повторные операции вдоль одного пути ввода-вывода и делает это лучше, чем обычные методы binlog.

PolarDB производительность

Кроме того, в концепции сервера БД, PolarDB используются понятия, которые полностью совместимы с MySQL и поддерживают экосистему с открытым исходным кодом. Такой подход позволяет сохранить особые характеристики традиционных реляционных баз данных — от компилятора SQL до оптимизатора производительности и планов выполнения. PolarDB также использует специально разработанные блочные устройства хранения данных для таргетинга и улучшения пути ввода-вывода журнала повтора.

Общая философия концепции представляет из себя с одной стороны базы данных следующего поколения, такие как PolarDB. А сдругой стороны Amazon Aurora — это отказ от поддержки многоходовых конкурентных записей OLTP. Подобное часто встречается в распределенных базах данных с архитектурой, которая подразумевает одиночную запись и множественное чтение. Они упрощают трудную для понимания теоретическую модель распределенных систем и способны удовлетворить подавляющее большинство сценариев приложений OLTP и требований к производительности.

Архитектура Alibaba Cloud PolarDB

Как показано на рисунке ниже, PolarDB имеет распределенную кластерную архитектуру. Он сочетает в себе несколько передовых технологий, которые значительно увеличивают производительность обработки OLTP базы данных.

Схема работы PolarDB

PolarDB использует архитектуру раздельного хранения и обработки для обеспечения требований пользователей общедоступного облака к гибкому масштабированию. Вычислительные узлы и узлы хранения базы данных связаны с высокоскоростной сетью и используют протокол RDMA для выполнения передачи данных, в результате чего производительность ввода-вывода никогда не будет узким местом.

Сервер БД реализует платформу с одним master и множеством slave серверов, в которой узлы могут расширяться или сжиматься по мере необходимости для выполнения любого запроса. Master-узел и его узлы ‘только для чтения’ используют активный метод обработки отказа, который гарантирует, что вычислительные узлы используются в полной мере.

Глубокое погружение в архитектуру общих дисков Alibaba Cloud PolarDB

Логически, данные БД размещаются на серверах хранения блоков данных, к которым все серверы БД могут иметь общий доступ. Внутри, на сервере хранения, фактические данные разрезаются на куски для достижения цели ввода-вывода при обработке параллельных запросов от нескольких серверов.

PolarDB использует архитектуру общего диска и поддерживает несколько узлов типа ‘только для чтения’. Благодаря общему хранилищу затраты пользователей значительно снижаются за счет совместного использования одной копии данных на всех узлах.

Узлы базы данных разработаны, чтобы быть полностью совместимыми с MySQL. Главные и доступные ‘только для чтения’ узлы используют Active-Active методы обработки отказа для обеспечения высокой доступности службы БД. Файлы данных БД и redolog отправляются на удаленный Chunk Server из файловой системы пользовательского пространства через высокоскоростную сеть, работающую по протоколу RDMA, маршрутизируемую устройством управления данными.

В то же время серверы БД должны синхронизировать только информацию метаданных журнала Redo между собой. Надежность данных Chunk Server поддерживается несколькими копиями, при этом согласованность гарантируется протоколом Parallel-Raft.

Alibaba Cloud PolarDB в действии

Теперь, когда мы знаем, на что PolarDB способен, давайте взглянем на реализацию PolarDB для предприятий.

PolarDB для предприятий

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

Высокая доступность и масштабируемость

Одной из распространенных проблем в бизнесе является быстрое изменение требований. Самым простым решением этой проблемы является максимальное увеличение ресурсов. Однако это чрезвычайно дорогостоящий подход.

Наличие статических ресурсов означает, что ресурсы не полностью оптимизированы на основе требований. Вместо этого предприятия должны применять эластичный и масштабируемый подход. С помощью PolarDB вы можете масштабировать ресурсы вверх/вниз или шире/уже в соответствии с вашими потребностями. Благодаря разделению вычисления и хранения PolarDB позволяет масштабировать не только вычислительные ресурсы, но и ресурсы хранения. Кроме того, благодаря активной архитектуре обработки отказа вы можете быть уверены, что ваши службы всегда доступны.

Масштабируемость особенно важна для приложений электронной коммерции, таких как bid sniping. Bid sniping является интенсивным процессом данных, но и недолговечным. Используя PolarDB, вы можете добавлять узлы типа ‘только для чтения’ всего за минуту.

Облака и миграция

Многие из вас уже знакомы с преимуществами перехода в облако. Распределяя свои ресурсы в облаке, вы, по сути, избегаете риска наличия устаревшей инфраструктуры из-за быстрых технологических достижений. Ваша организация также будет свободна от утомительных задач по эксплуатации и техническому обслуживанию (O&M).

Однако, миграция в облако может быть сложным процессом. Такие проблемы, как отсутствие технических ресурсов или несовместимость мешают компаниям успешно внедрять облачную архитектуру. PolarDB решает эти проблемы, предоставляя несколько инструментов миграции облака, а также предлагая совместимость с MySQL.

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

Резервные копии высокой надежности для аварийного восстановления

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

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

Заключение

Alibaba Cloud PolarDB — это универсальная база данных, способная удовлетворить различные потребности сегодняшнего и завтрашнего бизнеса. PolarDB помогает компаниям реализовать возможность интеграции баз данных OLTP и OLAP, позволяя им больше сосредоточиться на основных задачах. С самыми современными характеристиками, такими как объем хранения 100TB и пропускной способностью диска 32Gbps, облако PolarDB Alibaba идеально для организаций которые хотят быть на передовой технологической линии.

Наша компания, Технотренд, готова оказать услуги по внедрению облачных баз данных. При этом мы обеспечим полную конфиденциальность информации и надежность обработки. Мы работаем с такими поставщиками сервисов Cloud Data как Microsoft, Amazon, Google, Alibaba.