Distributed SQL

Relational Data Modeling with Foreign Keys in a Distributed SQL Database

Relational Data Modeling with Foreign Keys in a Distributed SQL Database

Note added on October 31, 2019

A lot has happened since this post was published in July 2019. Back then, the current YugabyteDB version was 1.2.10. And now, it’s 2.0.3. My original text included some caveats and comments like “Until this support is added in a future release…”. Now, no caveats are needed. I therefore revised my text and the companion downloadable code to remove all reference to those earlier, interim,

Read more

GO-JEK’s Performance Benchmarking of CockroachDB, TiDB & YugabyteDB on Kubernetes

GO-JEK’s Performance Benchmarking of CockroachDB, TiDB & YugabyteDB on Kubernetes

Iqbal Farabi and Tara Baskara, Systems Engineers from GO-JEK Indonesia, recently presented the results of their benchmarking of cloud native databases on Kubernetes at KubeCon Europe in Barcelona. The three databases they benchmarked were CockroachDB, TiDB and YugabyteDB. This post brings their presentation (video recording) and slides (PDF) to the attention of our readers. It also highlights a few areas of collaboration between the GO-JEK team and YugabyteDB Engineering.

Read more

Best Practices for Deploying   Confluent Kafka, Spring Boot & Distributed SQL Based Streaming Apps on Kubernetes

Best Practices for Deploying Confluent Kafka, Spring Boot & Distributed SQL Based Streaming Apps on Kubernetes

In our previous post “Develop IoT Apps with Confluent Kafka, KSQL, Spring Boot & Distributed SQL”, we highlighted how Confluent Kafka, KSQL, Spring Boot and YugabyteDB can be integrated to develop an application responsible for managing Internet-of-Things (IoT) sensor data. In this post, we will review the challenges and best practices associated with deploying such a stateful streaming application on Kubernetes.

Challenges of Streaming Apps

Streaming apps are inherently stateful in nature given the large volume of data managed and that too continuously.

Read more

How Data Sharding Works in a Distributed SQL Database

How Data Sharding Works in a Distributed SQL Database

Enterprises of all sizes are embracing rapid modernization of user-facing applications as part of their broader digital transformation strategy. The relational database (RDBMS) infrastructure that such applications rely on suddenly needs to support much larger data sizes and transaction volumes. However, a monolithic RDBMS tends to quickly get overloaded in such scenarios. One of the most common architectural patterns used to scale an RDBMS is to “shard” the data. In this blog, we will learn what data sharding is and how it can be used to scale a SQL database.

Read more

YugabyteDB Engineering Update – June 4, 2019

YugabyteDB Engineering Update – June 4, 2019

We are pleased to announce that YugabyteDB 1.2.10 is live! You can read the release notes of this and previous versions here. This release is shipping with foreign key support plus 16 new features, enhancements and bug fixes. Here’s a few highlights from the 1.2.10 release:

YSQL Updates

What’s YSQL? It’s YugabyteDB’s PostgreSQL-compatible, distributed SQL API.

  • Basic support for FOREIGN KEY constraints is now available!

Read more

Spring Data REST Services Powered By Distributed SQL – A Hands-on Lab

Spring Data REST Services Powered By Distributed SQL – A Hands-on Lab

The Spring application development framework is arguably the most popular framework among Java developers. However, given its extensive breadth and depth, it can be difficult to learn for new users. As the name suggests, Spring Boot makes it easy to `boot up` with the Spring framework. It shortens development time by taking an opinionated view of the framework and the associated third-party libraries. Annotation configuration and default codes are two examples of such a view.

Read more

How to Handle Runaway Queries in a Distributed SQL Database

How to Handle Runaway Queries in a Distributed SQL Database

Runaway queries are queries that scan through a large set of data. Such queries consume vast amounts of I/O and CPU resources of the database in the background, even if the results appear as harmless timeouts to the end user or the client application. How do runaway queries get executed in the first place, anyway? Everyone who uses databases has at some point or another entered SELECT * from some_large_table, only to realize they forgot to add a LIMIT n clause.

Read more

Develop IoT Apps with Confluent Kafka, KSQL, Spring Boot & Distributed SQL

Develop IoT Apps with Confluent Kafka, KSQL, Spring Boot & Distributed SQL

In our previous post “5 Reasons Why Apache Kafka Needs a Distributed SQL Database”, we highlighted why Kafka-based data services need a distributed SQL database like YugabyteDB as their highly scalable, long-term persistent data store. In this post, we show how Confluent Kafka, KSQL, Spring Boot and YugabyteDB can be integrated to develop an application for managing Internet-of-Things (IoT) sensor data.

The Scenario – IoT-Enabled Fleet Management

A trucking company wants to track its fleet of IoT-enabled vehicles that are delivering shipments across the country.

Read more

5 Reasons Why Apache Kafka Needs a Distributed SQL Database

5 Reasons Why Apache Kafka Needs a Distributed SQL Database

Modern enterprise applications must be super-elastic, adaptable, and running 24/7. However, traditional request-driven architectures entail a tight coupling of applications. For example, App 1 asks for some information from App 2 and waits. App 2 then sends the requested information to App 1. This sort of app-to-app coupling hinders development agility and blocks rapid scaling.

In event-driven architectures, applications publish events to a message broker asynchronously. They trust the broker to route the message to the right application,

Read more

Achieving Fast Failovers After Network Partitions in a Distributed SQL Database

Achieving Fast Failovers After Network Partitions in a Distributed SQL Database

In February of this year, Kyle Kingsbury of Jepsen.io was conducting formal testing of YugabyteDB for correctness under extreme and unorthodox conditions. Obviously, simulating all manner of network partitions is part of his testing methodology. As a result, during his testing he spotted the fact that although nodes would reliably come back after a failure, the recovery itself was taking roughly 25 seconds to occur. We certainly didn’t like the sound of that!

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