Episode ini membahas memadukan Vitess dengan beban analitik: memisahkan workload OLTP dan OLAP, read replica untuk reporting, ekspor snapshot untuk ETL, serta integrasi dengan data warehouse seperti ClickHouse atau BigQuery.

Vitess dioptimalkan untuk OLTP: transaksi kecil dan sering. Tapi tim bisnis tetap butuh laporan besar — dan menjalankan query analitik berat di atas database transaksional adalah resep untuk memperlambat aplikasi. Episode 17 membahas cara memadukan dua dunia: OLTP tetap gesit di Vitess, sementara beban analitik dijalankan di tempat lain tanpa saling mengganggu.
Roadmap episode 17: memisahkan OLTP dan OLAP, read replica untuk reporting, ekspor snapshot untuk ETL, lalu integrasi dengan data warehouse.
Prinsip pertama: jangan jalankan query analitik berat di primary. Query seperti agregasi besar atau join lintas tabel akan menguras resource yang dipakai transaksi. Pemisahan workload adalah keputusan arsitektur, bukan sekadar kebijakan.
Model pemisahan yang umum:
RDONLY.Transaksi (OLTP) : Vitess primary + replica
Dashboard ringan : tablet RDONLY di Vitess
Analitik besar : data warehouse terpisahTabel pembagian di atas menjaga beban tetap terarah. Query analitik besar tidak pernah menyentuh jalur transaksi.
Untuk reporting yang butuh data hampir-real-time tapi tidak ingin membebani primary, gunakan tablet RDONLY. Tablet jenis ini dilarang dipromosikan jadi primary (episode 6), sehingga aman dipakai untuk workload berat tanpa mengganggu jalur failover.
vtctlclient InitShardMaster -force commerce/0 -master_force \
-accept_primary_read_only=true
vtctlclient TabletExternallyReparented <tablet-alias>Untuk membuat tablet RDONLY, konfigurasi di values.yaml:
topology:
keyspaces:
- name: commerce
shardTablets:
- name: rdonly
replicas: 2
type: rdonlytype: rdonly membuat tablet sebagai RDONLY. Arahkan koneksi reporting aplikasi ke VTGate dengan user reporting, dan pastikan VTGate memilih tablet RDONLY untuk query tersebut.
Info
Data pada tablet RDONLY bisa tertinggal beberapa detik dari primary. Untuk dashboard yang butuh data hampir-real-time, ini biasanya cukup. Untuk laporan keuangan yang harus presisi, tunggu hingga replication lag mendekati nol sebelum menjalankan query.
Untuk data warehouse, Vitess menyediakan jalur ekspor data yang efisien. Pola yang umum dipakai:
RDONLY, simpan ke object storage, lalu diproses pipeline ETL.Backup Vitess (episode 6) sebenarnya sudah menghasilkan snapshot konsisten — format ini bisa dipakai sumber data warehouse. Untuk streaming, VReplication ke target non-MySQL adalah fitur yang sedang berkembang dan dipakai untuk integrasi real-time.
vtctlclient Backup <tablet-alias-rdonly>vtctlclient Backup membuat snapshot dari tablet RDONLY. Pipeline ETL bisa memproses backup ini menjadi format yang dibutuhkan warehouse.
Warning
Ambil backup untuk ETL dari tablet RDONLY, bukan dari primary. Backup di primary akan menambah beban tulis yang mengganggu aplikasi. Ini alasan lain mengapa tablet RDONLY harus selalu ada di setiap shard.
Setelah data keluar dari Vitess, warehouse memprosesnya. Beberapa pola integrasi yang umum:
Contoh query ringan ke warehouse yang diisi dari Vitess:
SELECT region, COUNT(*) AS total_users
FROM users_dw
GROUP BY region
ORDER BY total_users DESCQuery SELECT ... GROUP BY region di atas berjalan di warehouse, bukan di Vitess. Data users_dw disinkronkan dari Vitess lewat pipeline ETL. Dengan begini, agregasi besar tidak pernah menyentuh database transaksional.
Untuk menjaga kualitas data di warehouse, pertimbangkan:
Pada episode 17 ini kalian sudah memahami cara memadukan Vitess dengan beban analitik: memisahkan OLTP dan OLAP di level arsitektur, menggunakan tablet RDONLY untuk reporting, mengekspor snapshot untuk pipeline ETL, serta mengintegrasikan data ke warehouse dengan pola batch atau CDC streaming.
Inti yang harus dibawa pulang:
RDONLY adalah jalur reporting ringan yang tidak mengganggu failover.RDONLY bisa menjadi sumber snapshot ETL.Di episode 18 berikutnya kita urus otak cluster: control plane dan topology management — pilihan Topology Service, perbaikan dan backup topologi, serta vtctld UI dan automation. Sampai jumpa!