Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

FoundationDB - это бесплатная многомодельная распределенная база данных NoSQL с открытым исходным кодом, разработанная Apple Inc. с архитектурой без совместного использования ресурсов . [3] Продукт был разработан на основе «основной» базы данных с дополнительными функциями, предоставленными в «слоях». [4] Основная база данных предоставляет упорядоченное хранилище значений ключей с транзакциями . [5] Транзакции могут читать или записывать несколько ключей, хранящихся на любой машине в кластере, при полной поддержке свойств ACID . [6] Транзакции используются для реализации различных моделей данных через уровни.

Программа FoundationDB Alpha началась в январе 2012 года и завершилась 4 марта 2013 года выпуском публичной бета-версии. [7] Их версия 1.0 была выпущена для общего доступа 20 августа 2013 года. 24 марта 2015 года стало известно, что Apple приобрела компанию. [8] Уведомление на веб-сайте FoundationDB указывало, что компания «расширила» свою миссию и больше не будет предлагать загрузки программного обеспечения. [9]

19 апреля 2018 года Apple открыла исходный код программного обеспечения, выпустив его под лицензией Apache 2.0 . [10]

Основные особенности [ править ]

Основные особенности FoundationDB включают следующее:

Упорядоченное хранилище ключей и значений
В дополнение к поддержке стандартных операций чтения и записи на основе ключей, свойство упорядочения обеспечивает чтение диапазона, что позволяет эффективно сканировать большие массивы данных. [5]
Сделки
При обработке транзакций используется мультиверсионный контроль параллелизма для чтения и оптимистичный параллелизм для записи. Транзакции могут охватывать несколько ключей, хранящихся на нескольких машинах.
КИСЛОТНЫЕ свойства
FoundationDB гарантирует сериализуемую изоляцию и высокую надежность за счет избыточного хранилища на диске, прежде чем транзакции будут считаться совершенными .
Слои
Слои сопоставляют новые модели данных , API и языки запросов с ядром FoundationDB. Они используют способность FoundationDB обновлять несколько элементов данных за одну транзакцию, обеспечивая согласованность. [4] Примером может служить их уровень SQL . [11]
Товарные кластеры
FoundationDB предназначена для развертывания на распределенных кластерах серийного оборудования под управлением Linux . [12]
Репликация
FoundationDB хранит каждую часть данных на нескольких машинах в соответствии с настраиваемым коэффициентом репликации. Тройная репликация - рекомендуемый режим для кластеров из 5 и более машин.
Масштабируемость
FoundationDB поддерживает горизонтальное масштабирование путем добавления машин в кластер с автоматической обработкой репликации и разделения данных.
Поддерживаемые системы
FoundationDB поддерживает пакеты для Linux, Windows и macOS. Версия для Linux поддерживает производственные кластеры, а версии для Windows и macOS поддерживают локальные операции в целях разработки. Также поддерживаются конфигурации на Amazon EC2 . [13]
Привязки языков программирования
FoundationDB поддерживает языковые привязки для Python, Go, Ruby, Node.js, Java, PHP и C, которые доступны вместе с продуктом. [13]

Ограничения дизайна [ править ]

Дизайн FoundationDB приводит к нескольким ограничениям:

Длинные сделки
FoundationDB не поддерживает транзакции продолжительностью более пяти секунд.
Крупные сделки
Общий объем записанных ключей и значений не может превышать 10 МБ.
Большие ключи и значения
Размер ключей не может превышать 10 КБ. Размер не может превышать 100 КБ.

История [ править ]

FoundationDB со штаб-квартирой в Вене, штат Вирджиния [13], была основана в 2009 году Ником Лавеццо, Дэйвом Розенталем и Дэйвом Шерером, опираясь на их опыт работы на руководящих и технологических должностях в своей предыдущей компании Visual Sciences. [14]

В марте 2015 года сайт сообщества FoundationDB был обновлен, и в нем было указано, что компания изменила направление и больше не будет предлагать загрузки своего продукта. Компания была приобретена Apple Inc. , что было подтверждено 25 марта 2015 года. [15] [8]

19 апреля 2018 года Apple открыла исходный код программного обеспечения, выпустив его под лицензией Apache 2.0 . [10]

См. Также [ править ]

  • Транзакция базы данных
  • Распределенная база данных
  • Распределенная транзакция
  • Список ранее проприетарного программного обеспечения

Ссылки [ править ]

  1. ^ "Релизы apple / foundationdb" . github.com . Проверено 15 ноября 2020 .
  2. ^ FoundationDB: распределенное транзакционное хранилище ключей и значений с открытым исходным кодом - apple / foundationdb , 4 января 2019 г. - через GitHub
  3. ^ База данных хочет, чтобы вы перестали сбрасывать КИСЛОТУ
  4. ^ a b FoundationDB выпускает бета-версию своей базы данных NoSQL / YesACID
  5. ^ a b "Доступен NoSQL, совместимый с ACID FoundationDB" . Архивировано из оригинала на 2013-06-28 . Проверено 11 апреля 2013 .
  6. ^ Прорывные проблемы NoSQL FoundationDB: доминирование реляционных баз данных
  7. ^ «FoundationDB переносит транзакции в NoSQL» . Архивировано из оригинала на 2018-04-20 . Проверено 11 апреля 2013 .
  8. ^ a b Apple приобретает Durable Database Company FoundationDB
  9. ^ "Архивная копия" . Архивировано из оригинала на 2015-03-25 . Проверено 19 декабря 2019 .CS1 maint: заархивированная копия как заголовок ( ссылка )
  10. ^ a b «FoundationDB имеет открытый исходный код» . www.foundationdb.org . Проверено 19 апреля 2018 .
  11. ^ "Уровень SQL FoundationDB" . Архивировано из оригинала на 2013-08-20 . Проверено 21 августа 2013 .
  12. ^ FoundationdB выпускает новую платформу данных NoSQL
  13. ^ a b c FoundationDB стремится консолидировать NoSQL
  14. ^ SQL или NoSQL: FoundationDB запускает базу данных «Лучшее из обоих миров»
  15. ^ https://blogs.wsj.com/digits/2015/03/24/apple-acquires-foundationdb/?mod=WSJ_hps_sections_tech

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • FoundationDB в Твиттере
  • Блог FoundationDB