YugaByte DB

The YugaByte Database Blog

Thoughts on open source, cloud native and distributed databases

Benchmarking an 18 Terabyte YugaByte DB Cluster with High Density Data Nodes

For ever-growing data workloads such as time series metrics and IoT sensor events, running a highly dense database cluster where each node stores terabytes of data makes perfect sense from a cost efficiency standpoint. If we are spinning up new data nodes only to get more storage-per-node, then there is a significant wastage of expensive compute resources. However, running multi-terabyte data nodes with Apache Cassandra as well as other Cassandra-compatible databases (such as DataStax Enterprise) is not an option.

Read More

How Does Consensus-Based Replication Work in Distributed Databases?

Whether it be a WordPress website’s MySQL backend or Dropbox’s multi-exabyte storage system, data replication is at the heart of making data durable and available in the presence of hardware failures such as machine crashes, disk failures, network partitions and clock skews. The basic idea behind replication is very simple: keep multiple copies of data on physically isolated hardware so that the failure in one does not impact the others and as a result,

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

DynamoDB vs MongoDB vs Cassandra for Fast Growing Geo-Distributed Apps

Amazon DynamoDB is a popular NoSQL database choice for mid-to-large enterprises. In this post, we look beyond Amazon’s marketing claims to explore how well DynamoDB satisfies the core technical requirements of fast growing geo-distributed apps with low latency reads, a common use case found in today’s enterprises. We examine the development, operational and financial consequences of working around the limitations of DynamoDB when attempting to “force-fit” for this use case.

Read More

Polyglot Persistence vs. Multi-API/Multi-Model: Which One For Multi-Cloud?

Modern app architectures rely on data with different models and access patterns. Polyglot persistence, first introduced in 2011, states that each such data model should be powered by an independent database that is purpose-built for that model. The original intent was to look beyond relational/SQL databases to the emerging world of NoSQL.

Polyglot Persistence in Action at an E-Commerce App (Source: Martin Fowler)

The Messy Reality of Polyglot Persistence

Polyglot persistence is not free of costs — it leads to increased complexity across the board.

Read More

YugaByte DB 1.0 — A Peek Under The Hood

Modern user-facing apps, like E-Commerce and SaaS, frequently require features from multiple databases (broadly — SQL, NoSQL and a cache) to support their multi-workload needs. App developers are responsible for understanding and managing which pieces of data should be stored in which SQL and NoSQL database. Furthermore, the app is also responsible for moving data across the tiers (e.g.

Read More

Announcing YugaByte DB 1.0! 🍾 🎉

Team YugaByte is delighted to announce the general availability of YugaByte DB 1.0!

It has been an incredibly satisfying experience to, in just two years, build and launch a cloud-scale, transactional and high-performance database that’s already powering real-world production workloads. I wanted to take a moment to share our journey to 1.0 and the road ahead.

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

Building Scalable Cloud Services — An Instant Messaging App

Source: https://stackoverflow.com/questions/47276519/how-should-i-or-should-not-use-cassandra-and-redis-together-to-build-a-scalable

This is the first post in a series about building real-world, distributed cloud services using a transactional cloud database like YugaByte DB.

We are going to look at how to build a scalable chat or messaging application like Facebook Messages. This is close to heart to a number of us at YugaByte — we were the team behind the database platform that powers the Facebook Messages app.

Read More