The Distributed SQL Blog

Thoughts on distributed databases, open source and cloud native

Distributed PostgreSQL on a Google Spanner Architecture – Query Layer

Our previous post dived into the details of the storage layer of YugaByte DB 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.

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 YugaByte DB, 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, watch for a follow-up post that highlights the lessons we learned while engineering the SQL capabilities of YugaByte DB.

Read More

Announcing YugaByte DB 1.2 and Company Update

The team at YugaByte is excited to announce that YugaByte DB 1.2 is officially GA! You can download the latest version from our Quick Start page.

New in 1.2: YugaByte SQL Beta 3

YugaByte SQL (YSQL) is our PostgreSQL v11 compatible, distributed SQL API. It is ideal for powering microservices that require low latency,

Read More

YugaByte DB High Availability & Transactions for PostgreSQL & MongoDB Developers

In the first post of our series comparing YugaByte DB with PostgreSQL and MongoDB, we mapped the core concepts in YugaByte DB to the two popular databases. This post is a deeper dive into the high availability and transactions architecture of these databases.

High Availability

Almost all databases including YugaByte DB use replication to ensure that the database remains highly available under failures.

Read More

Mapping YugaByte DB Concepts to PostgreSQL and MongoDB

If you are developing a new distributed application or are extending an existing one with a new set of microservices, chances are you are going to need to store data in a distributed SQL database. The plethora of niche databases that have emerged over the last decade make the task of selecting a database challenging. With many databases, each with its own nomenclature and nuances to choose from,

Read More

Enhancing RocksDB for Speed & Scale

This blog post was co-authored by Mikhail Bautin and Kannan Muthukkaruppan

As described in our previous post “How We Built a High Performance Document Store on RocksDB?”, YugaByte DB’s distributed document store (DocDB) uses RocksDB as its per-node storage engine. We made multiple performance and data density related enhancements to RocksDB in the course of embedding it into DocDB’s document storage layer (figure below).

Read More

How to Monitor YugaByte DB with Prometheus on Docker?

Observability is absolutely vital to operating business-critical data infrastructure at scale. This is why observability is not an afterthought in the YugaByte DB architecture. Every layer of YugaByte DB exposes metrics in the Prometheus format at the /prometheus-metrics endpoint. Given that Prometheus is essentially the de-facto standard for build-your-own infrastructure monitoring and alerting, you can get started with monitoring YugaByte DB in almost no time.

Read More

7 Issues to Consider When Evaluating FoundationDB

FoundationDB enjoys a unique spot in the transactional NoSQL space given its positioning as a basic key-value database that can be used to build new, more application-friendly databases. Given that many of the guarantees provided by its core engine (such as multi-shard ACID transactions and high fault tolerance) are similar to those provided by YugaByte DB, our users often ask us for a comparison.

Read More

Basic Introduction to YugaByte DB Components

In this short blog post we are going to give you a quick overview of the components that make up a YugaByte DB universe.

Universe

YugaByte DB is composed of nodes. We collectively refer to this collection of all nodes as a universe. These nodes can be physical machines, virtual machines or containers (e.g. Kubernetes).

Clusters

A YugaByte DB universe is made up of one or more clusters.

Read More