The Distributed SQL Blog

Thoughts on distributed databases, open source, and cloud native

How-to: The PGExercises PostgreSQL Tutorial Running on a Distributed SQL Database

PgExercises is a sample dataset used to power the PostgreSQL Exercises website. The site is comprised of over 80 exercises designed to be used as a companion to the official PostgreSQL documentation. The exercises on the PGExercises site range from simple SELECT statements and WHERE clauses, through JOINs and CASE statements, then on to aggregations, window functions,

Read More

How-to: The Northwind PostgreSQL Sample Database Running on a Distributed SQL Database

The Northwind database is a sample database that was originally created by Microsoft and used as the basis for their tutorials in a variety of database products for decades. The Northwind database contains the sales data for a fictitious company called “Northwind Traders,” which imports and exports specialty foods from around the world. The Northwind database is an excellent tutorial schema for a small-business ERP,

Read More

Relational Data Modeling with Foreign Keys in a Distributed SQL Database

Note added on October 31, 2019

A lot has happened since this post was published in July 2019. Back then, the current YugabyteDB version was 1.2.10. And now, it’s 2.0.3. My original text included some caveats and comments like “Until this support is added in a future release…”. Now, no caveats are needed. I therefore revised my text and the companion downloadable code to remove all reference to those earlier,

Read More

YugabyteDB Engineering Update – June 27, 2019

We are pleased to announce that YugabyteDB 1.2.11 is live! You can read the release notes of this and previous versions here. This release is shipping with stored procedures support, plus 30 new features, enhancements and bug fixes. Here’s a few highlights from the 1.2.11 release.

What’s YSQL? It’s YugabyteDB’s PostgreSQL-compatible, distributed SQL API.

Read More

GO-JEK’s Performance Benchmarking of CockroachDB, TiDB & YugabyteDB on Kubernetes

Iqbal Farabi and Tara Baskara, Systems Engineers from GO-JEK Indonesia, recently presented the results of their benchmarking of cloud native databases on Kubernetes at KubeCon Europe in Barcelona. The three databases they benchmarked were CockroachDB, TiDB and YugabyteDB. This post brings their presentation (video recording) and slides (PDF) to the attention of our readers.

Read More

Achieving Fast Failovers After Network Partitions in a Distributed SQL Database

In February of this year, Kyle Kingsbury of Jepsen.io was conducting formal testing of YugaByte DB for correctness under extreme and unorthodox conditions. Obviously, simulating all manner of network partitions is part of his testing methodology. As a result, during his testing he spotted the fact that although nodes would reliably come back after a failure,

Read More

6 Technical Challenges Developing a Distributed SQL Database

You can join the discussion on HackerNews here.

We crossed the three year mark of developing YugabyteDB in February of 2019. It has been a thrilling journey thus far, but not without its fair share of technical challenges. There were times when we had to go back to the drawing board and even sift through academic research to find a better solution than what we had at hand.

Read More

How to Achieve High Availability, Low Latency & GDPR Compliance in a Distributed SQL Database

Today’s developers understand that the key requirement to converting and retaining customers is all about delivering fast and responsive experiences, while remaining resilient to failures and compliant with data governance regulations. YugaByte DB is purpose built for geo-distributed applications that require high availability, high performance and regulatory compliance. In this blog, we are going to “look under the hood,” to explore exactly how YugaByte DB distributes data across multiple clouds,

Read More

Distributed PostgreSQL on a Google Spanner Architecture – Query Layer

Our previous post dived into the details of the storage layer of YugabyteDB called DocDB, a distributed document store inspired by Google Spanner. This post focuses on Yugabyte SQL (YSQL), a distributed, highly resilient, PostgreSQL-compatible SQL API layer powered by DocDB. A follow-up post will highlight the challenges faced and lessons learned when engineering such a database.

YSQL,

Read More

Distributed PostgreSQL on a Google Spanner Architecture – Storage Layer

In this post, we’ll dive into the architecture of the distributed storage layer of YugabyteDB, which is inspired by Google Spanner’s design. Our subsequent post covers the Query Layer, where the storage layer meets PostgreSQL as the SQL API. Finally, here is a follow-up post that highlights the key technical challenges we faced while engineering a distributed SQL database like YugabyteDB.

Read More