PuzzleDB aims to be a high-performance, distributed, cloud-native, multi-API, multi-model database. This Technology Preview version is developed in the Go language.
What is PuzzleDB
PuzzleDB is a multi-data model database that handles key-value model, relational model, and document model. In addition, PuzzleDB is a multi-API database and is compatible with existing database protocols such as PostgreSQL, MySQL, Redis, and MongoDB.
PuzzleDB supports existing query protocols such as PostgreSQL, MySQL, MongoDB and Redis in a distributed pluggable database framewrok. Thus, developers can start using PuzzleDB as a scalable, high-performance distributed database with existing database client drivers without any learning curve.
The name PuzzleDB comes from the ability to combine multiple modules such as coordinators, storages, and existing database protocol handlers to form a database.
Features
PuzzleDB has the following features:
-
Flexibility: PuzzleDB allows extensibility through its plugin architecture and pluggable modules for queries, data models, storage, and more.
-
Scalability: PuzzleDB seamlessly transitions from an in-memory standalone storage plugin module to a scalable, shared-nothing, horizontally distributed database using an ordered distributed key-value store plugin module.
-
Facility: PuzzleDB supports major database model and protocol plugin modules, such as Redis, MongoDB, and MySQL, simplifying application migration.
-
Safety: PuzzleDB offers ACID-compliant plugin modules, enabling the development of intuitive and secure applications.
-
Efficiency: PuzzleDB manages various database data models, including key-value, document, and relational, by consolidating them into a single core model.
Get Started
See the following guide to learn about how to get started.
How does PuzzleDB work?
For architecture of PuzzleDB, see the following concept documents:
Supported Protocols
This technology preview version partially supports major database models and protocols. Please refer to the following documents for details on support status and limitations.
Roadmap
PuzzleDB is currently in a technical preview release. Currently, PuzzleDB is in the process of developing and testing a distributed plugin for the next release. The development roadmap for PuzzleDB is shown below.
For more information about the roadmap, please refer to Roadmap.
User Guides
-
Get Started
-
Operation
-
Benchmarking
-
Distribution
Developer Guides
-
References
-
Contributing (Planning)
-
Building and Testing
-
Extending PuzzleDB
-
Specification