Databases

Are MongoDB’s ACID Transactions Ready for High-Performance Applications?

Are MongoDB’s ACID Transactions Ready for High-Performance Applications?

MongoDB’s “schemaless” JSON data modeling was initially attractive to web app developers looking to escape the constraints of traditional relational databases, but issues with data durability and ACID transactions have been a consistent challenge. While the recent MongoDB 4.0 release includes multi-document transaction support, this post explores where the platform falls short for transactional, high performance apps.

Read more

YSQL Architecture: Implementing Distributed SQL in YugabyteDB

YSQL Architecture: Implementing Distributed SQL in YugabyteDB

In this post, we will look at the architecture of YSQL, the PostgreSQL-compatible distributed SQL API in YugabyteDB. We will also touch on the current state of the project and the next steps in progress. Here is a quick overview:

  • YugabyteDB has a common distributed storage engine that powers both SQL and NoSQL
  • For supporting NoSQL apps, YugabyteDB is designed for low latency, sub-millisecond reads and massive write scalability. It can handle millions of requests and many TBs of data per node with linear scalability and high resilience.

Read more

Google Spanner vs. Calvin: Is There a Clear Winner in the Battle for Global Consistency at Scale?

Google Spanner vs. Calvin: Is There a Clear Winner in the Battle for Global Consistency at Scale?

Prof. Daniel Abadi, lead inventor of the Calvin transaction management protocol and the PACELC theorem, wrote a thought-provoking post last month titled “NewSQL database systems are failing to guarantee consistency, and I blame Spanner”. The post takes a negative view of software-only Google Spanner derivative databases such as YugabyteDB and CockroachDB that use Spanner-like partitioned consensus for single shard transactions and a two phase commit (2PC) protocol for multi-shard (aka distributed) ACID transactions.

Read more

YugabyteDB 1.1 New Feature: Document Data Modeling with the JSON Data Type

YugabyteDB 1.1 New Feature: Document Data Modeling with the JSON Data Type

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 document data modeling using the native JSON data type available in YugabyteDB’s Cassandra compatible YCQL API. Note that this data type is specific to YugabyteDB and is not part of the standard Cassandra Query Language (CQL).

With YugabyteDB’s native JSON support,

Read more

YugabyteDB 1.1 New Feature: Speeding Up Queries with Secondary Indexes

YugabyteDB 1.1 New Feature: Speeding Up Queries with Secondary Indexes

Welcome to another post from our ongoing series where we highlight a new feature from the latest 1.1 release! Today we are going to look at secondary indexes.

Defining Secondary Indexes

A database index is a data structure that improves the speed of data retrieval operations on a database table. Typically, databases are very efficient at looking up data by the primary key. A secondary index can be created using one or more columns of a database table,

Read more

Apache Cassandra DB Architecture Fundamentals

Apache Cassandra DB Architecture Fundamentals

What is the Apache Cassandra Database?

Apache Cassandra is a distributed open source database that can be referred to as a “NoSQL database” or a “wide column store.” Cassandra was originally developed at Facebook to power its “Inbox” feature and was released as an open source project in 2008. Cassandra is designed to handle “big data” workloads by distributing data, reads and writes (eventually) across multiple nodes with no single point of failure.

Read more

How Does the Raft Consensus-Based Replication Protocol Work in YugabyteDB?

How Does the Raft Consensus-Based Replication Protocol Work in YugabyteDB?

Editor’s note: This post was originally published August 8, 2018 and has been updated as of May 28, 2020.

As we saw in ”How Does Consensus-Based Replication Work in Distributed Databases?”, Raft has become the consensus replication algorithm of choice when it comes to building resilient, strongly consistent systems. YugabyteDB uses Raft for both leader election and data replication. Instead of having a single Raft group for the entire dataset in the cluster,

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