Apa itu penangkapan perubahan data?

Penangkapan perubahan data, didefinisikan

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.

Apa manfaat dari penangkapan perubahan data?

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:

  • Pengambilan keputusan yang lebih cepat
  • Migrasi tanpa waktu henti
  • Peningkatan proses ETL
  • Peningkatan kinerja AI

Pengambilan keputusan lebih cepat

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.

Migrasi tanpa waktu henti

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.

Peningkatan proses ETL

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.

Kinerja kecerdasan buatan (AI) yang lebih baik

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.

AI Academy

Apakah manajemen data merupakan rahasia AI generatif?

Jelajahi mengapa data berkualitas tinggi sangat penting untuk keberhasilan penggunaan AI generatif.

Bagaimana cara kerja penangkapan perubahan data?

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 .

Pendekatan CDC: Dorong vs. tarik

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.

CDC berbasis push

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.

CDC berbasis pull

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.

Metode umum untuk penangkapan perubahan data

Ada beberapa metode untuk mengeksekusi penangkapan perubahan data. Jenis CDC yang umum meliputi: 

  • CDC berbasis log
  • CDC berbasis stempel waktu
  • CDC berbasis pemicu

CDC berbasis log

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.

CDC berbasis stempel waktu

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.

CDC berbasis pemicu

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.

Sumber dan tujuan CDC yang umum

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:

  • Platform streaming data (Apache Kafka, Amazon Kinesis, Google Cloud Pub/Sub)

  • Gudang data dan rumah danau (Snowflake, Amazon Redshift, Google BigQuery)

  • Penyimpanan objek cloud (AWS S3, Azure Blob Storage, Google Cloud Storage)

Menghubungkan sumber dan tujuan biasanya memerlukan alat CDC, konektor, dan platform integrasi data.

ETL vs. CDC: Pembeda utama

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:

  • Pergerakan data: Pipeline ETL biasanya menyerap seluruh kumpulan data atau kumpulan data dalam jumlah besar. CDC hanya menangkap dan mengirimkan perubahan.

  • Kecepatan pemrosesan dan latensi: ETL umumnya berorientasi batch dan dijalankan pada interval terjadwal. Sementara itu, CDC dirancang untuk mendukung pergerakan data dengan latensi rendah dan sinkronisasi berkelanjutan.

  • Contoh penggunaan utama: ETL sering digunakan untuk intelijen bisnis, pelaporan historis, dan machine learning. Sementara itu, CDC umumnya digunakan untuk analitik real-time, deteksi penipuan, dan arsitektur berbasis peristiwa.

  • Transformasi data: Pipeline ETL membersihkan dan mentransformasikan data sebelum proses pemuatan dilakukan. Sementara itu, sistem CDC hanya mengidentifikasi dan mereplikasi perubahan tanpa pemrosesan lebih lanjut.

  • Dampak sistem: Proses ETL tradisional memberikan tekanan yang lebih besar pada sistem sumber karena beban kerja batch yang berulang. Sementara itu, CDC meminimalkan overhead dengan hanya mengirimkan perubahan data.

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.

SCD vs CDC: Bagaimana mereka berbeda satu sama lain?

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 perubahan data

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:

  • Skalabilitas
  • Harga
  • Latensi
  • Dukungan konektor
  • Integrasi Kafka
  • Keandalan
  • Fleksibilitas penerapan
  • Dukungan API

Contoh penggunaan untuk penangkapan perubahan data

Bisnis dapat menerapkan penangkapan perubahan data untuk berbagai kegunaan, termasuk:

Deteksi penipuan

Terus melacak perubahan dalam catatan keuangan melalui penangkapan perubahan data dapat memungkinkan deteksi aktivitas penipuan sebelum menyebabkan kerugian besar.

Pemberdayaan Internet of Things (IoT)

CDC dapat secara efisien mengintegrasikan sejumlah besar data real-time yang dihasilkan oleh perangkat IoT, memungkinkan pemeliharaan prediktif dan pemantauan real-time.

Manajemen inventaris dan rantai pasokan

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.

Kepatuhan terhadap peraturan

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.

Penyusun

Alice Gomstyn

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

Solusi terkait
Perangkat lunak dan solusi manajemen data

Rancang strategi data yang menghilangkan silo data, mengurangi kompleksitas, dan meningkatkan kualitas data untuk pengalaman pelanggan dan karyawan yang luar biasa.

Jelajahi solusi manajemen data
IBM watsonx.data™

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.

Temukan watsonx.data
Layanan konsultasi data dan analitik

Dapatkan nilai data perusahaan dengan IBM Consulting, untuk membangun organisasi berbasis insight yang memberikan keuntungan bisnis.

Temukan layanan analitik
Ambil langkah selanjutnya

Rancang strategi data yang menghilangkan silo data, mengurangi kompleksitas, dan meningkatkan kualitas data untuk pengalaman pelanggan dan karyawan yang luar biasa.

  1. Jelajahi solusi manajemen data
  2. Temukan watsonx.data