AI prompts
base on Examples for running Debezium (Configuration, Docker Compose files etc.) Copyright Debezium Authors. Licensed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0).
# Debezium Examples
This repository contains multiple examples for using Debezium, e.g. configuration files, Docker Compose files, OpenShift templates.
## Getting Started
For getting started please check the [tutorial example](./tutorial).
## Examples
* [Apache Pulsar](./apache-pulsar): Streaming **Postgres** database changes to **Apache Pulsar**
* [Audit Logs](./auditlog): Building Audit Logs with Change Data Capture
* [Cache Invalidation](./cache-invalidation): How Debezium can be used to invalidate items in the JPA 2nd level cache after external data changes
* [Camel - pipelines](./camel-component): Building an Apache Camel pipeline that captures **Postgres** database changes
* [Camel - Kafka Connect](./camel-kafka-connect): How to use the Camel Kafka Connect component with Debezium
* [Cloud Events](./cloudevents): How to use cloud events defined in Json with Debezium
* [Database Activity Monitoring](./db-activity-monitoring): How to use Debezium for comprehensive database activity logging and analysis
* [Debezium - End-to-end demo](./end-to-end-demo): End-to-end demo using MySQL as database and Kafka Connect
* [Debezium - Failover](./failover): How Debezium recovers after a database failure
* [Debezium - Monitoring](./monitoring): Monitoring a Debezium instance
* [Debezium - Auto-Creation of Topics](./topic-auto-create): Auto-creating Debezium change data topics
* [Debezium - Outbox Pattern](./outbox): Implement the "outbox pattern", an approach for letting services communicate in an asynchronous and reliable fashion
* [Debezium - Saga Pattern](./saga): How to implement the [Saga pattern](https://microservices.io/patterns/data/saga.html) for realizing distributed transactions across multiple microservices
* [Debezium - Testing](./testcontainers): How to implement an integration test for your CDC set-up using [Testcontainers](https://www.testcontainers.org/)
* [Debezium - User Interface](./ui-demo): How to deploy Debezium UI
* [Debezium Connect - Using Kafka with SSL enabled](./kafka-ssl): How to configure Debezium Connect to use a Kafka instance with SSL enabled
* [Debezium Server - Using Google Cloud Pub/Sub](./debezium-server/debezium-server-sink-pubsub): How to deploy [Debezium Server](https://debezium.io/documentation/reference/stable/operations/debezium-server.html) using Postgres, MongoDB, and MySQL as data sources and [Google Cloud Pub/Sub](https://cloud.google.com/pubsub/docs) as a destination
* [Debezium Server - Using storage for offset and schema history](./debezium-server/debezium-server-mysql-redis-pubsub): How to deploy [Debezium Server](https://debezium.io/documentation/reference/stable/operations/debezium-server.html) using MySQL as data sources, Redis and storage for offset and schema history, and [Google Cloud Pub/Sub emulator](https://cloud.google.com/pubsub/docs) as a destination
* [Debezium Server - Using custom topic naming policy](./debezium-server-name-mapper): How to deploy [Debezium Server](https://debezium.io/documentation/reference/stable/operations/debezium-server.html) using a custom topic naming policy
* [Debezium Server - Operator - Using Kafka](./operator/tutorial-postgresql-kafka): How to stream changes from a PostgreSQL database into Apache Kafka with Debezium Server deployed in a Kubernetes cluster
* [Debezium Server - Operator - Using Kafka](./operator/tutorial-pubsub): How to stream changes from a PostgreSQL database into [Google Cloud Pub/Sub](https://cloud.google.com/pubsub/docs) with Debezium Server deployed in a Kubernetes cluster
* [Graphql](./graphql): How to build a GraphQL Subscription on top of Debezium Change Events
* [HTTP Signaling and Notification](./http-signaling-notification): How to create custom signaling and notification channels for Debezium connectors
* [Infinispan - Standalone](./infinispan-standalone): How to use a standalone **Infinispan** cluster that will be used for buffering in-progress transactions by the Debezium Oracle connector
* [Infinispan - Distributed Caching](./distributed-caching): How to combine Debezium and **Infinispan** for an CQRS-style application design
* [JPA Aggregations](./jpa-aggregations): How to materialize consistent aggregates using a PoC-level Hibernate ORM extension
* [Using multiple databases](./engine-wasm): How to capture and stream change events from multiple databases such as MySQL and PostgreSQL
* [JSON Logging](./json-logging): This example uses **Logstash** json_event pattern for log4j
* [Kafka KStreams - Using Kafka Connect MongoDB](./kstreams): How to use kstreams topologies and the [Kafka Connect MongoDB sink connector](https://github.com/hpgrahsl/kafka-connect-mongodb)
* [Kafka KStreams - Foreign Key Joins](./kstreams-fk-join): How two Debezium change data topics can be joined via Kafka Streams
* [Kafka KStreams - WebSockets](./kstreams-live-update): How to use KStreams and stream the merged events to a client using WebSockets
* [Machine Learning - TensorFlow](./machine-learning/tensorflow-mnist): Image classification with Debezium and TensorFlow
* [Machine Learning - K-means](./machine-learning/tensorflow-mnist): Iris classification using streaming k-means and **Apache Flink**
* [Kinesis](./kinesis): How to stream changes from MySQL database running on a local machine to an Amazon [Kinesis](https://aws.amazon.com/kinesis/data-streams/) stream
* [KSQL](./ksql): Querying Debezium change data events with KSQL
* [Postgres - Failover slots](./postgres-failover-slots): How to use Postgres 17 failover replication slots with Debezium
* [Postgres - Kafka signal](./postgres-kafka-signal): How to stream data into the signal topic
* [Postgres - TOAST Column Values](./postgres-toast): Dealing With Postgres TOAST Column Values
* [SQL Server - Replication](./sql-server-read-replica): How to deploy the topology of services to stream from SQL Server read-only replica
* [MongoDB - Streaming to PostgresSQL](./unwrap-mongodb-smt): How to capture events from a MongoDB database and stream them to a PostgresSQL database
* [MySQL - Streaming to PostgresSQL](./unwrap-smt): How to capture events from a MySQL database and stream them to a PostgresSQL database", Assign "at most 3 tags" to the expected json: {"id":"10793","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"