OrientDB

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

Сайт: orientdb.dev

OrientDB — многофункциональная распределённая NoSQL-ориентированная система управления базами данных, реализованная на языке Java. Она сочетает в себе возможности документной и графовой моделей данных (multi-model), поддерживает как схематическое, так и бессхемное хранение, а также предлагает язык запросов, близкий по синтаксису к SQL с расширениями для работы с графами и свойствами документов. Система разрабатывалась с целью объединения гибкости документоориентированных баз и семантической выразительности графовых баз в единой платформе, что облегчает моделирование сложных взаимосвязей между сущностями и масштабирование приложений.

OrientDB предоставляет механизм транзакций, индексов, механизм версионирования записей и встроенные средства репликации и шардинга для горизонтального масштабирования. Архитектура поддерживает хранение вершин и рёбер графа как объектов в документной структуре, что позволяет выполнять как классические CRUD-операции с документами, так и обход графа с использованием SQL-подобных конструкций. Система применяется в сценариях управления социальными графами, каталогами, системами рекомендаций, управлении метаданными и других задачах, где требуется сочетание связности данных и гибкости схемы.

  • Модель данных: мульти-модель — графовая (вершины и ребра) и документная (JSON-подобные записи).
  • Язык запросов: SQL-подобный синтаксис с расширениями для навигации по графу и работы с документами.
  • Хранение схемы: поддержка как строгой схемы (schema-full), так и бессхемного режима (schema-less) или смешанных подходов.
  • Транзакции: ACID-поддержка на уровне транзакций для обеспечения согласованности при изменениях данных.
  • Индексация: разнообразные типы индексов для ускорения поиска и выборок по свойствам документов и графов.
  • Масштабирование: встроенные механизмы репликации и шардинга для распределённого хранения и высокой доступности.
  • Интеграция: поддержка драйверов и API для нескольких языков и платформ, а также возможность встраивания как библиотека Java.
  • Управление версиями: механизмы для отслеживания версий записей и разрешения конфликтов при репликации.
  • Производительность: оптимизации для быстрого обхода графов и обработки документов в оперативной памяти и на диске.
  • Безопасность: управление пользователями, ролями и привилегиями на уровне БД и объектов.
Подробнее