FoundationDB
Оригинальный автор(ы) |
|
---|---|
Разработчик(и) | Apple Инк. |
Первоначальный выпуск | 4 марта 2013 г. |
Стабильная версия | 7.1.24/25 [1] / 7 ноября 2022 г. |
Репозиторий | |
Написано в | С++ , С [2] |
Операционная система | |
Доступно в | Английский |
Тип | NoSQL |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | www |
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]
См. также
[ редактировать ]- Транзакция базы данных
- Распределенная база данных
- Распределенная транзакция
- Список ранее проприетарного программного обеспечения
Ссылки
[ редактировать ]- ^ «Релизы apple/foundationdb» . github.com . Проверено 14 ноября 2022 г.
- ^ FoundationDB: распределенное транзакционное хранилище ключей и значений с открытым исходным кодом — apple/foundationdb , 4 января 2019 г. — через GitHub
- ^ Дом базы данных хочет, чтобы вы прекратили бросать кислоту
- ^ Jump up to: а б FoundationDB выпускает бета-версию своей базы данных NoSQL/ YesACID
- ^ Jump up to: а б «Доступен ACID-совместимый NoSQL FoundationDB» . Архивировано из оригинала 28 июня 2013 г. Проверено 11 апреля 2013 г.
- ^ Прорыв NoSQL от FoundationDB бросает вызов доминированию реляционных баз данных
- ^ «FoundationDB переносит транзакции в NoSQL» . Архивировано из оригинала 20 апреля 2018 г. Проверено 11 апреля 2013 г.
- ^ Jump up to: а б Apple приобретает компанию по производству устойчивых баз данных FoundationDB
- ^ «Все сообщения — FoundationDB» . Архивировано из оригинала 25 марта 2015 г. Проверено 19 декабря 2019 г.
- ^ Jump up to: а б «FoundationDB имеет открытый исходный код» . www.foundationdb.org . Проверено 19 апреля 2018 г.
- ^ «Уровень SQL FoundationDB» . Архивировано из оригинала 20 августа 2013 г. Проверено 21 августа 2013 г.
- ^ FoundationdB выпускает новую платформу данных NoSQL
- ^ Jump up to: а б с FoundationDB стремится консолидировать NoSQL
- ^ SQL или NoSQL: FoundationDB запускает базу данных «лучшее из обоих миров».
- ^ Овиде, Шира (25 марта 2015 г.). «Apple приобретает FoundationDB» . Уолл Стрит Джорнал .
Внешние ссылки
[ редактировать ]- Приложения распределенных вычислений
- Базы данных
- Распределенная вычислительная архитектура
- Распределенные хранилища данных
- Базы данных «ключ-значение»
- NoSQL
- Структурированное хранилище
- Обработка транзакций
- Приобретения Apple Inc.
- Ранее проприетарное программное обеспечение
- Заказанный магазин ключей-значений