OrientDB
OrientDB is an open-source multi-model NoSQL database management system (DBMS) that integrates graph, document, key/value, object-oriented, reactive, full-text, and geospatial data models within a single, scalable backend, enabling flexible data storage and retrieval without requiring multiple specialized databases.[1][2]
Developed initially by Luca Garulli as a Java-based rewrite of the earlier Orient Object Database Management System (ODBMS), OrientDB was first released in 2010 to address the limitations of polyglot persistence by combining multiple data paradigms into one high-performance engine.[3][4] It supports distributed multi-master replication for horizontal scaling, ACID-compliant transactions across all models, and a SQL-like query language extended with graph traversal functions, allowing efficient operations like millisecond-scale graph traversals without traditional joins via physical record links.[1][5] The system operates in schema-less, schema-full, or hybrid modes, making it adaptable for applications ranging from social networks and recommendation engines to content management and geospatial analytics.[2]
OrientDB is licensed under the Apache 2.0 License and has been maintained by the community following its origins with OrientDB LTD, a company founded in London in 2011, and subsequent acquisitions by CallidusCloud in 2017 and SAP in 2018, with SAP discontinuing official support in 2021.[6][1][7][8] Key tools include OrientDB Studio for web-based administration and querying, a command-line console for scripting, and a graph editor for visual data exploration, all built on a foundation of strong security features like role-based access control.[2] As of 2025, active development continues with quarterly updates focusing on documentation improvements, automated builds, and architectural refinements to enhance reliability and performance.[9]
Overview
Definition and Core Capabilities
OrientDB is an open-source NoSQL database management system (DBMS) written in Java, designed to support multiple data models within a single, unified engine.[2][1] This multi-model architecture allows it to function as a versatile operational database, combining the strengths of various NoSQL paradigms without requiring separate systems for different data types.[10]
At its core, OrientDB excels in handling graph traversals through physical links between records, which eliminate the performance overhead of traditional SQL joins by enabling direct, constant-time (O(1)) relationships.[2] It also supports document storage for flexible, schema-less data management, key-value operations via efficient indexing for rapid lookups, and object-oriented persistence that maps database records directly to programming language objects.[10][11] These capabilities allow for millisecond-scale traversals across complex trees and graphs, optimizing resource use regardless of dataset size.[2]
The system's design emphasizes versatility in managing diverse data structures, from interconnected networks to hierarchical documents, while providing scalability to handle large-scale datasets through distributed configurations.[2] This makes OrientDB particularly suitable for modern applications demanding high-performance data processing, such as real-time analytics and dynamic content management.[12]
Key Features and Advantages
OrientDB provides ACID-compliant transactions across all supported data models, ensuring atomicity, consistency, isolation, and durability for operations in graph, document, key-value, and object-oriented contexts.[13] This compliance is maintained through an internal transaction tracking mechanism that supports both optimistic and pessimistic locking strategies, allowing reliable handling of complex, multi-record updates without data corruption risks.[13]
A standout capability is its high-performance graph traversal, enabled by physical navigation via direct record identifiers (RIDs) that link related records on disk, avoiding the overhead of logical joins or index lookups in traditional databases.[14] A 2020 benchmark study on a 22.3 GB Twitter followers dataset using a three-node cluster showed that OrientDB completed depth-5 graph traversals in 1,721 seconds, compared to 15,079 seconds for Neo4j, demonstrating superior performance in extended traversals due to its native pointer-based approach.[15] OrientDB also offers schema flexibility through schema-full, schema-free, or hybrid modes, permitting strict field enforcement, completely dynamic structures, or mixed constraints within the same database to accommodate evolving data requirements.[16]
Built-in support enhances usability with geospatial indexing powered by Lucene for efficient spatial queries following Open Geospatial Consortium standards, full-text search via Lucene for advanced text indexing and retrieval, and reactive queries through live query mechanisms that push real-time updates to applications without polling.[17][18][19]
These features deliver key advantages, including reduced development time from multi-model support that eliminates the need for separate databases for different data types, cost-efficiency as an open-source solution under the Apache 2.0 license, and straightforward horizontal scaling via a zero-configuration multi-master architecture that distributes load across servers without manual sharding.[12][20]
Architecture
Core Engine
OrientDB's core engine is implemented in Java, offering a flexible and extensible foundation for handling diverse data models within a single system.[4] This engine employs a pluggable storage architecture that accommodates various operational modes, including the PLocal paginated local storage for durable disk-based persistence, in-memory storage for low-latency access, and remote storage to facilitate distributed operations.[21][22] The PLocal engine, in particular, uses a page-based model with write-ahead logging (WAL) for atomic operations and crash recovery, replacing earlier memory-mapped approaches with custom caching for improved durability and performance.[21]
At its core, the engine organizes all data as records, where entities like documents and vertices are persisted as binary records identifiable by a unique Record ID (RID), formatted as #clusterId:position for precise, direct retrieval without scanning.[23] Records support in-place updates and can split across pages if they exceed size limits, managed by configurable growth factors to optimize storage efficiency.[21] This record-centric design ensures consistent handling across storage modes, with RIDs remaining stable even in distributed environments through cluster locality assignment.[23]
Transaction management in the core engine combines optimistic and pessimistic locking to address concurrency. Optimistic transactions apply Multi-Version Concurrency Control (MVCC), permitting multiple concurrent operations on records and resolving conflicts via version checks at commit, which enhances throughput in low-contention scenarios.[13] Pessimistic locking, available since version 3.1, allows explicit acquisition of locks on specific records or indices to block concurrent writes, suitable for high-contention use cases requiring guaranteed isolation.[24] These mechanisms integrate with the storage layer's WAL for durability, ensuring atomicity and recovery without per-commit synchronization overhead.[21]
For efficient data access, the engine automatically creates indexes on schema-defined properties, primarily using the SB-Tree algorithm—a B-tree variant optimized for insertions, deletions, and range queries—or hash indexes for rapid equality lookups with minimal disk footprint.[25][26] SB-Tree indexes maintain sorted order and support null values, while hash indexes prioritize speed for exact matches but lack range support, both operating transactionally to align with the engine's concurrency model.[25][26] This indexing approach minimizes manual tuning while providing scalable lookup performance in single-node operations.
Distribution and Scalability
OrientDB features a zero-config multi-master architecture that supports automatic replication and load balancing across multiple servers, enabling all nodes to handle both reads and writes without manual setup. This master-less design leverages Hazelcast for node discovery, synchronization, and cluster coordination, allowing seamless addition of servers to distribute workload horizontally.[20][27]
Horizontal scaling in OrientDB is achieved through sharding via configurable partitions, referred to as clusters, where each class can span multiple clusters owned by specific servers. Applications manage shard selection, and since version 2.2, operations are balanced using round-robin distribution to optimize performance across nodes. This partitioned approach enables the system to manage large-scale datasets by incrementally adding servers and reassigning cluster ownership as needed.[27]
Replication modes include synchronous and asynchronous options, configurable at the database level via the executionMode parameter in the distributed configuration file. In synchronous mode—the default—clients await confirmation from a quorum of nodes (e.g., majority, defined as N/2+1) to ensure consistency before responding. Asynchronous mode offers lower latency by executing operations locally and replicating in the background, with callbacks like onAsyncReplicationOk() available since version 2.1.6 for error handling. Conflict resolution employs a chain of strategies: majority vote among replicas, content comparison for equality, and highest version number, falling back to manual intervention if unresolved; custom resolvers are supported in the Enterprise Edition.[28][27]
High availability is ensured through automatic failover and quorum-based decision-making in clusters, eliminating single points of failure in the multi-master setup. During a node failure, the system evaluates quorum thresholds for ongoing transactions—if met, commits propagate to recovering nodes via Hazelcast synchronization; otherwise, rollbacks occur to maintain consistency. Replica servers, introduced in version 2.1, enhance read scalability and availability as read-only nodes without influencing write quorums, supporting configurations like 3 masters plus numerous replicas requiring only 2 master confirmations for writes.[27]
Data Models and Querying
Supported Data Models
OrientDB is a multi-model database management system that natively supports several data models within a unified storage engine, allowing seamless integration and traversal across them without data duplication.[29][1]
The graph model in OrientDB follows a property graph structure, where data is organized into vertices representing entities and edges defining directed or undirected relationships between them, each capable of holding properties as key-value pairs. Vertices and edges are stored as records with physical links, enabling efficient traversals that follow these connections in constant time, independent of database size.[30][31][32]
The document model treats data as JSON-like documents, which are schema-optional and can include embedded or nested sub-documents for hierarchical structures, supporting both schema-less flexibility and optional schema constraints for validation. This model integrates with the graph model by allowing documents to serve as vertices or contain links to other records.[33][32]
OrientDB's key-value model provides simple, high-speed storage and retrieval using record IDs (RIDs) as unique identifiers, augmented by indexes such as hash or SB-tree for fast lookups without traversing relationships. Keys map directly to values stored as records, making it suitable for caching or basic associative access within the multi-model framework.[34][10][35]
The object-oriented model enables direct persistence of Java objects (POJOs) through an Object API, supporting inheritance hierarchies, polymorphism, and encapsulation by mapping classes to database entities and handling relationships via links or embeds. This abstraction layer binds database records to object instances, facilitating object-oriented programming paradigms atop the underlying storage.[36][4][10]
Additionally, OrientDB incorporates reactive, full-text, and geospatial models via built-in extensions that leverage the core engine. The reactive model supports event-driven architectures by allowing automatic propagation of changes across related records. Full-text capabilities enable indexing and searching of textual content within documents or properties. Geospatial support handles location-based data using spatial indexes for queries on points, lines, and polygons. These models extend the primary structures while maintaining compatibility for mixed-model operations.[1][29]
Query Language and APIs
OrientDB employs a SQL dialect that extends ANSI SQL to accommodate its multi-model architecture, supporting operations on documents, key-value stores, and graphs within a unified syntax. This query language enables declarative querying of heterogeneous data structures, including embedded documents and graph traversals, without requiring separate query engines for each model.[37]
The core of OrientDB's query language is its SQL implementation, which adheres to ANSI SQL standards for basic operations like SELECT, INSERT, UPDATE, and DELETE, while introducing extensions for NoSQL paradigms. For document-oriented queries, it supports field traversal using dot notation (e.g., SELECT name FROM [Person](/page/Person) WHERE [address](/page/Address).city = '[New York](/page/New_York)') and collection handling with functions like EXPAND for flattening lists or sets. Graph-specific commands enhance traversal and pattern matching: the TRAVERSE statement navigates edges recursively (e.g., TRAVERSE out() FROM #12:15 to follow outgoing links from a record), while MATCH enables declarative pattern queries akin to SPARQL (e.g., MATCH {class: [Person](/page/Person), as: p} -Has-> {class: [Address](/page/Address)} RETURN p.name to find persons linked to addresses). These extensions allow seamless querying across models, such as combining document fields with graph relationships in a single statement.[37]
OrientDB provides multiple APIs and drivers for programmatic interaction, prioritizing native performance and broad language support. The native Java API, integral to the database's Java-based core, offers three primary interfaces: the Multi-Model API for document and graph operations, the TinkerPop 3.x Graph API for standard graph processing, and the deprecated TinkerPop 2.6 API for legacy compatibility. As of 2025, legacy APIs such as ODatabaseDocumentTx have been removed in favor of the modern ODatabaseSession interface, with query engine optimizations reducing memory usage for complex queries. Queries are executed via the Query API within the Multi-Model interface, such as using ODatabaseSession to run SQL statements like db.query("SELECT FROM Person"), returning OResultSet for processing. For example:
java
ODatabaseSession db = ...;
OResultSet rs = db.query("SELECT FROM Person");
while (rs.hasNext()) {
OResult row = rs.next();
// Process row
}
rs.close();
```[](https://orientdb.dev/docs/3.2.x/java/Java-Query-API.html)
For remote access, OrientDB exposes a RESTful HTTP [API](/page/API) over [JSON](/page/JSON), enabling queries through standard HTTP methods without language-specific bindings. Read-only SELECT queries use GET requests to `/query/<database>/sql/<query-text>`, such as `GET http://localhost:2480/query/demo/sql/select from [Profile](/page/Profile)`, returning paginated [JSON](/page/JSON) results with optional limits and fetch plans for linked records. Non-idempotent commands like [UPDATE](/page/Update) employ [POST](/page/Post-) to `/command/<database>/sql/<command-text>`, supporting parameterized payloads for [security](/page/Security) and efficiency. This [API](/page/API) facilitates integration with web applications and [microservices](/page/Microservices).[](https://orientdb.dev/docs/2.2.x/OrientDB-REST.html)
Language-specific drivers extend accessibility beyond Java. The official binary drivers include OrientJS for [Node.js](/page/Node.js), supporting asynchronous query execution; PhpOrient for [PHP](/page/PHP), providing object-oriented wrappers for SQL commands; and the .NET driver for C#, enabling binary protocol communication for high-throughput scenarios. Python users rely on the community-maintained PyOrient driver, which handles binary connections for queries and transactions. These drivers abstract the binary protocol for direct [socket](/page/Socket) interaction, outperforming HTTP in latency-sensitive use cases, while all support SQL execution akin to the native [API](/page/API).[](https://orientdb.dev/docs/3.2.x/apis-and-drivers/index.html)
Live queries introduce real-time capabilities, allowing applications to subscribe to database changes matching a predefined SQL filter. Introduced in version 2.1, this feature uses LIVE SELECT statements (e.g., `LIVE SELECT FROM Game WHERE game_id = "201606-001"`) registered via APIs like `db.liveQuery()` in OrientJS, triggering event handlers for inserts, updates, or deletes. For instance, in Node.js:
```javascript
db.liveQuery('LIVE SELECT FROM Game WHERE game_id = "201606-001"')
.on('live-update', function(data) {
console.log('Score updated:', data.content.score);
});
ODatabaseSession db = ...;
OResultSet rs = db.query("SELECT FROM Person");
while (rs.hasNext()) {
OResult row = rs.next();
// Process row
}
rs.close();
```[](https://orientdb.dev/docs/3.2.x/java/Java-Query-API.html)
For remote access, OrientDB exposes a RESTful HTTP [API](/page/API) over [JSON](/page/JSON), enabling queries through standard HTTP methods without language-specific bindings. Read-only SELECT queries use GET requests to `/query/<database>/sql/<query-text>`, such as `GET http://localhost:2480/query/demo/sql/select from [Profile](/page/Profile)`, returning paginated [JSON](/page/JSON) results with optional limits and fetch plans for linked records. Non-idempotent commands like [UPDATE](/page/Update) employ [POST](/page/Post-) to `/command/<database>/sql/<command-text>`, supporting parameterized payloads for [security](/page/Security) and efficiency. This [API](/page/API) facilitates integration with web applications and [microservices](/page/Microservices).[](https://orientdb.dev/docs/2.2.x/OrientDB-REST.html)
Language-specific drivers extend accessibility beyond Java. The official binary drivers include OrientJS for [Node.js](/page/Node.js), supporting asynchronous query execution; PhpOrient for [PHP](/page/PHP), providing object-oriented wrappers for SQL commands; and the .NET driver for C#, enabling binary protocol communication for high-throughput scenarios. Python users rely on the community-maintained PyOrient driver, which handles binary connections for queries and transactions. These drivers abstract the binary protocol for direct [socket](/page/Socket) interaction, outperforming HTTP in latency-sensitive use cases, while all support SQL execution akin to the native [API](/page/API).[](https://orientdb.dev/docs/3.2.x/apis-and-drivers/index.html)
Live queries introduce real-time capabilities, allowing applications to subscribe to database changes matching a predefined SQL filter. Introduced in version 2.1, this feature uses LIVE SELECT statements (e.g., `LIVE SELECT FROM Game WHERE game_id = "201606-001"`) registered via APIs like `db.liveQuery()` in OrientJS, triggering event handlers for inserts, updates, or deletes. For instance, in Node.js:
```javascript
db.liveQuery('LIVE SELECT FROM Game WHERE game_id = "201606-001"')
.on('live-update', function(data) {
console.log('Score updated:', data.content.score);
});
This push-based mechanism eliminates polling, enabling reactive applications such as live dashboards or collaborative tools, with token-based authentication required since version 2.2.[38]
Security for queries and APIs is enforced through a role-based access control (RBAC) model, where users are assigned roles defining permissions on resources like database.query and database.function. Roles use bitmask values (e.g., 15 for full CRUD access) to granularly control operations: the default admin role grants unrestricted querying, reader permits only SELECT on database.query, and writer allows reads and writes. Since version 3.1, security policies extend this with conditional rules (e.g., READ = TRUE WHERE owner = currentUser), applied at query execution to prevent unauthorized data exposure. Functions, executable via SQL or APIs, inherit these controls, ensuring role-specific invocation. Administrators manage roles via SQL on the OUser and ORole classes, such as CREATE ROLE queryOnly ALLOW database.query:1.[39]
Editions and Licensing
The Community Edition of OrientDB is the free, open-source version of the database management system, released under the Apache 2.0 license, which permits unrestricted use in both open-source and commercial projects without any fees or royalties.[40] This edition encompasses all core functionalities of the OrientDB engine, including multi-model support for graph, document, key/value, and object data models, enabling seamless handling of diverse data structures within a single database.[20] It also provides basic distributed clustering for horizontal scaling and fault tolerance, extended SQL querying with graph traversal capabilities via the TinkerPop API, and standard security features such as role-based access control.[20][1]
While robust for foundational operations, the Community Edition previously had limitations compared to the Enterprise Edition, but since 2022, all enterprise features are available as open-source plugins. Support is restricted to community-driven resources like forums and GitHub issues.[40] The edition is available for download from the official OrientDB website and its GitHub repository, making it well-suited for development environments, prototyping, and production deployments.[1][40]
Enterprise Edition
Following the acquisition by SAP in 2018 and the discontinuation of commercial support in September 2021, the OrientDB Enterprise Edition features were released as open-source plugins in January 2022, now available for free under the Apache 2.0 license as part of the Community Edition distribution or separately.[41][8][42]
These plugins include non-stop incremental and hot backups, scheduled full and delta backups, advanced encryption and auditing, query profiler, live monitoring tools, metrics recording, and delta synchronization for multi-data center environments.[43] There is no commercial licensing or dedicated professional support; all maintenance and assistance are provided through the open-source community.[1]
Applications and Use Cases
Typical Use Cases
OrientDB's multi-model architecture makes it particularly suitable for graph-heavy applications, where complex relationships between entities need to be traversed efficiently. In social network analysis, it excels at modeling and querying connections such as user friendships, group memberships, and interaction histories, enabling rapid discovery of communities or influence patterns through graph traversals.[44] Similarly, fraud detection scenarios leverage its graph capabilities to examine transaction networks, identifying anomalous patterns like circular money flows or unusual entity links in financial data.[44] Recommendation engines also benefit, using OrientDB to analyze user-item interactions and generate personalized suggestions by traversing preference graphs.[44]
For document-heavy use cases, OrientDB supports flexible, schema-optional storage of nested and semi-structured data. Content management systems utilize its document model to handle diverse assets such as articles, multimedia files, and metadata, allowing for efficient indexing and retrieval without rigid schemas.[44] In e-commerce catalogs, it manages product hierarchies with embedded attributes like variants, descriptions, and pricing, facilitating dynamic queries over hierarchical data structures.[45]
Hybrid applications combine OrientDB's graph and document strengths for scenarios requiring both relational depth and structural flexibility. Real-time personalization systems, for instance, merge user profiles (as documents) with behavioral graphs to deliver context-aware recommendations or targeted content in streaming environments.[45] IoT data processing represents another hybrid domain, where event streams from sensors are stored as documents while relationships between devices and events form graphs for anomaly detection or dependency mapping.[44]
Beyond these, OrientDB supports geospatial applications through its native spatial indexing and querying features. Route optimization tasks, such as logistics planning, employ graph traversals over geo-enabled vertices to compute efficient paths considering locations, distances, and constraints.[46] For time-series data, like event logging in monitoring systems, OrientDB models temporal sequences using linked vertices for years, months, days, and hours, enabling efficient aggregation and historical analysis of logs or metrics.[47]
Notable Applications and Integrations
OrientDB has been deployed in various industries for handling complex, interconnected data. In financial services, it supports real-time fraud detection by leveraging its graph model to analyze transaction networks and identify anomalous patterns.[48] Telecom companies utilize OrientDB for network management and optimization, enabling efficient modeling of infrastructure relationships and predictive maintenance to enhance service quality.[49] In the media sector, it powers user engagement platforms through social network analysis, storing user interactions and content as documents while traversing connections for personalized recommendations.[48] Notable examples include Nuix, which uses OrientDB for hyper-scale data processing in investigations, and Floify for loan management software. Other applications encompass banking, big data analytics, master data management, and bioinformatics, such as reconstructing non-coding regulatory networks. Major adopters include Accenture and Infosys, primarily in IT and software sectors, with over 200 known deployments as of 2025.[50][51]
OrientDB integrates seamlessly with big data ecosystems and development frameworks. It connects with Apache Elasticsearch via an official plugin that synchronizes data for enhanced search capabilities across graph and document models.[52] For big data processing, OrientDB works alongside tools like Apache Hadoop and Spark, allowing scalable analytics on distributed NoSQL data.[53] The official Spring Data plugin enables easy incorporation into Java applications, supporting both graph and document APIs for enterprise development with Spring Boot.[54]
The community has extended OrientDB's functionality through plugins and contributions. Notable additions include integrations with machine learning workflows, such as exporting graph data for processing in TensorFlow-compatible environments, and visualization tools like Gephi for graph rendering.[54] Cloud deployments are facilitated by official support on AWS Marketplace and Azure, with Docker images for containerized setups.[55][56]
Post-2021, community-driven projects have focused on analytics enhancements, including updates to OrientDB Studio's dashboard for monitoring cluster performance and trends, as seen in the 3.2 release with improved query engines and memory optimization.[57][58]
History and Development
Origins and Early Development
OrientDB originated in 2010 when Luca Garulli developed it as a Java-based rewrite of the persistent layer from the earlier Orient ODBMS, an object-oriented database management system written in C++.[3] This effort aimed to create a more accessible and performant NoSQL solution by leveraging Java's ecosystem for broader developer adoption while retaining the core efficiency of the original storage engine.[59] Garulli's motivation stemmed from the need for a versatile database that could handle complex relationships without the limitations of traditional relational models, positioning OrientDB as an early innovator in multi-model data management.[60]
The first public release of OrientDB occurred in 2011, marking its debut as a multi-model NoSQL database capable of supporting document, graph, key-value, and object-oriented paradigms within a single engine.[4] This version introduced foundational features like SQL-like querying and native support for embedded and server modes, enabling rapid prototyping and deployment in diverse environments.[61] By combining these models, OrientDB addressed the growing demand for flexible data storage in web and enterprise applications, distinguishing it from single-model NoSQL alternatives prevalent at the time.
In 2011, OrientDB Ltd. (formerly Orient Technologies Ltd.) was established to oversee ongoing development, commercialization, and professional support for the project, transitioning it from a solo open-source initiative to a structured enterprise offering.[62] This company formation facilitated community contributions and funding for enhancements, solidifying OrientDB's trajectory as a scalable solution. Key early milestones included the introduction of a dedicated graph engine in 2012 with version 1.0, which added advanced traversal capabilities like the OTraverse class for efficient graph navigation.[61] Subsequent updates brought enhanced document support in 2013, improving schema-flexible storage and indexing, followed by initial clustering features in 2013 that enabled basic distributed replication using technologies like Hazelcast.[63][64] These developments laid the groundwork for OrientDB's evolution into a robust, production-ready database.
Acquisitions and Recent Status
In September 2017, OrientDB Ltd. was acquired by CallidusCloud, a provider of cloud-based sales and marketing automation software, to enhance its enterprise capabilities with OrientDB's multi-model database technology.[65] This acquisition aimed at integrating OrientDB's flexibility and scalability into CallidusCloud's Lead to Money suite for improved performance in sales performance management.[65]
In January 2018, SAP SE acquired CallidusCloud for $2.4 billion, thereby incorporating OrientDB into its broader portfolio of enterprise software solutions, including CRM and sales cloud offerings.[66] The deal, completed in April 2018, positioned OrientDB as part of SAP's strategy to strengthen its cloud-based customer engagement tools.[67]
SAP discontinued official commercial support for OrientDB on September 1, 2021, transitioning maintenance responsibilities to the open-source community.[8] This shift ended SAP's direct involvement, allowing the project to continue under community governance without corporate backing.[8] In the same month, Luca Garulli, the project's original creator, forked OrientDB to launch ArcadeDB, a next-generation multi-model database that builds on OrientDB's architecture while introducing new features for modern applications. ArcadeDB operates as a separate project, with the original OrientDB codebase maintained independently by the community.[59]
As of 2025, OrientDB remains an active open-source project maintained by the OrientDB community through the orientechnologies organization on GitHub.[1] Quarterly updates, such as those in Q1 and Q3 2025, have focused on legacy code cleanup, including efforts to remove long-deprecated APIs such as ODatabaseDocumentTx, and improvements to documentation via a newly launched website at orientdb.dev.[68][9] These efforts emphasize maintainability and compatibility, with patch releases addressing core fixes and dependency updates.[69] There is no active commercial entity overseeing development, but the Enterprise Edition continues through subscription-based support plans, including Basic (€1000/month) and Advanced (€4000/month) tiers offering direct assistance, upgrades, and emergency patches.[70]