The YugaByte Database Blog

Thoughts on open source, cloud native and distributed databases

Why are NoSQL Databases Becoming Transactional?

The NoSQL database revolution started with the publication of the Google BigTable and Amazon Dynamo papers in 2006 and 2007 respectively. These original designs focused on horizontal write scalability without compromising the performance observed in the single node databases dominant at that time. The compromises instead came either in the form of eventual consistency (i.e. inability to read the last update) or loss of multi-key access patterns (such as SQL integrity/foreign key constraints,

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

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

Web app developers initially adopted MongoDB for its ability to model data as “schemaless” JSON documents. This was a welcome relief to many who were previously bitten by the rigid structure and schema constraints of relational databases. However, two critical concerns that have been a thorn on MongoDB’s side over the years are that of data durability and ACID transactions.

Read More

YugaByte DB 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 YugaByte DB’s Cassandra compatible YCQL API. Note that this data type is specific to YugaByte DB and is not part of the standard Cassandra Query Language (CQL).

Read More

YugaByte DB 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.

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

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