FaunaDB

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

Сайт: faunadb.org

FaunaDB — распределённая серверлесс база данных, разработанная для обеспечения транзакционной целостности и упрощения разработки приложений. Она объединяет элементы документо-ориорентированных и реляционных моделей данных, предоставляя API для работы с гибкими схемами и связями между сущностями. Архитектурно FaunaDB спроектирована как глобально распределённый сервис с механизмами репликации, согласованности и автоматического масштабирования, ориентированный на использование в облачных приложениях и микросервисной архитектуре.

Платформа поддерживает ACID-транзакции на уровне документа и коллекции, позволяя выполнять сложные операции с гарантией согласованности. Для взаимодействия с данными FaunaDB предлагает несколько интерфейсов, включая REST API, GraphQL и собственный декларативный язык запросов для выражения транзакций и бизнес-логики. Управление доступом реализовано посредством ролей и ключей с возможностью тонкой настройки прав на операции чтения и записи.

  • Модель данных: гибридная модель, которая сочетает документы и отношения, поддерживает вложенные структуры и ссылки между объектами.
  • Транзакции: поддержка ACID-транзакций с изоляцией и гарантией атомарности для многозапросных операций.
  • Интерфейсы: доступ через REST API, GraphQL и собственный язык выражений для построения запросов и транзакций.
  • Сетевое распределение: архитектура, ориентированная на глобальную репликацию и автоматическое масштабирование без управления серверами (serverless).
  • Безопасность и контроль доступа: модель ролей, ключи доступа и политика ограничений для управления правами пользователей и приложений.
  • Последовательность и согласованность: механизмы обеспечения согласованного состояния данных при репликации и восстановлении после сбоев.
  • Инструменты разработки: встроенная поддержка схематизации через GraphQL, клиентские драйверы и возможности интеграции с CI/CD и серверлес-функциями.
  • Управление версиями и миграции: возможности по организации версий данных и постепенным изменениям схемы при сохранении целостности транзакций.
  • Операционная модель: сервисная модель с оплатой за использование и минимальным администрированием инфраструктуры со стороны пользователя.
  • Сценарии применения: бэкенды веб и мобильных приложений, микросервисы, проекты с требованием глобальной доступности и согласованности данных.
Подробнее