Paul Krill
Editor at Large

Open source FerretDB offers ‘drop-in replacement’ for MongoDB

news
Apr 14, 20232 mins
DatabasesDocument DatabasesPostgreSQL

FerretDB 1.0 is a stateless proxy that converts MongoDB protocol queries to SQL, using PostgreSQL as the database engine.

black footed ferret american polecat steve tsang unsplash
Credit: Steve Tsang / Unsplash

FerretDB, described by its creators as a “truly open source MongoDB alternative,” has arrived as a 1.0 production release, with “all the essential features capable of running document database workloads.”

Offered under the Apache 2.0 license, FerretDB is an open source proxy that translates MongoDB 6.0+ wire protocol queries to SQL, using PostgreSQL as the database engine. The technology is intended to bring MongoDB database tasks back to “open source roots,” the company, FerretDB Inc., said on April 11.

FerretDB enables PostgreSQL and other database back ends to run MongoDB workloads. Tigris also is supported as a back end, while work is ongoing to support SAP HANA and SQLite. Instructions on getting started with FerretDB can be found on GitHub.

FerretDB contends that MongoDB is no longer open source, as it’s offered under the Server Side Public License (SSPL). FerretDB points to a blog post from Open Source Initiative arguing that the SSPL license takes away user rights; FerretDB also said SSPL is unusable for many open source and early-stage commercial projects. MongoDB contends that the SSPL ensures that users of MongoDB software as a service give back to the community.

FerretDB is compatible with MongoDB drivers and tools. Docker images are offered for both development and production use, as well as RPM and DEB packages. An all-in-one Docker image is provided containing everything needed to evaluate FerretDB with PostgreSQL. With the generally available release, FerretDB now supports the createIndexes command to specify fields in an index and the type of index to use. A dropIndex command enables users to remove an index from a collection. Aggregation pipeline functionality has been expanded to include additional stages, such as $unwind, $limit, and $skip.

The roadmap for FerretDB for the end of this current quarter includes support for basic cursor commands as well as advanced indexes and the ability to run raw SQL queries. Plans for the third quarter include improving aggregation pipeline support, user management commands, and query projection operators. Improved query performance also is a goal.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author