The YugaByte Database Blog

Thoughts on open source, cloud native and distributed databases

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

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

Getting Started with Distributed Backups in YugaByte DB

YugaByte DB is a distributed database with a Google Spanner-inspired strongly consistent replication architecture that is purpose-built for high availability and high performance. This architecture allows administrators to place replicas in independent fault domains, which can be either availability zones or racks in a single region or different regions altogether. These types of multi-AZ or multi-region deployments have the immediate advantage of guaranteeing organizations a higher order of resilience in the event of a zone or region failure.

Read More

Presto on YugaByte DB: Interactive OLAP SQL Queries Made Easy

Presto is a distributed SQL query engine optimized for OLAP queries at interactive speed. It was created by Facebook and open-sourced in 2012. Since then, it has gained widespread adoption and become a tool of choice for interactive analytics. It supports standard ANSI SQL, including complex queries, aggregations, joins, and window functions. It has a connector architecture to query data from many data sources such as SQL and NoSQL databases as well as traditional big data platforms such as Hive/Hadoop.

Read More

YugaByte DB 1.1 New Feature: Public IPs to Simplify Multi or Hybrid Cloud Database Deployments

Welcome to another post in our ongoing series that highlights new features from the latest 1.1 release announced last week. Today we are going to look at the importance of public IP addresses and hostnames in simplifying multi-cloud and hybrid cloud deployments.

In modern cloud deployments, servers often have a combination of private IP addresses (used in the private LAN and often the IP address of the network interface on the server),

Read More

Understanding How YugaByte DB Runs on Kubernetes

As we reviewed in “Docker, Kubernetes and the Rise of Cloud Native Databases”, Kubernetes has benefited from rapid adoption to become the de-facto choice for container orchestration. This has happened in a short span of only 4 years since Google open sourced the project in 2014. YugaByte DB’s automated sharding and strongly consistent replication architecture lends itself extremely well to containerized deployments powered by Kubernetes orchestration.

Read More

A Quick Guide to Secondary Indexes in YugaByte DB

When creating a Cassandra-compatible YCQL table in YugaByte DB, you are required to create a primary key consisting of one or more columns of the table. Primary key based retrievals are efficient because YugaByte DB automatically indexes/organizes the data by the primary key. However, there are many use-cases where you may need to retrieve data using columns that are not a part of the primary key.

Read More

Yes We Can! Distributed ACID Transactions with High Performance

ACID transactions are a fundamental building block when developing business-critical, user-facing applications. They simplify the complex task of ensuring data integrity while supporting highly concurrent operations. While they are taken for granted in monolithic SQL/relational DBs, distributed NoSQL/non-relational DBs either forsake them completely or support only a highly restrictive single-row flavor (see sections below). This loss of ACID properties is usually justified with a gain in performance (measured in terms of low latency and/or high throughput).

Read More

Orchestrating Stateful Apps with Kubernetes StatefulSets

Kubernetes, the open source container orchestration engine that originated from Google’s Borg project, has seen some of the most explosive growth ever recorded in an open source project. The complete software development lifecycle involving stateless apps can now be executed in a more consistent, efficient and resilient manner than ever before. However, the same is not true for stateful apps — containers are inherently stateless and Kubernetes did not do anything special in the initial days to change that.

Read More

Overcoming MongoDB Sharding and Replication Limitations with YugaByte DB

A few of our early users have chosen to build their new cloud applications on YugaByte DB even though their current primary datastore is MongoDB. Starting with the v3.4 release in Nov 2016, MongoDB has made improvements in its sharding and replication architecture that has allowed it to be re-classified as a Consistent and Partition-tolerant (CP) database and move away from its Available and Partition-tolerant (AP) origins.

Read More