Pengambilan data perubahan (CDC) adalah proses yang digunakan untuk melacak dan mengambil perubahan yang dilakukan pada data di sistem sumber, seperti database transaksional, data warehouse, atau aplikasi SaaS. Dengan merekam perubahan secara real time, CDC memungkinkan Anda menjaga sistem tetap tersinkronisasi, mendukung analisis, melatih model AI, dan mendukung migrasi data yang lancar.
Mengetahui perubahan apa saja yang terjadi dalam database sangat penting untuk menjaga integritas data, mengoptimalkan alur kerja, dan mendapatkan insight real-time. Contoh umumnya adalah di bidang retail—saat pelanggan melakukan pemesanan, CDC menangkap penjualan tersebut dari database transaksional pada saat itu juga. Layanan CDC seperti Datastream Google Cloud dapat mereplikasi perubahan dari database PostgreSQL lokal ke data warehouse BigQuery, yang mendukung dasbor analisis dalam waktu mendekati real time dan menghilangkan waktu tunggu untuk tugas batch malam yang lambat.
Pengambilan data perubahan (CDC) adalah proses yang digunakan untuk mengidentifikasi dan mengambil modifikasi data—seperti penyisipan, pembaruan, dan penghapusan—dari sistem sumber, sering kali mendekati real time. CDC terkenal karena:
Proses ETL, yang merupakan singkatan dari ‘ekstraksi, transformasi, pemuatan’, melibatkan ekstraksi data mentah dari sistem sumbernya, mentransformasikannya ke dalam struktur yang diperlukan, lalu memuatnya ke dalam sistem tujuan, biasanya data warehouse. ETL membantu memastikan data terorganisir, bersih, dan siap digunakan di hilir dalam analisis atau aplikasi.
Biasanya, ETL berjalan dalam batch terjadwal yang besar, sering kali semalaman. Artinya, data di sistem target hanya seaktual batch yang dijalankan terakhir.
Perbedaan utamanya terletak pada cara CDC mengekstrak data. Alih-alih mengekstrak set data dalam batch, CDC menangkap perubahan saat terjadi, sehingga memungkinkan untuk selalu mengkueri data terbaru, bukan mengandalkan batch processing berkala. Hal ini dapat membantu Anda merespons perubahan dengan lebih cepat dan mendapatkan insight yang lebih akurat.
Pengambilan data perubahan terutama merupakan proses yang berfokus pada ekstraksi efisien semua perubahan inkremental dari database sumber, sering kali dalam waktu mendekati real time, untuk meminimalkan beban pada sistem sumber.
Sebaliknya, dimensi yang berubah secara perlahan (SCD) adalah teknik pemodelan data yang diterapkan di data warehouse target atau sistem analisis, yang berfokus pada cara menyimpan dan mengelola status historis data dimensi (seperti data pelanggan atau atribut produk) dari waktu ke waktu.
Meskipun CDC adalah alat untuk transportasi data perubahan yang efisien, perubahan ini biasanya diterapkan menggunakan strategi SCD tertentu untuk mempertahankan histori yang lengkap dan akurat dalam sistem tujuan.
Pengambilan data perubahan dapat menjadi jembatan yang efektif untuk menghubungkan beragam sistem yang membentuk data stack atau data cloud modern. Daripada terbatas pada database tertentu, alat CDC dirancang untuk bekerja dengan berbagai sumber dan tujuan.
Database transaksional adalah sumber paling umum untuk CDC, yang menangkap setiap penyisipan, pembaruan, dan penghapusan dari sistem yang menjalankan operasi bisnis sehari-hari.
Sering kali menjadi tujuan utama data CDC, sistem ini mengonsolidasikan informasi dari berbagai sumber untuk business intelligence, analisis, dan AI.
Gunakan CDC untuk menarik data perubahan dari platform bisnis penting (sering kali melalui API atau webhook) untuk menyinkronkan data pelanggan, penjualan, atau dukungan di seluruh organisasi.
Platform streaming dan pesan sering kali bertindak sebagai bus pesan real-time, yang menerima peristiwa perubahan dari sumber dan mendistribusikannya ke beberapa konsumen hilir secara bersamaan.
Tujuan umum untuk log peristiwa CDC mentah, karena penyimpanan objek menyediakan fondasi yang skalabel dan hemat biaya untuk membangun data lake.
CDC dapat membuka berbagai kasus penggunaan penting, mulai dari memastikan kontinuitas data hingga mendukung analisis real-time dan AI.
Dengan menangkap dan menyebarkan perubahan saat terjadi, CDC memastikan bahwa beberapa sistem (seperti database utama plus cadangan, atau database utama plus platform analisis) selalu disinkronkan. Hal ini menghilangkan perbedaan data dan menjaga integritas data di semua platform.
Pengambilan data perubahan bekerja dengan mengidentifikasi, melacak, dan mengekstrak perubahan yang dilakukan pada data di database sumber menggunakan berbagai pendekatan, termasuk yang berikut:
Database adalah sumber yang paling umum dan andal untuk pengambilan data perubahan karena komponen inti yang dimiliki bersama: log transaksi. Log ini adalah kumpulan catatan perubahan yang tidak dapat diubah dan terurut, sehingga menjadi fondasi yang sempurna untuk menangkap modifikasi data secara akurat dan efisien tanpa memengaruhi performa database. Berikut adalah pembahasan lebih mendalam tentang konsep-konsep utama.
Sebelum data apa pun ditulis ke tabel database yang sebenarnya, perubahan (penyisipan, pembaruan, atau penghapusan) pertama-tama dicatat dalam log transaksi. Alat CDC modern memanfaatkan log ini untuk menangkap perubahan tanpa mengganggu. Ini adalah bagian inti dari teknologi replikasi database, dan meskipun konsepnya universal, nama log ini bervariasi di berbagai database populer. Beberapa contoh penting:
Untuk database besar yang sudah ada, membaca seluruh histori dari log transaksi dapat menjadi tidak praktis karena performa jaringan dan batasan lainnya. Pola umum di dunia nyata adalah melakukan pemuatan massal terlebih dahulu, lalu menggunakan CDC untuk melakukan sinkronisasi. Proses ini melibatkan aktivitas:
Metode “snapshot and catch-up” ini memastikan tujuan diisi sepenuhnya dengan data historis, lalu disinkronkan dengan sempurna dengan semua perubahan live berikutnya. Inilah cara layanan terkelola seperti Datastream dan Database Migration Service Google Cloud melakukan pengisian ulang yang lancar dan andal.
Untuk mengelola proses ini dengan andal, CDC mengandalkan ID unik dalam log transaksi, yang biasanya disebut nomor urut log (LSN). Angka-angka ini berfungsi sebagai bookmark yang tepat untuk aliran perubahan. Mereka sangat penting untuk:
Mekanisme ini—log transaksi, snapshot awal, dan nomor urut log—bekerja sama untuk membuat CDC database sangat efisien dan andal.
CDC dapat memberikan beberapa keuntungan yang membuatnya sangat penting dalam alur kerja data modern:
Konsistensi data di seluruh sistem
Menyinkronkan perubahan saat terjadi, mengurangi perbedaan, dan memastikan data yang lebih akurat di seluruh platform.
Perpindahan data yang efisien
Memastikan hanya perubahan yang ditangkap, bukan seluruh set data, sehingga membantu mengurangi tekanan sistem dan penggunaan jaringan secara signifikan.
Integrasi yang lancar
Menghubungkan sistem Anda menggunakan library konektor bawaan. Banyak platform menyediakan antarmuka tanpa coding untuk mengonfigurasi pipeline dan mengelola tugas backend yang kompleks secara otomatis seperti deteksi penyimpangan skema dan transformasi data dalam proses, sehingga memastikan aliran data Anda tanpa gangguan.
Ketahanan operasional
Mendukung upaya disaster recovery dan replikasi dengan otomatis menjaga sistem dan cadangan tetap selaras tanpa intervensi manual.
Insight real-time
Memberikan akses ke data terbaru hampir secara instan, sehingga memungkinkan pengambilan keputusan yang lebih cepat dan tepat. Ketangkasan ini dapat memberikan keunggulan penting dalam lingkungan yang serba cepat seperti perdagangan finansial, e-commerce, dan logistik, yang nilai datanya menurun dalam hitungan detik.
Beberapa teknologi tumpang tindih dengan atau melengkapi CDC, yang menawarkan berbagai pendekatan untuk mengelola perubahan data dan memungkinkan pemrosesan real-time. Berikut perbandingan CDC dengan pendekatan terkemuka lainnya:
HTAP menggabungkan beban kerja transaksional (OLTP) dan analitis (OLAP) ke dalam satu sistem, sehingga memberikan analisis langsung pada data. Meskipun hal ini membuat HTAP sangat cocok untuk analisis terpadu dalam lingkungan mandiri, HTAP dapat kesulitan melakukan sinkronisasi dengan sumber data yang beragam dan terdistribusi yang ada di seluruh organisasi. Di sisi lain, CDC unggul dalam menjaga konsistensi data di berbagai sistem dan memungkinkan alur kerja terdistribusi.
Kueri gabungan (dan pendekatan serupa yang disebut ‘tabel eksternal’) memungkinkan data warehouse atau mesin kueri membaca data langsung dari sistem sumber eksternal, seperti database transaksional, saat kueri dijalankan. Pendekatan ini menghindari kebutuhan untuk menyalin atau memindahkan data, sehingga memberikan akses langsung ke informasi di tempat data tersebut berada.
Metode ini sangat baik untuk analisis ad hoc atau kueri sesekali, karena menawarkan akses langsung tanpa perlu menyiapkan pipeline replikasi. Namun, untuk kueri yang sering digunakan atau sensitif terhadap performa, hal ini dapat menjadi tidak efisien karena memberikan beban langsung pada sistem operasional sumber dengan setiap kueri. Tidak seperti CDC, yang secara proaktif mendorong aliran perubahan ke tujuan untuk analisis yang dioptimalkan, federasi menarik data sesuai permintaan, yang mungkin tidak cocok untuk workload frekuensi tinggi.
Kafka adalah platform open source yang dirancang untuk streaming dan pemrosesan data throughput tinggi. Meskipun Kafka secara efisien mengelola aliran data berskala besar, Kafka melengkapi CDC, bukan menggantikannya. CDC berfokus pada pengambilan perubahan database yang tepat secara real time, sedangkan Kafka mengalirkan data peristiwa yang lebih luas, seperti klik situs, pembacaan sensor IoT, atau item yang ditambahkan ke keranjang belanja. Bersama-sama, teknologi ini dapat menciptakan kombinasi yang efektif untuk alur kerja real-time.
Meskipun CDC menggunakan pendekatan tanpa coding untuk mereplikasi data, teknologi integrasi yang terhubung di lapisan aplikasi menghubungkan sistem dan platform SaaS menggunakan pendekatan low-code. Jika Anda ingin mentransformasi data saat berpindah antarplatform, produk integrasi tingkat aplikasi, seperti Application Integration Google Cloud, dapat menjadi alat yang lebih baik untuk pekerjaan tersebut.
Datastream adalah layanan replikasi dan pengambilan data perubahan (CDC) serverless Google Cloud yang andal dan mudah digunakan. Hal ini meminimalkan latensi sekaligus memungkinkan sinkronisasi data di berbagai database dan aplikasi. Berikut ini beberapa referensi untuk membantu Anda memulai:
Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.