The Distributed SQL Blog

Thoughts on distributed databases, open source and cloud native

Distributed SQL Change Management with Liquibase and YugabyteDB on GKE

Liquibase is an open source and extensible change management project that supports a variety of databases including Snowflake, MySQL, and PostgreSQL via JDBC. Liquibase allows users to easily define changes in SQL, XML, JSON, and YAML. These changes are then managed in a version control system so the changes can be documented, ordered, and standardized. For more information on the features and benefits of Liquibase,

Read More

Getting Started with SQLPad and Distributed SQL on Google Kubernetes Engine

SQLPad is an MIT licensed web app written in React and Node.js for writing and running SQL queries and visualizing the results. SQLPad supports PostgreSQL, MySQL, SQL Server, Crate, Vertica, Presto, SAP HANA, Cassandra, Snowflake, Google BigQuery, SQLite, and many more via ODBC. Because YugabyteDB is PostgreSQL compatible, most third-party tools and apps will work “out of the box.” SQLPad is no exception here.

Read More

Highly Available Prometheus Metrics for Distributed SQL with Thanos on GKE

In the last few years, Prometheus has gained huge popularity as a tool for monitoring distributed systems. It has a simple yet powerful data model and query language, however, it can often pose a bit of a challenge when it comes to high availability as well as for historical metric data storage. Adding more Prometheus replicas can be used to improve availability,

Read More

Part 1: Deploying a Distributed SQL Backend for Apache Airflow on Google Cloud

Apache Airflow is a popular platform for programmatically authoring, scheduling, and monitoring workflows. Airflow has been deployed by companies like Adobe, Airbnb, Etsy, Instacart, and Square. The advantage of defining workflows as code is that they become more maintainable, versionable, testable, and collaborative. Airflow is used to author these workflows as directed acyclic graphs (DAGs) of tasks.

Read More

Spanning the Globe without Google Spanner

Open Source Geo-Distributed Relational Database on Multi-Cluster Kubernetes

Google Spanner, conceived in 2007 for internal use in Google AdWords, has been rightly considered a marvel of modern software engineering. This is because it is the world’s first horizontally-scalable relational database that can be stretched not only across multiple nodes in a single data center but also across multiple geo-distributed data centers,

Read More

Automating YugabyteDB Deployments with Google Cloud Deployment Manager

This is the second post in the Getting Started with YugabyteDB on Public Cloud series. In our first post, we covered Automating YugabyteDB Deployments with AWS CloudFormation templates. In this post we will show you how to achieve the same with Cloud Deployment Manager templates when using Google Cloud.

For redundancy across multiple fault domains inside a single region,

Read More

Basic CRUD Operations Using Hasura GraphQL with Distributed SQL on GKE

Editor’s note: This post was updated July 20, 2020 with new Helm and YugabyteDB versions

GraphQL is an MIT-licensed project originally developed at Facebook in 2012 and open-sourced a few years later. Two popular GraphQL projects, Hasura and Apollo, have reported download numbers of 29 and 33 million, respectively. Why? Think of GraphQL as a query language for APIs and a runtime for fulfilling those queries with your existing data.

Read More

Getting Started with pgbench and Distributed SQL on GKE

pgbench is a simple program for running benchmark tests on PostgreSQL. It runs the same sequence of SQL commands over and over, possibly in multiple concurrent database sessions, and then calculates the average transaction rate (transactions per second). By default, pgbench tests a scenario that is loosely based on TPC-B, involving five SELECT, UPDATE, and INSERT commands per transaction.

Read More

Getting Started with Falco Runtime Security and Cloud Native Distributed SQL on Google Kubernetes Engine

Falco is an incubating CNCF project that provides cloud native, open source runtime security for applications running in Kubernetes environments. Falco monitors process behaviors to detect anomalous activity and help administrators gain deeper insights into process execution.  Behind the scenes, Falco leverages the Linux-native extended Berkeley Packet Filter (eBPF) technology to analyze network traffic and audits a system at the most fundamental level,

Read More

Cloud Native Meets Distributed SQL: Bringing Microservices, Kubernetes, Istio & YugabyteDB Together with Hipster Shop Demo

Polyglot persistence is the widely accepted database implementation strategy when it comes to decomposing monoliths into microservices. In practice, this requires every microservice to model its data needs independently using a database that is purpose-built for that particular model, and thereafter store the data in an independent database instance. While independent database instances as a deployment paradigm makes sense from an decoupled microservices architecture standpoint,

Read More