CockroachDB makes it possible to support a global customer base while remaining compliant with data privacy regulations. Operators interact with a single logical control plane that they can use to define how they want CockroachDB to store their row-level data. Meanwhile, developers continue to interact with our PostgreSQL-compatible API that transparently handles distributing queries across a global cluster. With our 2.0 release, we introduced a new cluster visualization in our web UI to help operators monitor a global cluster.
In this blog, we’ll use a fictional startup - MovR - to outline how CockroachDB 2.0 makes it easier for operators to manage infrastructure for global user bases. "MovR" (first introduced in our 2.0 meetup) is a P2P vehicle sharing app looking to take over the global market for vehicle sharing. The majority of their customers are in New York, where they started, and they have recently expanded to San Francisco and Amsterdam.
MovR’s users want to book the vehicles they need whenever they need them without having to stare at a loading circle. Running a single datacenter in New York is not an option, as this setup would be prone to service outages and forces users in San Francisco and Amsterdam to experience the network latency that comes with having to access data that lives in New York.
MovR doesn’t have the resources to invest in huge operations teams to build and maintain complex infrastructure. They want to focus on doing what they do best - building features for P2P vehicle sharing. With CockroachDB, operators define how they want CockroachDB to store data, and the database handles the placement, replication, and consistency of the data transparently to the user. Operators only have to monitor a single cluster compared to multiple disparate stacks installed in different countries.
With CockroachDB, operators can view their entire cluster as a pool of resources that can smartly support distributed work loads. Maintenance operations like backups, restores, and inputs can utilize all resources available. The cluster exposes metrics that can be fed into monitoring, and applications talking to New York nodes can still access data stored on San Francisco nodes.
Our new cluster visualization helps developers and operators visualize this unified resource pool, offering a global view of the cluster while bucketing resources into geographic regions.
With a view of the global state of their cluster, MovR is also able to dive in deeper to view the state of just New York nodes, as shown below. These views help operators identify areas in which they may need to dig in further to troubleshoot issues.
The distributed and scalable nature of CockroachDB allows companies to allocate resources to regions that need it the most. If MovR were to notice a huge spike in usage in San Francisco, they would want to add an additional node to San Francisco. They can do this quite simply by bringing up another node and having it join the cluster. Now, we can click into the San Francisco and view the two nodes that make up that region’s resources.
CockroachDB 2.0 is a peek into a new way of deploying global infrastructure. We are planning on investing more time making it easier and faster to run global databases, and invite you to join us in our journey. Currently, both the cluster visualization is an enterprise feature, but you can easily sign up for a free 30 day trial to check it out. We have startup pricing for businesses just getting started, and you can always upgrade to an enterprise license from the core (free) version.
We would love to get your feedback - please engage with us through GitHub or StackOverflow. We’d like to thank our entire community who have followed us so far, and hope to bring CockroachDB to many more users in the future.
\* *This blog from 2018 does not represent the most recent strategies for pinning data to locations at the row …Read more