OrientDB — це NoSQL система керування базами даних в відкритим сирцевим кодом. OrientDB об'єднує в собі можливості документо-орієнтованої і графо-орієнтованої БД. Навіть при роботі з документ-орієнтованими даними взаємодія між документами обробляється як в графо-орієнтованої БД з визначенням прямих зв'язків між записами. При цьому, можна в лічені мілісекунди пройти по ланцюжку вмісту дерев і графів, як цілком так і частинами. Додатково підтримується інтерфейс об'єктно-орієнтованої БД, який працює поверх документо-орієнтованого шару.
Незважаючи на те що вона є документо-орієнтованою, зв'язки між даними в ній реалізовуються прямими посиланнями, так як це робиться в графових базах даних. Вона підтримує schema-less, schema-full та schema-mixed режими опису даних, що зберігаються в базі. Вона є дуже легкою в використанні, бо підтримує SQL як мову запитів, ця властивість дозволяє позбавитись багатьох проблем на початку її використання.
Оперуючи запитами ключ/значення кластер, OrientDB може складатися з тисяч вузлів, використовуючи для організації єдиного сховища алгоритм розподіленої геш-таблиці (DHT). OrientDB використовує новий власний механізм індексації, що називається MVRB-Tree. Цей алгоритм є комбінацією алгоритмів червоно-Чорних дерев та Б+ дерев. Це механізм споживає удвічі менше пам'яті при збереженні швидкості Red-Black Tree за рахунок балансування операцій додавання і поновлення даних, і дозволяє одночасно мати високу швидкість вставки та дуже швидкий пошук.
Код OrientDB написаний на мові Java і розповсюджується під ліцензією Apache.
Переваги OrientDB відрізняється високою швидкістю роботи, на звичайному обладнанні, дозволяючи зберігати до 150 000 записів в секунду. При тестуванні продуктивності, один сервер з OrientDB виявився здатний замінити собою 125 серверів MySQL.Первый релиз NoSQL БД OrientDB // opennet.ru 15.05.2012 Розподілена мережа серверів здатна забезпечити зберігання до 9.223.372.036 мільярдів записів і 19.807.040.628.566.084 Тб даних. Транзакційність: повна підтримка ACID властивостей Transactions . При On crash it recovers pending documents GraphDB: OrientDB може використовуватись як графова база, має додатковий інтерфейс що дозволяє працювати з абстракцією графа. Є 100% сумісною з TinkerPop Blueprints що є стандартом для графових баз даних Підтримка підмножини мови SQL з деяким розширенням для того, щоб обробляти дані без SQL join, обробляти дерева та графи зв'язаних документів для виконання запитів c використанням конструкції SELECT. (OrientDB не є реляційної БД, тому повною мірою всі можливості SQL не підтримує) Підтримка зберігання даних без опису попередньої схеми, з описом повної структури або в змішаному режимі 100% сумісна зі стандартом TinkerPop Blueprints для графо-орієнтованих БД Підтримка мови запитів Gremlin Нативно підтримує HTTP, RESTful і JSON протоколи без використання сторонніх компонентів Можливість роботи як в режимі вбудовування в інші застосунки, так і як виділеного сервера Можливість скасування внесених у документ локальних змін (ODocument.undo); Підтримується сувора політика розмежування доступу на основі ролей і повноважень користувачів Підтримує відмовостійкі конфігурації і реплікацію (архітектура OrientDB спочатку розрахована на мультімастер реплікацію) Підтримка запуску скриптів на стороні сервера (Server Side Scripting). Підтримка функцій, виконуваних на стороні сервера (аналог збережених процедур). Для написання серверних функцій використовується мова JavaScript Дистрибутив повністю самодостатній, компактна: розмір, всього сервер займає близько 1Mb. Не має залежностей від інших бібліотек Крос-платформова: ядро бази повністю написано на чистій Java: може бути працювати на Linux, Windows та будь-якій системі що підтримє Java технології Apache License 2: завжди вільна до використання Доступна комерційна підтримка
Виноски
Посилання Офіційний сайт OrientDB Сирцеві коди на Google Code Публічна група користувачів