Kuvasz-streamer adalah proyek pengambilan data perubahan (CDC) sumber terbuka yang berfokus secara eksklusif pada Postgres. Ini terintegrasi erat dengan Postgres Logical Replication untuk memberikan replikasi kinerja tinggi dan latensi rendah.

Fitur

Ringan

Kuvasz-streamer adalah layanan ringan yang ditulis dalam Go yang tidak memiliki ketergantungan dan tidak ada antrian. Jalankan sebagai layanan sistem atau dalam wadah Docker. Itu dapat berjalan dalam mode deklaratif penuh di mana peta konfigurasi disimpan dalam file YAML hanya-baca dan tidak ada file yang ditulis ke disk. Mode ini cocok untuk konfigurasi berbasis pipeline CI/CD dan penerapan Kubernetes. Mode interaktif yang didukung database didukung di mana antarmuka web dapat digunakan untuk mengubah konfigurasi pemetaan saat runtime.

Performa tinggi

Kuvasz-streamer diukur pada 10K tps dengan latensi kurang dari 1 detik. Ia menggunakan protokol Postgres COPY untuk melakukan sinkronisasi awal dan protokol replikasi logis nanti. Ini membuka banyak koneksi ke database tujuan dan mengelompokkan pembaruan ke dalam transaksi terpisah.

Dan agar tidak membebani server database produksi, ini juga mendukung pembatasan kecepatan global.

Sudah termasuk baterai

Kuvasz-streamer mengelola publikasi dan slot replikasi pada database sumber, menambahkan dan menghapus tabel yang dikonfigurasi dari publikasi secara otomatis. Itu juga melakukan sinkronisasi penuh setiap kali tabel baru ditambahkan.

Fleksibel

Beberapa model propagasi tabel didukung: clone, history dan append-only.

Kasus penggunaan

Kuvasz-streamer dapat digunakan untuk konsolidasi data, peningkatan versi utama, dan kasus lainnya.

Konsolidasi database layanan mikro

Dalam arsitektur layanan mikro, setiap layanan memiliki databasenya sendiri. Kuvasz-streamer menggabungkan semua database dari semua layanan ke dalam satu gudang data. Skema di gudang data tidak harus mengikuti skema yang sama dengan layanan aslinya.

Konsolidasi database multipenyewa

Dalam lingkungan multi-penyewa yang sensitif, setiap penyewa dapat diberi database terpisah untuk memastikan bahwa tidak terjadi penyerbukan silang data. Kuvasz-streamer kemudian dapat digunakan untuk menggabungkan semua data dalam satu tabel dengan pengidentifikasi penyewa untuk memudahkan pelaporan.

Optimalisasi kinerja basis data

Dalam arsitektur layanan mikro pada umumnya, data riwayat dijaga seminimal mungkin untuk memberikan waktu kueri yang cepat dan latensi rendah kepada pengguna akhir. Namun, data historis penting untuk AI/ML dan pelaporan. kuvasz-streamer menerapkan strategi tanpa penghapusan pada beberapa tabel yang tidak dapat disebarkan DELETE operasi. Contoh penggunaan mencakup tabel transaksi dan tabel riwayat audit.

Peningkatan versi utama Postgres

Memutakhirkan versi utama Postgres adalah tugas yang memakan waktu dan memerlukan waktu henti yang besar. Kuvasz-streamer dapat digunakan untuk menyinkronkan database antara berbagai versi Postgres dan melakukan peralihan cepat.

Sumber

Krystian Wiśniewski
Krystian Wiśniewski is a dedicated Sports Reporter and Editor with a degree in Sports Journalism from He graduated with a degree in Journalism from the University of Warsaw. Bringing over 14 years of international reporting experience, Krystian has covered major sports events across Europe, Asia, and the United States of America. Known for his dynamic storytelling and in-depth analysis, he is passionate about capturing the excitement of sports for global audiences and currently leads sports coverage and editorial projects at Agen BRILink dan BRI.