The Distributed SQL Blog

Enhancing RocksDB for Speed & Scale

Enhancing RocksDB for Speed & Scale

As described in our previous post “How We Built a High Performance Document Store on RocksDB?”, YugabyteDB’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). These enhancements are distributed as part of the YugabyteDB open source project. The goal of this post is to deep dive into these enhancements for the benefit of engineering teams interested in leveraging RocksDB beyond its original design intent of a fast monolithic key-value store.

Read more

How We Built a High Performance Document Store on RocksDB?

How We Built a High Performance Document Store on RocksDB?

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

RocksDB is a popular embeddable persistent key-value store. First open sourced by Facebook in 2012 as a fork of the Google LevelDB project, it has been adapted over the years to a wide range of workloads including database storage engines and application data caching.

In this post, we explain our rationale for selecting RocksDB as a foundational building block for YugabyteDB.

Read more

How to Monitor YugabyteDB with Prometheus on Docker?

How to Monitor YugabyteDB 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 YugabyteDB architecture. Every layer of YugabyteDB 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 YugabyteDB in almost no time.

This post details how to install and configure both YugabyteDB and Prometheus on Docker so that you can run simple queries on the Prometheus UI.

Read more

7 Issues to Consider When Evaluating FoundationDB

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 the YugabyteDB database, our users often ask us for a comparison. These users are essentially trying to understand whether they should build their app directly using one of the three YugabyteDB APIs or should they explore/build a new database layer on FoundationDB first.

Read more

Basic Introduction to YugabyteDB Components

Basic Introduction to YugabyteDB Components

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

Universe

YugabyteDB 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 YugabyteDB universe is made up of one or more clusters. At a minimum it will contain a primary cluster,

Read more

How to Migrate Data from Cassandra or MySQL to YugabyteDB?

How to Migrate Data from Cassandra or MySQL to YugabyteDB?

If you work with databases, at some point you are going to need to get data in and out them using a format that can be consumed by a completely different system. YugabyteDB makes use of CSV files to make this as easy as possible. The CSV format is arguably the most universally portable way to get data migrations accomplished.

TL;DR – YugabyteDB makes use of Cassandra’s COPY FROM command and a forked version of Cassandra’s Bulk Loader to get data into the system.

Read more

Rise of Globally Distributed SQL Databases – Redefining Transactional Stores for Cloud Native Era

Rise of Globally Distributed SQL Databases – Redefining Transactional Stores for Cloud Native Era

At last month’s KubeCon + CloudNativeCon in Seattle, the single biggest change from previous container-related conferences was the excitement among the end user companies around their adoption of Kubernetes and the associated cloud native infrastructure ecosystem. The CNCF End User Community page today lists 50+ enterprises and 21+ case studies including those from industry bellwethers such as Capital One, Netflix, Nordstrom and Pinterest. There is a common adoption pattern among all these case studies —

Read more

Getting Started with YugabyteDB’s Security Features

Getting Started with YugabyteDB’s Security Features

In this blog post we are going to give you a quick overview of YugabyteDB’s security features . We’ll cover authentication, authorization, encryption, plus a simple security checklist to help lock down your install. For the purposes of this walk-through, we are going to use the Cassandra-compatible, flexible-schema YCQL API as an example.

Authentication

First things first, authentication is not enabled by default. So, once you are through experimenting with YugabyteDB on your laptop and are ready to start development in earnest,

Read more

Explore Distributed SQL and YugabyteDB in Depth

Discover the future of data management.
Learn at Yugabyte University
Get Started
Browse Yugabyte Docs
Explore docs
PostgreSQL For Cloud Native World
Read for Free