In this blog post, we will stream data to downstream databases leveraging YugabyteDB’s Change Data Capture (CDC) feature introduced in YugabyteDB 2.13. This will publish the changes to Kafka and then stream those changes to databases like MySQL, PostgreSQL, and Elasticsearch.
This post describes how we can send data from YugabyteDB to ClickHouse through YugabyteDB’s Change Data Capture (CDC) feature.
GORM is an Object Relational Mapping (ORM) library for Golang. ORM converts data between incompatible type systems using object-oriented programming languages. An ORM library is a library that implements this technique and provides an object-oriented layer between relational databases and object-oriented programming languages.
In this blog post, we’ll show you how to:
- Start a YugabyteDB cluster on your local Engine.
- Download GORM and configure the sample project.
- Create a simple Go application to run GORM with YugabyteDB.
Recently, I came across a sample e-commerce application that demonstrates how to use Next.js, GraphQL engine, PostgreSQL, and a few other frameworks to build a modern web application. The application supports basic e-commerce capabilities such as product inventory and order management, recommendation system, and checkout function. This made me curious as to how much effort it would take to complete a retail application migration from an on-premise to cloud native solution. So I decided to try.
Ebean is a Java-based Object–Relational Mapping (ORM) application. It is more user-friendly and understandable than traditional ORM tools, such as Hibernate. It achieves this by employing a session-less design that eliminates the concepts of detached/attached beans as well as the difficulties related with flushing/clearing.
GitOps is an operational framework for declarative-driven systems such as Kubernetes. More specifically, it provides a set of best practices that converge the runtime state of the services with the declarative state defined in Git. On the other hand, Argo CD is a declarative, continuous delivery tool for Kubernetes. Argo CD follows the GitOps pattern of using Git repositories as the source of truth for defining the desired application state. Both tools can be used for automation workflows.
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, check out their documentation site.
Connecting a Spring Boot Application to YugabyteDB Managed and Deploying It to Kubernetes on minikube
Spring Boot is one of the most popular frameworks for building cloud native applications. It makes configuring an application easy and offers tons of starters to get you off the ground quickly. Each Spring Boot application is stand-alone and self-contained, which makes them easy to deploy in a distributed fashion – to containers or, even better, on Kubernetes.
YugabyteDB Managed (formerly Yugabyte Cloud) is Yugabyte’s DB-as-a-service and is a perfect match for Spring Boot applications,