Who They Are
Offering a unique and powerful approach described as “distributed SQL database hosting,” Cockroach Labs lives up to its name. Founded by a group of former Google engineers in 2015, this company offers an open-source database platform designed for scalability and disaster readiness, intended to be “impossible to squash,” just like their namesake.
Large companies like Comcast, Lush Cosmetics, and Bose are among just a few of the organizations that have made Cockroach Labs their preferred database hosting provider.
What They Offer
Cockroach Labs main product is called CockroachDB. It’s described as an “unkillable” distributed database which has many advantages over traditional database structures.
Intended to survive anything from single disk failure to full data center collapse while requiring no user intervention, CockroachDB provides a distributed SQL database built on a transactional, consistent key-value store.
CockroachDB users have the ability to scale horizontally for both reads and writes. This has the potential to eliminate write bottlenecks, as every node can service both read and write capabilities – meaning that users can create more endpoints quickly and efficiently, allowing them to scale query throughput and overall database performance.
CockroachDB users also won’t need to manually create data shards as CockroachDB offers an Automated Rebalancing feature. By adding new nodes to your database, CockroachDB is automatically triggered to rebalance data, eliminating the need for manual sharding.
CockroachDB can also detect increases in traffic and demand, and algorithmically distribute data in order to maintain database performance. This can be user-tuned at a granular level, allowing users to decide where specific pieces of data will live geographically, ensuring low latency queries across the globe.
CockroachDB was designed with disaster survival in mind, and includes features to ensure that data is not lost even if nodes are. According to the CockroachDB documentation, data is replicated three times by the system itself, and when one replica is lost, the others can seamlessly move into place to continue serving reads and writes. This creates a form of “self-healing infrastructure,” as when a node is lost, another is added to replace it.
In an attempt to resolve issues inherent to a traditional active-passive failover system, CockroachDB includes writes that occur simultaneously across all data replicas. Users can also customize failover protocols in order to handle specific events.
Planned downtime can be eliminated using CockroachDB’s Live Rolling Updates feature. This feature allows users to take down a single node at a time to apply upgrades, while the rest of the database continues to handle reads and writes.
CockroachDB’s survivability is further enhanced by its distributed backup and restore feature, which is designed to scale with a user’s data. This means that each node has backup and restore functionality, providing incremental and scheduled backups.
With single and multi-region databases available, users can grow their infrastructure as needed. If starting as a small organization, a single cloud region can be selected and later expanded to multiple regions or clouds.
Using declarative SQL statements, users can also lock in read/write latency for specific tables, even down to the row.
CockroachDB is designed to be cloud-agnostic, meaning that users have the ability to deploy to any cloud, even coordinating between multiple platforms. This allows Cockroach’s customers to reach a wider audience as well as increase fault tolerance. Users may also choose to deploy certain tables to on-site infrastructure or a private cloud to reduce costs and increase security for sensitive data.
Reviews for CockroachDB are very favorable with most users reporting little to no issues. Those who have experienced issues, however, report that the lack of support for procedural code (PLSQL) can be a pain point. There is also the issue that, while Generalized Inverted Indexes are supported, users cannot yet partition these GIN indexes.
Other users report some dissatisfaction with the operation and management tools included in the platform. CockroachDB seems to be lagging behind services such as AWS RDS – particularly in the areas of initial setup, adding users, activating licenses and culling backups. This, combined with the fact that CockroachDB’s Operator (a deployment feature) currently only supports Google Cloud Platform, may cause Amazon AWS and Microsoft Azure customers to feel left out. It has also been reported that CockroachDB seems to favor GCP overall.
A final complaint that many users had was the lack of support forums. Despite these complaints, the overwhelming majority of CockroachDB reviews are positive, and the company seems dedicated to creating happy customers.
In the end, customers who do not currently require large scale deployments may have better luck seeking options from cloud hosting providers such as AWS, and later migrating to CockroachDB when the scale demands it.