Jump to content

Распределенный SQL

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

Иногда распределенные базы данных SQL называют NewSQL , но NewSQL — это более широкий термин, включающий базы данных, которые не являются распределенными базами данных .

Google Компания Spanner популяризировала современную концепцию распределенной базы данных SQL. Google описал базу данных и ее архитектуру в техническом документе 2012 года под названием «Spanner: глобально-распределенная база данных Google». В документе описывается, что Spanner превратился из большой таблице , подобного хранилища значений ключей , во временную многоверсионную базу данных, где данные хранятся в «схематизированных полуреляционных таблицах». [1]

Spanner использует атомные часы с алгоритмом Paxos для достижения консенсуса в отношении состояния, распределяемого между серверами. В 2010 году и в более ранних версиях ClustrixDB (теперь MariaDB Xpand) перешла с аппаратного устройства на программную базу данных на базе Paxos. [2] и позже был приобретен MariaDB [3] и добавлен в SaaS облачное предложение под названием SkySQL . [4] В 2015 году два инженера Google покинули компанию, чтобы создать базу данных Cockroach DB , которая достигает аналогичных результатов с использованием алгоритма Raft без атомных часов или специального оборудования. [5]

Spanner в основном используется для транзакций и временных рядов. Тем не менее, Google продолжил это исследование, опубликовав статью о Google F1, которую он описывает как базу данных гибридной транзакционно-аналитической обработки, построенную на Spanner. [1]

Архитектура

[ редактировать ]

Распределенные базы данных SQL имеют следующие общие характеристики:

  • синхронная репликация
  • строгая согласованность транзакций, по крайней мере, в зонах доступности (т. е. соответствие ACID ) [6]
  • Структура внешнего интерфейса реляционной базы данных – это означает, что данные представлены в виде таблиц со строками и столбцами, аналогичных любой другой СУБД.
  • автоматически сегментированное хранилище данных
  • базовое хранилище ключей-значений [7] [1]
  • собственная реализация SQL

Согласно теореме CAP , распределенные базы данных SQL являются «CP» или согласованными и устойчивыми к разделению. Алгоритмически они жертвуют доступностью, поскольку сбой основного узла может сделать базу данных недоступной для записи.

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

Распределенные реализации SQL

[ редактировать ]
Продавец API
Амазонка Аврора PostgreSQL и MySQL
Другие данные (Microsoft) PostgreSQL
ТараканДБ PostgreSQL -подобный
Google-гаечный ключ Собственный SQL-подобный
Кластер MySQL MySQL
НуоБД Собственный SQL
ЮгабайтДБ PostgreSQL и Cassandra, подобные CQL
ТиБД MySQL -подобный
MariaDB XPand МарияДБ
Терадата Собственный SQL-подобный
ЯДБ [9] Собственный SQL-подобный

По сравнению с НьюСБЛ

[ редактировать ]

CockroachDB, YugabyteDB и другие иногда называют себя базами данных NewSQL . Некоторые базы данных NewSQL, такие как Citus и Vitess, имеют принципиально разные архитектуры, но Мэтью Аслетт, придумавший этот термин, привел их в качестве примеров NewSQL. [10] По сути, распределенные базы данных SQL создаются с нуля, а базы данных NewSQL включают технологии репликации и сегментирования, добавленные к существующим реляционным базам данных клиент-сервер, таким как PostgreSQL . [11] Некоторые эксперты определяют базы данных DistributedSQL как более специфическое подмножество баз данных NewSQL. [12]

  1. ^ Jump up to: а б с https://storage.googleapis.com/pub-tools-public-publication-data/pdf/41344.pdf [ пустой URL PDF ]
  2. ^ Хиггинботэм, Стейси (3 мая 2010 г.). «Clustrix создает Святой Грааль Webscale: масштабируемую базу данных» . gigaom.com .
  3. ^ «MariaDB приобретает Clustrix» . 20 сентября 2018 г.
  4. ^ Баер (dbInsight), Тони. «Для MariaDB пришло время собрать все воедино» . ЗДНет .
  5. ^ Морган, Тимоти Прикетт (22 февраля 2017 г.). «Google Spanner вдохновляет CockroachDB обогнать его» . Следующая платформа .
  6. ^ Будущее баз данных: распределенный SQL и MariaDB® , получено 21 декабря 2022 г.
  7. ^ «Архитектура распределенной базы данных SQL» . 23 сентября 2020 г. – через www.youtube.com.
  8. ^ «Жизнь без атомных часов» . Тараканьи лаборатории . 21 апреля 2020 г.
  9. ^ «YDB — это распределенная база данных SQL с открытым исходным кодом, которая сочетает в себе высокую доступность и масштабируемость с высокой согласованностью и транзакциями ACID» . ydb.tech .
  10. ^ «О чем мы говорим, когда говорим о NewSQL — слишком много информации» .
  11. ^ «Базы данных SQL и NoSQL: в чем разница?» . www.ibm.com . 12 июня 2022 г.
  12. ^ Прабагарен, Гокул (30 октября 2019 г.). «NewSQL — следующая эволюция баз данных» . Середина .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5fb3279164768fc79145ba6d734290c2__1721970900
URL1:https://arc.ask3.ru/arc/aa/5f/c2/5fb3279164768fc79145ba6d734290c2.html
Заголовок, (Title) документа по адресу, URL1:
Distributed SQL - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)