Cloud Applications Require a Distributed Database
To get full use of the elastic and resilient nature of the cloud, your apps should consider a distributed SQL database. We are well past the experimental stage.
Join the DZone community and get the full member experience.Join For Free
We are well past the experimental stage with the cloud. It’s become mission-critical, and we have entered a stage where our applications and services need to take advantage of the globally distributed nature of the cloud and deliver on the expectations of our consumers.
Legacy relational databases are simply not built for the cloud. They are difficult to scale in this environment and costly to maintain their uptime. NoSQL stores were built to address legacy limitations; however, they fall short when it comes to providing consistent transactions. They are casually consistent. Some of the most successful global organizations have purpose-built databases that achieve the reliability of the relational store with the benefits of scale and global coverage that comes with the cloud. These databases are a new breed called Distributed SQL.
In addition to speaking SQL, there are four primary requirements for achieving a distributed environment: scale, consistency, resiliency, and geo-replication. To start, the database must automate scale in order to mirror the capabilities of multi-cloud environments. Additionally, the database must deliver the highest levels of isolation and resiliency for a distributed configuration out of the box.
The last requirement is new: the database should allow for intelligent distribution of data through a complex, widely dispersed geographic environment, also known as geo-replication. This means when participants have located in various regions or data centers, the database understands the location of each and ties the data to that location. Not only does this address data sovereignty, but more importantly, it allows for acceptable transactional latencies across broadly dispersed geographies. Many try to implement this within the application, but this approach is error-prone and brittle. It makes sense to have this as part of the database itself.
There are a few databases that actually meet all these requirements and allow organizations to go fully distributed. Additionally, there’s a host of underlying foundational needs that cannot be overlooked, including administration, optimization, security, and integrations.
CockroachDB is the first Distributed SQL database to fulfill all these requirements and equip users with the capabilities they need to grow a successful, global business. It is the only database to provide unique geo-partitioning capabilities and allow your organization to still use standard SQL to become truly cloud-native without sacrificing scale, consistency, or resiliency.
Thanks for reading...!!
Opinions expressed by DZone contributors are their own.