Microsoft quietly last month unveiled DocumentDB, an open source NoSQL database that’s designed to be compatible with MongoDB. The project makes public the PostgreSQL-based technology behind the vCore-based Azure Cosmos DB for MongoDB . Microsoft says it hopes DocumentDB will help make PostgreSQL an ANSI standard for NoSQL databases.
DocumentDB is a document-oriented database that allows users to store data in Binary Object Notation (BSON), a JSON-like data structure also used by MongoDB. Microsoft’s DocumentDB database project–not to be confused with AWS’s MongoDB-compatible database offering, Amazon DocumentDB–is built atop PostgreSQL and utilizes two PostgreSQL extensions developed by Microsoft to enable its BSON functionality.
The first PostgreSQL extension is pg_documentdb_core, which Microsoft describe as “a custom PostgreSQL extension optimizing for BSON.” The library gives users the ability to parse and manipulate BSON documents in the PostgreSQL layer of the database engine; index fields in the BSON document; perform vector search queries; and implement a full authentication mechanism.
The second PostgreSQL extension is pg_documentdb_api, which Microsoft describes as a data plane implementing create, read, update and delete (CRUD) operations, query functionality, and index management. The CRUD operations are said to be MongoDB compatible.
DocumentDB is available on Microsoft’s GitHub code repository here. The database is distributed under the permissive MIT License, which allows for reuse with proprietary software.
The goal of DocumentDB is to provide a standard for interoperability, the company says in a January blog post by Abinav Rameesh, the project management lead on Azure Cosmos DB.
“The mission for DocumentDB is to provide the developer community with a NoSQL datastore, implemented using PostgreSQL with complete visibility into the architecture and implementation of the engine,” Rameesh wrote. “All the core components of the database engine from CRUD…operations to indexing and vector search functionality are public.”
Microsoft chose to use the permissive MIT license to foster wide adoption and to get the community moving toward a standard, he wrote.
“DocumentDB is the first implementation of the project’s more ambitious mission to create a standard for open-source document databases, much like the ANSI (American National Standards Institute) SQL standard for relational databases,” Rameesh wrote. “The creation of a NoSQL standard will heighten the compatibility and interoperability of NoSQL engines in the future.”
Azure Cosmos DB is a non-relational database service from Microsoft that supports a variety of NoSQL data types and workloads, including a document store, a wide column store, a key-value store, and a graph store. While the API used in Azure Cosmos DB for MongoDB is MongoDB compatible, the underlying technology used in the “vCore” version of Azure Cosmos DB for MongoDB leverages a distributed database engine based on PostgreSQL, which gives it the scalability and performance of a traditional PostgreSQL setup.
Azure Cosmos DB for MongoDB was about 32% compatible with the MongoDB API as of October 2023, according to MongoDB. “Azure Cosmos DB for MongoDB implements MongoDB’s Wire Protocol to allow MongoDB drivers to connect and interact with Cosmos DB as though it were a MongoDB host,” MongoDB wrote. “However, this implementation has limitations…”
Related Items:
MongoDB 8.0 Release Raises the Bar for Database Performance
FerretDB Provides Alternative to MongoDB
There’s a NoSQL Database for That
The post Microsoft Open Sources Code Behind PostgreSQL-Based MongoDB Clone appeared first on BigDATAwire.
0 Commentaires