The Distributed SQL Blog

Thoughts on distributed databases, open source and cloud native

Boosting Performance for Small Distributed SQL Data Sets with Colocated Tables

An Introduction to Colocated Tables

In YugabyteDB v2.1, we released a new feature in beta: colocated tables. In this post, we’ll explain what colocated tables are in a distributed SQL database, why you would need them, and how to get started.

Relational databases often have a large number of tables and indexes. A lot of these tables are closely related and commonly queried together via joins or subqueries.

Read More

Why We Built YugabyteDB by Reusing the PostgreSQL Query Layer

Reusing PostgreSQL’s native query layer instead of writing a new PostgresQL-compatible query layer ground up has been one of the best design decisions we have made in YugabyteDB. As outlined in the challenges we faced building a distributed SQL database, we have battle scars to prove this insight – we started writing a PostgreSQL-compatible query layer from scratch before realizing that we simply cannot build the world’s best cloud native RDBMS in a timely manner if we persist down this path.

Read More

Four Data Sharding Strategies We Analyzed in Building a Distributed SQL Database

A distributed SQL database needs to automatically partition the data in a table and distribute it across nodes. This is known as data sharding and it can be achieved through different strategies, each with its own tradeoffs. In this post, we will examine various data sharding strategies for a distributed SQL database, analyze the tradeoffs, explain the rationale for which of these strategies YugabyteDB supports and what we picked as the default sharding strategy.

Read More

YugabyteDB Engineering Update – Dec 19, 2019

We are pleased to announce that YugabyteDB 2.0.8 is live!  You can read the official release notes of this and previous versions here. This release is shipping with 12 new enhancements and fixes.

What’s YugabyteDB? It is an open source, high-performance distributed SQL database built on a scalable and fault-tolerant design inspired by Google Spanner.

Read More

Four Compelling Use Cases for PostgreSQL Table Functions

Welcome to part three of a three-part series of posts on PostgreSQL’s table functions. These functions can be easily leveraged in a distributed SQL database like YugabyteDB, which is PostgreSQL compatible.

In this final post, I’ll discuss four realistic use cases that call for user-defined table functions and I’ll explain how each case is met using complete,

Read More

Implementing PostgreSQL User-Defined Table Functions in YugabyteDB

Welcome to part two of a three-part series of posts on PostgreSQL’s table functions. These functions can be easily leveraged in a distributed SQL database like YugabyteDB, which is PostgreSQL compatible.

In part one I gave a brief introduction to PostgreSQL’s table functions. Part three will cover some realistic use cases. I’ll introduce this second post by quoting that paragraph:

A regular language plpgsql user-defined function is implemented using the plain return statement.

Read More

An Introduction to PostgreSQL Table Functions in YugabyteDB

Welcome to the first of a three-part series of posts on PostgreSQL’s table functions. These functions can be easily leveraged in a distributed SQL database like YugabyteDB, which is PostgreSQL compatible.

This series follows on from my “Using Stored Procedures in Distributed SQL Databases” post. In this series of posts we’ll cover:

  • What table functions are and why they’re useful
  • Demonstrate the use of some built-in SQL table functions
  • Introduce how you can implement a user-defined table function,

Read More