CockroachDB is an open source, distributed SQL database with strongly-consistent ACID transactions, horizontal scalability, familiar SQL API and super amazing survivability. It empowers users to create scalable applications and store data globally without worrying about potential disasters.
Thanks to the strongly-consistent replication and powerfully automated repair ability, CockroachDB successfully survives the software and hardware failures in whatever a short or a long term, from a server restart to a datacenter outage.
CockroachDB replicates data multiple times and guarantees consistency between nodes. It guarantees the SQL isolation level "serializable" by combining the Raft consensus algorithm for writes and a custom time-based synchronization algorithms for reads.
CockroachDB automatically scales, rebalances, and repairs itself. When data flow in to a threshold, a range will be split into new ranges, which will be automatically rebalanced to nodes with more capacity if your cluster spans multiple nodes.
CockroachDB distributes transactions across clusters, which can span regions, datacenters, and cloud providers. Data can dynamically move wherever necessary without compromising down-time or additional latency.
Superior to traditional active-passive and active-active system, CockroachDB enables all replicas to handle traffic while ensuring the data consistency by using “consensus replication”. As long as a majority of replicas can talk to each other, the cluster is available.
With the implementation of Standard SQL and extensions, CockroachDB makes it possible to write familiar queries. Its support for PostgreSQL wire protocol significantly facilitates the application’s talk to Cockroach.
As an open source programming language supporting libraries, interfaces, and tooling, Go is a right choice for CockroachDB, helping build an excellent performance and distributed system while ensuring high speed and stability.
Simplicity is a top priority in the design of CockroachDB. Its nodes are self-organized and symmetric, perfectly realizing a homogeneous deployment with minimal configuration and zero external dependencies.
If your data store has the following requirements, CockroachDB is a good option.
Built on top of a distributed, strongly-consistent and transactional key-value store, CockroachDB fully supports ANSI-SQL, including table joining, foreign key constraints and transactions. Using the advanced distributed database in the same way as before, to developers with RDBMS experience, is very appealing.
CockroachDB’s innovative high availability design is called Multi-Active availability which enables every node of a cluster to serve both read and write requests while ensuring data consistency across all nodes.
CockroachDB is super resilient. It can run on a single node which can later scale out to hundreds of nodes without any downtime or hassle. In the mean while, CockroahDB can rebalance work load among all nodes automatically without any management or configuration overhead.
No one can underestimate the usefulness and importance of database transaction. However, database transaction in distributed environments is hard to implement. As a distributed database, CockroachDB supports strongly-consistent ACID transaction spanning arbitrary tables and rows, even across different nodes.
By replicating data multiple times, CockroachDB can guarantee data consistency and integrity over a wide area. This enables CockroachDB cluster to survive disk, server, rack or data center failure, and to achieve auto-healing and self-repairing. CockroachDB is hard to kill just as its name implicates.
With its innovative design, CockroachDB’s management is quite easy. You can run CockroachDB on a single server and scale it out later when necessary. The process of adding capacity is as easy as changing several configuration parameters. Workload rebalance and data repair are performed without any interference.
If low latency reads and writes are critical to you, CockroachDB is not appropriate.
If heavy analytics / OLAP is required, please skip CockroachDB.
Easy and cheap CockroachDB hosting with horizontal scalability, high availabilty and survivability.