Alibaba випустила вихідний код PolarDB

Alibaba звільнений кілька днів тому прийняли рішення про випуск вихідного коду Ваша розподілена система управління базами даних "PolarDB" який базується на PostgreSQL, код відкритий за ліцензією Apache 2.0.

Для тих, хто не знайомий з PolarDB, ви повинні це знати це реляційна база даних на основі хмари, розробленої Alibaba, що розширює можливості PostgreSQL для розподіленого зберігання даних з цілісністю та підтримкою транзакцій ACID у контексті всієї глобальної бази даних, розподіленої між різними вузлами кластера.

PolarDB теж підтримує розподілену обробку запитів SQL, забезпечуючи відмовостійкість та надлишкове зберігання даних для поповнення інформації після виходу з ладу одного або декількох вузлів. Якщо вам потрібно розширити пам’ять, просто додайте нові вузли до кластера.

Полярна БД складається з двох частин: розширення та набір виправлень для PostgreSQL. Патчі розширюють можливості ядра PostgreSQL, а розширення включають компоненти, реалізовані окремо від PostgreSQL, такі як розподілений механізм управління транзакціями, глобальні служби, розподілений процесор запитів SQL, додаткові метадані, інструменти для управління кластером, реалізація кластера та спростити перехід на нього існуючих систем.

Патчі додають розподілену версію механізму контролю паралельності мультиверсії (MVCC) до ядра PostgreSQL для різних рівнів ізоляції. Більшість функціональних можливостей PolarDB було перенесено на розширення, що зменшує залежність від PostgreSQL та спрощує оновлення та розгортання рішень на основі PolarDB (спрощує перехід на нові версії PostgreSQL та підтримує повну сумісність PostgreSQL).

Є три основні компоненти в кластері: вузли бази даних (DN), менеджер кластерів (CM) та служба управління транзакціями (TM), додатково може бути задіяний проксі-балансир навантаження. Кожен із компонентів є окремим процесом і може працювати на різних фізичних серверах. Вузли бази даних обслуговують клієнтські запити SQL і одночасно виконують роль координаторів виконання розподілених запитів за участю інших вузлів бази даних.

Адміністратор кластера контролює стан кожного вузла бази даних, зберігає конфігурацію кластера та надає інструменти для управління, резервного копіювання, балансування навантаження, оновлення, запуску та зупинки вузлів. Служба управління транзакціями відповідає за підтримку загальної цілісності у всьому кластері.

PolarDB базується на розподіленій обчислювальній архітектурі Shared-nothing, згідно з якою дані розподіляються під час зберігання до різних вузлів, не використовуючи спільне сховище для всіх вузлів, і кожен вузол відповідає за частину даних, пов'язану з ним, і виконує відповідні дані запитів.

Кожна таблиця фрагментована за допомогою хешів первинного ключа. Якщо запит охоплює дані, розташовані на різних вузлах, розподілений механізм виконання транзакції та координатор транзакцій підключаються для забезпечення атомності, послідовності, ізоляції та надійності (ACID).

Для забезпечення відмовостійкості кожен сегмент реплікується щонайменше у трьох вузлах. Для економії ресурсів повні дані містять лише дві репліки, а одна обмежена збереженням журналу ззаду (WAL). Один з двох повних реплікальних вузлів обраний лідером і бере участь у обробці запитів, тоді як другий вузол діє як запасний для розгляданого сегмента даних, а третій бере участь у виборі основного вузла і може використовуватися для відновлення інформація у разі виходу з ладу двох вузлів із повними репліками.

Реплікація даних між вузлами кластера організована за допомогою алгоритму Paxos, який забезпечує послідовне визначення консенсусу в мережі з потенційно ненадійними вузлами. Слід зазначити, що повну функціональність СУБД PolarDB планується випустити у трьох версіях.

Нарешті, якщо вам цікаво дізнатись більше про це, ви можете проконсультуватися деталі у наступному посиланні.


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.