Microsoft builds open source document database on PostgreSQL, suggests FerretDB as front end

We're not in Kansas anymore

Microsoft has launched a document database platform constructed on a relational PostgreSQL back end.

The Redmond giant is also suggesting users can kick things off by implementing an open-source FerretDB solution on the platform to get started.

While observers might be stunned by Microsoft's growing acceptance of the open source world, the vendor said it was launching "a fully open source platform powered by" PostgreSQL on which "an end-to-end document database experience can be built, to meet the community's NoSQL database needs," according to a blog late last week.

The trend for document databases began to surface more than ten years ago, advanced by proponents such as MongoDB, which argued developers would benefit from a database which placed less emphasis on schema, and would better handle "semi-structured" data types emerging from web-focused software.

The new Microsoft commitment means that firstly, the database is underpinned by a relational system and secondly, there is open source governance of different aspects of the stack, with leadership including MIT, Apache and PostgreSQL Global Development Group.

In a blog post, Microsoft product marketing manager Abinav Rameesh said: "There are no commercial licensing fees, no usage or distribution restrictions, and no gimmicks. While contributions to the project are always welcome and encouraged, there are no requirements for users to commit their customizations, contributions, and enhancements back to the project. The MIT license guarantees complete freedom to fork the repository, use, and distribute with no obligations."

Microsoft has developed two PostgreSQL extensions. First, pg_documentdb_core, a custom PostgreSQL extension optimizing for Binary JavaScript Object Notation or BSON, a binary-encoded serialization of JSON documents. PostgreSQL began adding support for JSON documents in 2013.

Next, Microsoft is contributing pg_documentdb_api, the data plane implementing operations to create, read, update and delete data, as well as query functionality and index management.

Microsoft also suggests users can exploit an existing open source interface for the system, FerretDB.

"While users can interact with DocumentDB through Postgres, FerretDB 2.0 provides an interface with a document database protocol. FerretDB also has a similarly permissive Apache license along with a significant presence in both the Postgres and NoSQL communities," Rameesh said.

For its part, FerretDB says that using DocumentDB as the back end for its 2.0 iteration means performance is 20 times faster for certain workloads than the earlier version.

"FerretDB 2.x utilizes Microsoft's newly released open source DocumentDB PostgreSQL extension, significantly increasing database performance. Among other improvements, DocumentDB introduces the BSON data type and operations to PostgreSQL, giving us the tools to store and query data much more efficiently than before.

"Ensuring ongoing compatibility between DocumentDB and FerretDB enables users to run document database workloads on Postgres with increased performance and better support for their existing applications," said Peter Farkas, FerretDB co-founder and CEO.

The joint development between Microsoft, PostgreSQL, and FerretDB is bound to be seen as a threat to source-available MongoDB, which has spearheaded the market for document databases, along with Couchbase. While MongoDB has a well-established user base, including Toyota, Wells Fargo and SwissCom, developers looking to build something new on a document database might be inclined to shop around. ®

More about

TIP US OFF

Send us news


Other stories you might like