Modern applications are built as cloud-native, distributed systems. Applications supporting transactional processing are built as stateless, microservice-based distributed systems to support the scale, speed, resilience to failure, and elasticity. For applications supporting analytical processing, the driving design need is to support the growing dataset sizes while simultaneously supporting higher concurrency.

To scale the data tier for both types of applications, it’s not uncommon to find sharding middleware managing single-node database instances. But this approach has its limitations and management overhead challenges, which have led to distributed databases gaining in popularity across the workload spectrum.

In recent years, NoSQL distributed databases have become common, as they are built from the ground up to be distributed. Yet they force difficult design choices such as choosing availability over consistency, data integrity, and ease of query to meet their applications’ need for scale.

Using this approach often means giving up on relational SQL and performing complex logic in the application such as joins. These tend to be error-prone and inefficient compared to traditional RDBMS systems, which provide much better data independence, meaning that query logic in applications is less tightly coupled to the physical structure of the data. These trade-offs characterize NoSQL distributed databases, which were developed to address the scale problems of existing traditional single-node database systems and to take advantage of horizontal scaling. Distributed SQL databases, by contrast, offer the benefits of scale-out, while also providing consistency and an ANSI-compliant SQL interface.

This Refcard serves as a reference to the key characteristics of distributed SQL databases and provides information on the benefits of these databases, as well as insights into query design and execution.

This is a preview of the Getting Started With Distributed SQL Refcard. To read the entire Refcard, please download the PDF from the link above.

#database #nosql #sql #distributed sql

Getting Started With Distributed SQL
1.55 GEEK