Best Distributed Database
A distributed database is a single logical database that spans servers or nodes that can be located in different data centers or clouds. These databases are becoming more widely used to support the growing number of geo-distributed applications being accessed by many different users across the globe.
The best distributed database will combine key features from relational (SQL) and non-relational (NoSQL) databases , including the following:
- A SQL API for querying and modeling data, with support for traditional RDBMS features like foreign keys, partial indexes, stored procedures, and triggers.
- Smart distributed query execution so that query processing is pushed closer to the data rather than data being pushed over the network, slowing query response times.
- Automatic and transparent distributed data storage, including both data and indexes that should be automatically sharded across multiple nodes of the cluster so that no single node becomes a bottleneck. Data distribution and intelligent re-balancing ensures high performance and high availability.
- Horizontal scalability to increase the memory, disk, and number of CPUs in the database cluster by dynamically adding nodes to a running cluster (or by increasing the number of pods in the case of a Kubernetes deployments).
- Strongly consistent replication and distributed ACID transactions.