Detect which rows changed in O(1) per row. No CDC pipelines, no database triggers, no replication slots. Just XOR fingerprinting.
Complex setup, WAL parsing, schema registry, connector maintenance
Schema changes, performance overhead on every write, vendor lock-in
Requires schema modification, clock skew, doesn't detect which columns changed
O(n * row_size) — comparing 1M rows at 1KB each = 1 GB of comparison data
pip install atomik-core
python -m atomik_core.examples.sqlite_change_trackerCreates a 1000-row SQLite database, modifies 50 rows, and detects every change using XOR fingerprinting. No external dependencies — SQLite is built into Python.
from atomik_core import Fingerprint, AtomikTable
import sqlite3
# 1. Connect to your database
db = sqlite3.connect("myapp.db")
tracker = AtomikTable(num_contexts=65536)
# 2. Fingerprint each row (initial snapshot)
for row in db.execute("SELECT id, name, email, balance FROM users"):
fp = xor_reduce(serialize(row)) # 8-byte fingerprint
tracker.load(addr=row[0], initial_state=fp)
# 3. On next sync cycle — detect changes in O(1) per row
changed_ids = []
for row in db.execute("SELECT id, name, email, balance FROM users"):
fp = xor_reduce(serialize(row))
if tracker.read(addr=row[0]) != fp:
changed_ids.append(row[0])
tracker.load(addr=row[0], initial_state=fp)
print(f"{len(changed_ids)} rows changed")
# Only sync/replicate the changed rows| Property | ATOMiK | CDC (Debezium) | Triggers | updated_at |
|---|---|---|---|---|
| Detection cost | O(1) per row | O(1) per write | O(1) per write | O(1) per row |
| Schema changes | None | Connector config | DDL required | DDL required |
| Infrastructure | pip install | Kafka + Connect | DB-specific | None |
| Catches backdoor SQL | Yes | Yes (WAL) | No | No |
| Works across DBs | Yes | Per-connector | Per-DB syntax | Yes |
| Column-level detection | Via field fingerprint | Full row diff | Custom logic | No |
| Dependencies | Zero | Kafka, ZooKeeper, Connect | DB extensions | None |
Detect database changes with one pip install. Zero infrastructure.