Skip to content

Perform historical snapshots without database locks and read change data capture logs from databases. Artie Reader is compatible with Debezium and is written in Go.

License

Notifications You must be signed in to change notification settings

artie-labs/reader

Repository files navigation

Artie Reader

Artie Reader

📚 Perform historical snapshots and read CDC streams from databases 📚


Learn more »

Artie Reader reads from databases to perform historical snapshots and also reads change data capture (CDC) logs for continuous streaming. The generated messages are Debezium capable.

Benefits

  • Historical table snapshots do not require database locks, which means Artie Reader minimizes impact to database performance and avoids situations like replication slot overflow.
  • Debezium compatible. The generated messages are consistent with Debezium’s message format.
  • Portable and easy to operate. Shipped as a standalone binary with no external dependencies.

Architecture

Artie Reader Architecture

Supports:

Snapshot Streaming
DynamoDB
MongoDB
MySQL 🚧
PostgreSQL
SQL Server

Running

ANTLR

Artie uses ANTLR to parse DDL queries. In order to run Reader locally, you'll need the antlr generated files which requires an antlr install. Install instructions can be seen here.

For Macs OS, we can install via brew:

brew install antlr
make antlr

This command will compile the Lexer and Parser grammar files and generate the files in /lib/antlr/generated. We are sourcing our Grammar files from grammars-v4.

Getting started

To get started, you'll need a config.yaml file, you can see examples of this in the examples folder.

go run main.go --config config.yaml

About

Perform historical snapshots without database locks and read change data capture logs from databases. Artie Reader is compatible with Debezium and is written in Go.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages