FoundationDB

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: www.foundationdb.org

FoundationDB — распределённая транзакционная key‑value система управления базами данных (СУБД), разработанная для обеспечения согласованности и высокой доступности при масштабировании на множество узлов. Система поддерживает ACID‑транзакции поверх распределённого хранилища и предоставляет низкоуровневую модель хранения «ключ–значение», на базе которой реализуются дополнительные слои для многомодельного представления данных. Архитектура ориентирована на упрощение построения отказоустойчивых распределённых приложений с сильной согласованностью данных.

Первоначально проект разрабатывался как исследовательская и коммерческая платформа; впоследствии он прошёл несколько этапов эволюции, включающих открытие исходного кода и развитие сообщества вокруг расширений и слоёв. FoundationDB принимает модель транзакций с оптимистичным управлением конкурентным доступом и обеспечивает атомарность и изоляцию операций на уровне ключей, при этом делая упор на предсказуемое поведение при отказах узлов и сетевых разделениях. Типичные сценарии использования включают распределённые очереди, индексацию, реализацию документовых или графовых слоёв поверх ключ‑значение и корпоративные сервисы, требующие строгой целостности данных.

  • Модель хранения: распределённое key‑value хранилище с логической адресацией ключей и вертикальным/горизонтальным шардированием данных.
  • Транзакции: поддержка многоключевых ACID‑транзакций с временными отсечками, гарантированной атомарностью и изоляцией в распределённой среде.
  • Консистентность: сильная согласованность данных по всему кластеру, что упрощает разработку корректных распределённых приложений.
  • Отказоустойчивость: репликация и механизмы восстановления после сбоев узлов, автоматическое перераспределение данных при изменении состава кластера.
  • Низкий уровень и слои: базовый key‑value интерфейс и возможность добавлять «слои» (layers) для реализации многомодельных API: документовой, графовой, полнотекстовой индексации и др.
  • Производительность и масштабирование: оптимизирован для высокой пропускной способности и низкой задержки при увеличении числа узлов, поддерживает горизонтальное масштабирование с контролем баланса нагрузки.
  • Управление транзакциями: механизмы контроля конфликтов, тайм‑ауты транзакций и повторные попытки, ориентированные на поддержание согласованности в условиях конкурентной нагрузки.
  • Инструментарий и экосистема: набор средств для мониторинга, резервного копирования и восстановления, а также API и библиотеки для интеграции с приложениями и слоями поверх ключ‑значение.
  • Безопасность и администрирование: возможности аутентификации, разграничения доступа и конфигурации политик хранения и репликации на уровне кластера.
Подробнее