General questions
What TeselaDB is, where it comes from and how it compares with MongoDB.
What is TeselaDB?
A document database that implements the MongoDB protocol. You can start with the introduction. It stores each collection in replicated ranges spread across the nodes of the cluster, and each of those ranges keeps its replicas in agreement with Raft, the consensus protocol that TeselaDB uses.
Is TeselaDB a fork of MongoDB?
No. TeselaDB is written from scratch in Rust and has no MongoDB code. It implements the protocol from the public documentation, and the compatibility suite compares its answers with those of a real MongoDB server.
Which MongoDB version is it compatible with?
With MongoDB 9.0: the features of the Community and Enterprise editions and those of MongoDB Search. The compatibility pages give the status of each command and each operator, stages included.
How does it differ from MongoDB?
Some differences are stronger guarantees, such as a search seeing writes that are already confirmed or a unique index
being unique across the cluster. Others are additions, such as the REST API and the MCP server. What MongoDB 9.0 marks
as deprecated does not exist, except what the drivers and mongosh still send. Each one is in Differences with
MongoDB.
Can I use my drivers and my tools?
Yes. TeselaDB works with the official MongoDB drivers and with mongosh. Connect your
application has the connection string and the example for each language.
Do I have to choose a shard key?
No. Each collection is split into ranges by size and by load, and TeselaDB moves those ranges from one node to another without you having to choose a key, create zones or run any distribution command. If you already have shard keys or zones, they keep working.