Berita teknologi terbaru, didukung oleh insight dari pakar
Tetap terinformasi tentang tren industri yang paling penting—dan menarik—tentang AI, otomatisasi, data, dan di luarnya dengan buletin Think. Lihat Pernyataan Privasi IBM®.
Penangkapan perubahan data (CDC) adalah teknik untuk mendeteksi dan menangkap perubahan yang terjadi pada data di dalam basis data, lalu mengirimkan perubahan tersebut ke sistem hilir. CDC memungkinkan sinkronisasi data nyaris seketika, replikasi, dan pemrosesan berbasis peristiwa di seluruh sistem setelah perubahan pada basis data terjadi.
Pengangkapan perubahan data merupakan metode integrasi data real-time yang menggabungkan dan menyelaraskan data yang mungkin tersilo atau tidak konsisten di seluruh organisasi. Metode integrasi data lainnya mencakup integrasi data aliran, virtualisasi data, dan integrasi aplikasi.
Kemampuan CDC untuk menjaga agar proses dan sistem hilir tetap diperbarui nyaris seketika atau real-time dengan latensi rendah memainkan peran penting dalam keberhasilan analisis data real-time, migrasi cloud, dan model kecerdasan buatan (AI). Kemampuan ini mendukung berbagai contoh penggunaan di berbagai industri, termasuk deteksi penipuan, manajemen rantai pasokan, dan kepatuhan terhadap regulasi di sektor seperti retail, keuangan, dan layanan kesehatan.
Ada beberapa pendekatan untuk penangkapan perubahan data, dengan CDC berbasis log, CDC berbasis stempel waktu, dan CDC berbasis pemicu sebagai yang paling umum. Perusahaan dapat menerapkan penangkapan perubahan data melalui alat basis data-native, sumber terbuka, dan solusi pihak ketiga.
Tetap terinformasi tentang tren industri yang paling penting—dan menarik—tentang AI, otomatisasi, data, dan di luarnya dengan buletin Think. Lihat Pernyataan Privasi IBM®.
Dalam manajemen data modern, penangkapan perubahan data telah muncul sebagai mekanisme rekayasa data yang penting. Lingkungan data perusahaan saat ini semakin besar dan kompleks. Lingkungan ini mungkin mengandung data dari Internet of Things (IoT) perangkat, basis data terdistribusi, aplikasi, dan berbagai sumber lain yang beragam. Mempertahankan data yang konsisten dan berkualitas di seluruh ekosistem data yang berkembang ini merupakan tantangan berkelanjutan.
Pada saat yang sama, bisnis membutuhkan informasi yang akurat dan terkini yang dapat dimanfaatkan untuk pengambilan keputusan secara waktu-nyata. Penangkapan perubahan data adalah salah satu dari beberapa metode yang membantu organisasi memenuhi permintaan ini.
Penangkapan perubahan data memungkinkan alur data latensi rendah yang memberikan data baru dengan cara yang lebih efisien dan tidak terlalu intensif sumber daya daripada metode integrasi data lainnya. Misalnya, data replication memerlukan penyalinan kumpulan data lengkap. Sebaliknya, CDC hanya mengirimkan data yang telah berubah, sehingga mengurangi beban pada sistem sumber, lalu lintas jaringan, dan permintaan daya komputasi.
Hal ini membantu mereka mengakses informasi terbaru dan paling akurat dengan cepat dan efisien, yang menghasilkan berbagai manfaat, termasuk:
CDC membantu organisasi mengalirkan data operasional ke platform dan dasbor analisis data real-time untuk mendukung pelaporan yang lebih akurat dan terkini, menghasilkan insight bisnis, serta meningkatkan pengambilan keputusan. Dengan kemampuan ini, bisnis dapat mendukung tuntutan lingkungan bisnis 24/7 yang sensitif terhadap waktu saat ini.
Sinkronisasi berkelanjutan antara sumber data dan sistem target mendukung migrasi data antar basis data, lingkungan cloud, atau aplikasi dengan waktu henti dan gangguan seminimal mungkin. Misalnya, selama migrasi cloud, CDC dengan cepat mengirimkan perubahan data yang terjadi on premises ke tabel data berbasis cloud yang relevan, memastikan konsistensi antara kedua lingkungan.
Pipeline dataETL (ekstrak, ubah, muat) merupakan bagian integral dari analitik data dan alur kerja machine learning. Tetapi eksekusi ETL, yang bergantung pada pemrosesan batch, cenderung bergerak lambat dan membebani sumber daya. Mengintegrasikan CDC ke ETL dapat mengoptimalkan penggunaan sumber daya dan mempercepat pergerakan data.
Menerapkan penangkapan perubahan data dapat membantu memastikan data sumber model terbaru sehingga model bahasa besar (LLM) dapat memberikan output yang akurat dan tepat waktu. Misalnya, dalam contoh penggunaan generasi dengan dukungan pengambilan data (RAG), model AI terhubung dengan basis pengetahuan eksternal untuk respons yang lebih relevan.
Penangkapan perubahan data mengidentifikasi dan mencatat penyisipan, pembaruan, serta penghapusan yang terjadi dalam sistem data sumber. Sumber-sumber ini dapat mencakup basis data relasional seperti Oracle Database, PostgreSQL, MySQL, Microsoft SQL Server, dan Azure SQL Database, serta basis data non-relasional (NoSQL) seperti Apache Cassandra dan MongoDB.
Sistem CDC modern umumnya menggunakan CDC berbasis log, yaitu pendekatan di mana alat membaca log transaksi basis data (file yang merekam perubahan data dalam basis data) untuk mengidentifikasi perubahan. Setiap peristiwa perubahan dalam log transaksi dikaitkan dengan posisi log yang terurut, seperti log sequence number (LSN). Hal ini membantu sistem CDC menentukan secara tepat kapan suatu modifikasi terjadi.
Setelah perubahan ditangkap, perubahan tersebut dialirkan nyaris seketika ke sistem hilir seperti data lake, gudang data, platform data streaming seperti Kafka, mesin pemrosesan aliran seperti Apache Spark, serta pipeline ETL/ELT .
Penangkapan perubahan data dapat diinisiasi oleh sistem sumber (pendekatan berbasis push) atau sistem target (pendekatan berbasis pull). Perbedaan utamanya terletak pada sistem mana yang bertanggung jawab untuk menangkap dan mentransmisikan perubahan data.
Dalam model CDC berbasis push, sistem sumber mendeteksi perubahan lalu segera “mendorong” atau mengirimkannya ke sistem target. Pendekatan ini umumnya diimplementasikan menggunakan log transaksi basis data, event streams, atau broker pesan seperti Apache Kafka.
Karena perubahan dikirim segera setelah terjadi, CDC berbasis push umumnya mendukung contoh penggunaan yang memerlukan pergerakan data nyaris seketika, seperti streaming analytics, arsitektur berbasis peristiwa, dan sistem AI/ML.
Dalam CDC berbasis tarik, sistem target secara teratur mensurvei sistem sumber dan “menarik” perubahan jika ditemukan. Polling dapat dilakukan pada jadwal tetap, sehingga CDC berbasis pull cocok untuk beban kerja berorientasi batch atau sistem yang tidak memerlukan pembaruan secara langsung.
Meskipun pendekatan ini lebih sederhana dan membutuhkan infrastruktur yang tidak sekompleks CDC berbasis push, pendekatan tersebut dapat menyebabkan latensi yang lebih tinggi serta meningkatkan beban kueri pada basis data sumber, yang pada akhirnya dapat memengaruhi kinerja basis data. Banyak platform data modern mendukung kedua pendekatan ini, tergantung pada kebutuhan data dan persyaratan operasional.
Ada beberapa metode untuk mengeksekusi penangkapan perubahan data. Jenis CDC yang umum meliputi:
Log transaksi database adalah fitur standar database dan digunakan untuk mencatat semua transaksi database. (File log transaksi dapat digunakan untuk memulihkan database jika terjadi kegagalan sistem.)
Dalam CDC berbasis log, aplikasi CDC memproses perubahan basis data (untuk data dan metadata) yang direkam dalam log dan berbagi pembaruan dengan sistem lain. CDC berbasis log telah menjadi semakin populer karena efisiensinya—ia bergantung pada log alih-alih kueri, yang dapat menempatkan beban besar pada sistem sumber. Namun, variasi dalam format log transaksi dapat mempersulit eksekusi CDC berbasis log di berbagai basis data.
Penangkapan perubahan data berbasis stempel waktu, yang juga dikenal sebagai CDC berbasis kueri, memerlukan skema tabel basis data memiliki kolom-kolom, seperti kolom stempel waktu, yang mencatat tanggal dan waktu perubahan catatan. Alat CDC dapat digunakan untuk mengidentifikasi catatan yang telah diubah melalui kolom stempel waktu dalam tabel sumber, dan kemudian mengirimkan pembaruan ke sistem tujuan.
Meskipun CDC berbasis stempel waktu dapat mudah diimplementasikan, hal ini juga dapat menimbulkan beban tambahan yang invasif pada sistem ketika proses pengambilan data stempel waktu dilakukan secara berkala. CDC berbasis stempel waktu juga gagal menangkap operasi penghapusan ketika stempel waktu dihapus bersama dengan sisa baris.
Dalam penangkapan perubahan data berbasis pemicu, prosedur penyimpanan atau fungsi yang dikenal sebagai pemicu database dieksekusi sekali ketika perubahan tertentu (seperti penambahan, penghapusan, dan pembaruan) terjadi dalam basis data. Data yang diubah kemudian disimpan dalam apa yang sering disebut tabel perubahan atau tabel bayangan.
Seperti CDC berbasis stempel waktu, CDC berbasis pemicu dapat mudah diterapkan. Namun, hal ini juga dapat membebani sistem sumber karena pemicu akan “dijalankan” setiap kali transaksi terjadi di tabel sumber.
Untuk membantu melukiskan gambaran lengkap tentang CDC, mari kita ulasan beberapa sumber dan tujuan CDC umum.
Sumber CDC adalah sistem tempat data berasal, seperti:
Tujuan CDC adalah sistem tempat data dialirkan atau direplikasi, seperti:
Menghubungkan sumber dan tujuan biasanya memerlukan alat CDC, konektor, dan platform integrasi data.
Baik ETL (ekstrak, transformasi, muat) maupun penangkapan perubahan data merupakan pendekatan integrasi data yang banyak digunakan, tetapi dirancang untuk tujuan yang berbeda.
Di bawah ini adalah beberapa perbedaan utama antara ETL dan CDC:
Organisasi saat ini umumnya menggunakan ETL dan CDC, sering kali secara bersamaan. Misalnya, CDC melengkapi pipeline ETL dengan mengirimkan pembaruan tambahan setelah pemuatan data awal dilakukan. Hal ini memungkinkan kumpulan data tetap diperbarui secara real-time ketika perubahan terjadi pada sistem sumber, tanpa perlu menunggu pekerjaan ETL berikutnya dijalankan.
CDC dan dimensi yang berubah perlahan (SCD) bekerja sama untuk menjaga sistem target tetap akurat dan terkini.
Sementara CDC menangkap dan mengirimkan perubahan dari sistem sumber, SCD menentukan bagaimana perubahan tersebut dikelola dan disimpan dalam tabel dimensi di gudang data.
(Dalam konteks ini, data dimensi biasanya mengacu pada tabel dimensi di gudang data yang menyimpan atribut deskriptif seperti alamat pelanggan atau nomor telepon.)
Ada dua jenis SCD yang umum: Tipe 1 dan Tipe 2.
SCD Tipe 1: Mengganti data yang ada dalam tabel dimensi dengan data baru, tanpa menyimpan riwayat
SCD Tipe 2: Menambahkan baris baru ke tabel dimensi, mempertahankan perubahan historis penuh dari waktu ke waktu
Alat penangkapan data perubahan (CDC) menangkap dan mengalirkan perubahan basis data secara real time, membantu organisasi mendukung integrasi data modern, analitik, dan arsitektur berbasis peristiwa.
Kemampuan CDC dapat berasal dari lingkungan basis data tertentu, seperti AWS Database Migration Service (DMS), atau diterapkan secara lebih luas di berbagai lingkungan. Solusi CDC yang umum digunakan mencakup alat sumber terbuka seperti Debezium serta platform komersial seperti IBM® StreamSets dan Oracle GoldenGate.
Banyak organisasi menggunakan Apache Kafka sebagai fondasi untuk pipeline CDC. Arsitektur CDC berbasis Kafka dapat menangkap perubahan pada basis data, mengalirkannya melalui topik Kafka, lalu mengirimkannya ke aplikasi hilir, gudang data, platform analitik, dan sistem AI.
Saat mengevaluasi alat CDC, organisasi sering mempertimbangkan:
Bisnis dapat menerapkan penangkapan perubahan data untuk berbagai kegunaan, termasuk:
Terus melacak perubahan dalam catatan keuangan melalui penangkapan perubahan data dapat memungkinkan deteksi aktivitas penipuan sebelum menyebabkan kerugian besar.
CDC dapat secara efisien mengintegrasikan sejumlah besar data real-time yang dihasilkan oleh perangkat IoT, memungkinkan pemeliharaan prediktif dan pemantauan real-time.
Akses ke informasi penjualan, inventaris, dan rantai pasokan secara real-time yang didukung oleh penangkapan perubahan data dapat membantu perusahaan menghindari kehabisan stok dan membuat keputusan penetapan harga yang menguntungkan.
Penangkapan perubahan data dapat membantu perusahaan yang diatur dengan ketat menyimpan catatan akurat yang diperlukan untuk pelaporan dan kepatuhan terhadap peraturan dan undang-undang seperti GDPR, Undang-Undang Sarbanes-Oxley (SOX), dan HIPAA di AS.
Rancang strategi data yang menghilangkan silo data, mengurangi kompleksitas, dan meningkatkan kualitas data untuk pengalaman pelanggan dan karyawan yang luar biasa.
watsonx.data memungkinkan Anda untuk menskalakan analitik dan AI dengan semua data Anda, di mana pun data berada, melalui penyimpanan data yang terbuka, hybrid, dan diatur.
Dapatkan nilai data perusahaan dengan IBM Consulting, untuk membangun organisasi berbasis insight yang memberikan keuntungan bisnis.