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