The Distributed SQL Blog

Thoughts on distributed databases, open source and cloud native

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

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

YugaByte Database Engineering Update – Nov 27, 2018

Lots has happened since our last engineering update about 3 months ago. Below are some of the highlights.

PostgreSQL API Updates & PostgresConf Silicon Valley Wrap-Up

We have made a lot of progress on YSQL, the PostgreSQL compatible distributed SQL API for YugaByte DB! You can also read about YSQL architecture which covers how distributed SQL is implemented in YugaByte DB.

Read More

Data Modeling Basics – PostgreSQL vs. Cassandra vs. MongoDB

Application developers usually spend considerable time evaluating multiple operational databases to find that one database that’s best fit for their workload needs. These needs include simplified data modeling, transactional guarantees, read/write performance, horizontal scaling and fault tolerance. Traditionally, this selection starts out with the SQL vs. NoSQL database categories because each category presents a clear set of trade-offs. High performance in terms of low latency and high throughput is usually treated as a non-compromisable requirement and hence is expected in any database chosen.

Read More

Distributed Backups in Multi-Region YugaByte DB Clusters

Our post Getting Started with Distributed Backups in YugaByte DB details the core architecture powering distributed backups in YugaByte DB. It also highlights a few backup/restore operations in a single region, multi-AZ cluster. In this post, we perform distributed backups in a multi-region YugaByte DB cluster and verify that we achieve performance characteristics similar to those observed in a single region cluster.

Read More