Menambahkan CDC Database PostgreSQL sebagai sumber di hub Real-Time

Artikel ini menjelaskan cara menambahkan PostgreSQL Database Change Data Capture (CDC) sebagai sumber peristiwa di hub Fabric Real-Time.

Konektor sumber PostgreSQL Database Change Data Capture (CDC) untuk aliran peristiwa Microsoft Fabric memungkinkan Anda mengambil cuplikan data terkini dalam database PostgreSQL. Saat ini, PostgreSQL Database Change Data Capture (CDC) didukung dari layanan berikut di mana database dapat diakses secara publik:

  • Azure Database for PostgreSQL
  • Amazon RDS untuk PostgreSQL
  • Amazon Aurora PostgreSQL
  • Google Cloud SQL for PostgreSQL

Setelah sumber CDC Database PostgreSQL ditambahkan ke eventstream, sumber tersebut akan merekam perubahan tingkat baris pada tabel yang ditentukan. Perubahan ini kemudian dapat diproses secara real time dan dikirim ke tujuan yang berbeda untuk analisis lebih lanjut.

Catatan

Dengan DeltaFlow (Pratinjau), Anda dapat mengubah event CDC Debezium mentah menjadi aliran yang siap untuk analitik, yang mencerminkan struktur tabel sumber Anda. DeltaFlow mengotomatiskan pendaftaran skema, manajemen tabel tujuan, dan penanganan evolusi skema. Untuk menggunakan DeltaFlow, pilih Peristiwa siap analitik & skema yang diperbarui otomatis selama langkah penanganan skema.

Prasyarat

Mengaktifkan CDC di Database PostgreSQL Anda

Bagian ini menggunakan Azure Database for PostgreSQL sebagai contoh.

Untuk mengaktifkan CDC di Server Fleksibel Azure Database for PostgreSQL Anda, ikuti langkah-langkah berikut:

  1. Pada halaman Server Fleksibel Azure Database for PostgreSQL Anda di portal Azure, pilih Parameter server di menu navigasi.

  2. Pada halaman Parameter Server:

    • Atur wal_level ke logis.
    • Perbarui max_worker_processes ke setidaknya 16.

    Cuplikan layar pengaktifan CDC untuk penyebaran server fleksibel ini.

  3. Simpan perubahan dan mulai ulang server.

  4. Konfirmasikan bahwa instans Server Fleksibel Azure Database for PostgreSQL Anda memungkinkan lalu lintas jaringan publik.

  5. Berikan izin replikasi pengguna admin dengan menjalankan pernyataan SQL berikut. Jika Anda ingin menggunakan akun pengguna lain untuk menyambungkan PostgreSQL Database (DB) Anda untuk mengambil CDC, pastikan pengguna adalah pemilik tabel.

    ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
    
  1. Masuk ke Microsoft Fabric.

  2. Jika Anda melihat Power BI di kiri bawah halaman, beralihlah ke beban kerja Fabric dengan terlebih dahulu memilih Power BI dan kemudian memilih Fabric.

    Cuplikan layar yang menunjukkan cara beralih ke beban kerja Fabric.

  3. Pilih Real-Time di bilah navigasi kiri.

    Cuplikan layar yang memperlihatkan cara meluncurkan antarmuka sambungan ke sumber data.

  4. Halaman Data streaming terbuka secara default. Klik tombol Tambahkan data untuk masuk ke halaman Sumber data .

    Cuplikan layar yang memperlihatkan halaman Sumber data di hub Real-Time.

    Anda juga bisa masuk ke halaman Sumber data secara langsung dengan memilih opsi Tambahkan data di bilah navigasi kiri.

    Cuplikan layar yang memperlihatkan tombol Sambungkan sumber data.

Pilih CDC Database PostgreSQL sebagai jenis sumber

Pada halaman Sumber data , pilih kategori sumber Microsoft di bagian atas, lalu pilih Sambungkan di petak Peta Azure DB for PostgreSQL (CDC ).

Cuplikan layar yang memperlihatkan pemilihan Azure Database (DB) for PostgreSQL (CDC) sebagai jenis sumber di halaman Sumber data.

Konfigurasi sumber CDC untuk Azure Database for PostgreSQL

Serap data perubahan dari database PostgreSQL dengan pendaftaran skema tabel otomatis melalui CDC ke Eventstream.

Catatan

DeltaFlow (Pratinjau): Saat Anda memilih Peristiwa siap analitik & skema yang diperbarui secara otomatis dalam langkah penanganan skema, DeltaFlow mengubah peristiwa CDC Debezium mentah menjadi aliran siap analitik yang mencerminkan struktur tabel sumber Anda. DeltaFlow juga mengotomatiskan pembuatan tabel tujuan dan penanganan evolusi skema.

  1. Pada halaman Sambungkan , pilih Koneksi baru.

    Cuplikan layar yang memperlihatkan halaman Sambungkan untuk database PostgreSQL dengan tautan Koneksi baru disorot.

  2. Di bagian Pengaturan koneksi , masukkan informasi berikut ini.

    • Server: Alamat server database PostgreSQL Anda, misalnya my-pgsql-server.postgres.database.azure.com.

    • Database: Nama database, misalnya my_database.

      Cuplikan layar yang memperlihatkan bagian Pengaturan koneksi untuk konektor database PostgreSQL.

    • Nama koneksi: Masukkan nama untuk koneksi.

    • Jenis autentikasi, Pilih Dasar dan masukkan Nama Pengguna dan Kata Sandi Anda untuk database.

      Catatan

      Saat ini, aliran peristiwa Fabric hanya mendukung autentikasi Dasar .

    • Pilih Sambungkan untuk menyelesaikan pengaturan koneksi. Cuplikan layar yang memperlihatkan bagian Kredensial koneksi untuk konektor database PostgreSQL.

  3. Port: Masukkan nomor port server Anda. Nilai defaultnya adalah 5432. Jika koneksi cloud yang Anda pilih dikonfigurasi di Kelola koneksi dan gateway, pastikan nomor port cocok dengan yang diatur di sana. Jika tidak cocok, nomor port pada koneksi cloud di Kelola koneksi dan gateway diutamakan.

  4. Anda bisa memilih antara dua opsi saat mengambil perubahan dari tabel database:

    • Semua tabel: Ambil perubahan dari setiap tabel dalam database.
    • Masukkan nama tabel: Memungkinkan Anda menentukan subset tabel menggunakan daftar yang dipisahkan koma. Anda dapat menggunakan: pengidentifikasi tabel lengkap dalam format schemaName.tableName atau ekspresi reguler yang valid. Examples:
    • dbo.test.*: Pilih semua tabel yang namanya dimulai dengan test dalam dbo skema.
    • dbo\.(test1|test2): Pilih dbo.test1 dan dbo.test2.

    Anda dapat menggabungkan kedua format dalam daftar. Total batas karakter untuk seluruh entri adalah 102.400 karakter.

  5. Nama slot (opsional): Masukkan nama slot decoding logis PostgreSQL yang dibuat untuk perubahan streaming dari plug-in tertentu untuk database/skema tertentu. Server menggunakan slot ini untuk mengalirkan peristiwa ke konektor streaming Eventstream. Ini hanya boleh berisi huruf kecil, angka, dan garis bawah.

    • Jika tidak ditentukan, GUID digunakan untuk membuat slot, yang memerlukan izin database yang sesuai.
    • Jika ada nama slot tertentu, konektor akan menggunakannya secara langsung.
  6. Perluas pengaturan Tingkat Lanjut untuk mengakses lebih banyak opsi konfigurasi untuk sumber CDC Database PostgreSQL:

    • Nama publikasi: Menentukan nama publikasi replikasi logis PostgreSQL untuk digunakan. Nilai ini harus cocok dengan publikasi yang ada dalam database, atau dibuat secara otomatis tergantung pada mode pembuatan otomatis. Nilai default: dbz_publication.

      Catatan

      Pengguna konektor harus memiliki izin superuser untuk membuat publikasi. Kami menyarankan agar Anda membuat publikasi secara manual sebelum memulai konektor untuk pertama kalinya untuk menghindari masalah terkait izin.

    • Mode pembuatan otomatis publikasi: Mengontrol apakah dan bagaimana publikasi dibuat secara otomatis. Opsinya meliputi:

      • Filtered (default): Jika publikasi yang ditentukan tidak ada, konektor akan membuat yang hanya menyertakan tabel yang dipilih (seperti yang ditentukan dalam daftar sertakan tabel).
      • AllTables: Jika publikasi yang ditentukan ada, konektor akan menggunakannya. Jika tidak ada, konektor tersebut akan membuat satu yang mencakup semua tabel dalam database.
      • Disabled: Konektor tidak membuat publikasi. Jika publikasi yang ditentukan hilang, konektor akan melemparkan pengecualian dan berhenti. Dalam hal ini, publikasi harus dibuat secara manual dalam database.

      Untuk informasi selengkapnya, lihat dokumentasi Debezium tentang mode pembuatan otomatis publikasi

    • Mode penanganan desimal: Menentukan bagaimana konektor menangani nilai PostgreSQL DECIMAL dan NUMERIC kolom:

      • Precise: Mewakili nilai menggunakan jenis desimal yang tepat (misalnya, Java BigDecimal) untuk memastikan presisi dan akurasi penuh dalam representasi data.
      • Double: Mengonversi nilai menjadi angka floating-point presisi ganda. Opsi ini meningkatkan kegunaan dan performa tetapi dapat mengakibatkan hilangnya presisi.
      • String: Mengodekan nilai sebagai string yang diformat. Opsi ini membuatnya mudah dikonsumsi dalam sistem lanjutan tetapi kehilangan informasi semantik tentang jenis numerik asli.
    • Mode rekam jepret: Tentukan kriteria untuk melakukan rekam jepret saat konektor dimulai:

      • Initial: Konektor menjalankan rekam jepret hanya ketika tidak ada offset yang direkam untuk nama server logis, atau jika mendeteksi bahwa rekam jepret sebelumnya gagal diselesaikan. Setelah rekam jepret selesai, konektor mulai mengalirkan rekaman peristiwa untuk perubahan database berikutnya.
      • InitialOnly: Konektor menjalankan rekam jepret hanya ketika tidak ada offset yang direkam untuk nama server logis. Setelah rekam jepret selesai, konektor berhenti. Itu tidak beralih ke mode streaming untuk membaca peristiwa perubahan dari binlog.
      • NoData: Konektor menjalankan rekam jepret yang hanya mengambil skema, tetapi bukan data tabel apa pun. Atur opsi ini jika Anda tidak memerlukan rekam jepret data yang konsisten, tetapi Anda hanya memerlukan perubahan yang terjadi sejak konektor dimulai.
    • Kueri tindakan heartbeat: Menentukan kueri yang dijalankan konektor pada database sumber saat konektor mengirim pesan heartbeat.

    • Penimpaan pernyataan pilih rekam jepret: Menentukan baris tabel untuk disertakan dalam rekam jepret. Gunakan properti jika Anda ingin rekam jepret hanya menyertakan subset baris dalam tabel. Properti ini hanya memengaruhi rekam jepret. Ini tidak berlaku untuk kejadian yang dibaca konektor tersebut dari log.

Detail aliran atau sumber

  1. Pada halaman Sambungkan , ikuti salah satu langkah ini berdasarkan apakah Anda menggunakan Eventstream atau hub Real-Time.

    • Eventstream:

      Di panel Detail sumber di sebelah kanan, ikuti langkah-langkah berikut:

      1. Untuk Nama sumber, pilih tombol Pensil untuk mengubah nama.

      2. Perhatikan bahwa nama Eventstream dan nama Stream bersifat baca-saja.

    • Hub Real-Time:

      Di bagian Detail aliran di sebelah kanan, ikuti langkah-langkah berikut:

      1. Pilih ruang kerja Fabric tempat Anda ingin membuat eventstream.

      2. Untuk Nama aliran kejadian, klik tombol Pensil, dan masukkan nama untuk aliran kejadian.

      3. Nilai Nama stream secara otomatis dibuat untuk Anda dengan menambahkan -stream ke nama eventstream. Aliran ini muncul di halaman Semua aliran data hub real-time saat wizard selesai.

  2. Pilih Berikutnya di bagian bawah halaman Konfigurasikan .

Tinjau dan sambungkan

Pada layar Tinjau + sambungkan , tinjau ringkasan, dan pilih Tambahkan (Eventstream) atau Sambungkan (Real-Time hub).

Halaman penanganan skema

  1. Di langkah Penanganan skema , pilih salah satu opsi berikut:

    • Peristiwa siap analitik & skema yang diperbarui otomatis (Pratinjau DeltaFlow): Konektor mengubah peristiwa CDC mentah menjadi aliran siap analitik yang mencerminkan struktur tabel sumber Anda. DeltaFlow memperkaya peristiwa dengan metadata seperti jenis perubahan (menyisipkan, memperbarui, atau menghapus) dan tanda waktu, dan secara otomatis mengelola tabel tujuan dan evolusi skema.
    • Peristiwa CDC mentah: Konektor menyerap dan menyediakan peristiwa CDC mentah. Secara opsional, konektor dapat menemukan skema tabel secara otomatis dan mendaftarkannya di dalam registri skema. Gunakan opsi ini saat Anda menginginkan kesadaran skema tanpa transformasi DeltaFlow.

    Catatan

    Cuplikan layar berikut menunjukkan Azure SQL Database CDC. Opsi penanganan skema sama untuk semua konektor sumber CDC yang didukung.

    Cuplikan layar memperlihatkan langkah penanganan skema dengan opsi peristiwa DeltaFlow dan Raw CDC untuk konektor sumber CDC.

  2. Aktifkan asosiasi skema peristiwa.

  3. Untuk Ruang Kerja, pilih ruang kerja Fabric untuk set skema.

  4. Untuk Set skema, + Buat dipilih secara default, yang membuat kumpulan skema baru. Anda dapat mengubahnya untuk memilih set skema peristiwa yang ada.

  5. Jika Anda memilih opsi + Buat di langkah sebelumnya, masukkan nama untuk kumpulan skema.

  6. Pada halaman Tinjau + sambungkan , tinjau ringkasan, lalu pilih Tambahkan (Eventstream) atau Sambungkan (Real-Time hub).

    Tangkapan layar yang memperlihatkan halaman Tinjau dan buat untuk konektor database PostgreSQL dengan fitur tambahan.

    Untuk semua tabel atau tabel yang dipilih dalam database PostgreSQL, konektor mencari dan membuat skema, dan mendaftarkannya dengan registri skema.

DeltaFlow: Transformasi peristiwa siap analitik (Pratinjau)

Saat Anda mengaktifkan event siap analitik & schema yang diperbarui secara otomatis (DeltaFlow), konektor menyediakan fungsi berikut:

  • Bentuk peristiwa siap analitik: Peristiwa CDC Debezium Mentah diubah menjadi format tabular yang mencerminkan struktur tabel sumber. Peristiwa diperkaya dengan kolom metadata termasuk jenis perubahan (insert, , updateatau delete) dan tanda waktu peristiwa.
  • Manajemen tabel tujuan otomatis: Saat Anda merutekan aliran yang didukung DeltaFlow ke tujuan yang didukung seperti eventhouse, tabel tujuan secara otomatis dibuat agar sesuai dengan skema tabel sumber. Anda tidak perlu membuat atau mengonfigurasi tabel tujuan secara manual.
  • Penanganan evolusi skema: Saat tabel database sumber berubah (misalnya, kolom baru ditambahkan atau tabel dibuat), DeltaFlow secara otomatis mendeteksi perubahan, memperbarui skema terdaftar, dan menyesuaikan tabel tujuan yang sesuai. Perilaku ini meminimalkan intervensi manual yang disebabkan oleh perubahan skema.

Catatan

DeltaFlow (Pratinjau) saat ini didukung oleh Azure SQL Database CDC, Azure SQL Managed Instance CDC, SQL Server pada mesin virtual CDC, dan konektor sumber CDC PostgreSQL.

Untuk detail tentang bagaimana DeltaFlow mengubah peristiwa CDC mentah menjadi output siap analitik, termasuk jenis operasi dan kolom metadata, lihat Transformasi output DeltaFlow.

Menampilkan detail aliran data

  1. Pada halaman Tinjau + sambungkan , jika Anda memilih Buka eventstream, wizard akan membuka eventstream yang dibuatnya untuk Anda dengan CDC Database PostgreSQL yang dipilih sebagai sumber. Untuk menutup wizard, pilih Selesai di bagian bawah halaman.

    Cuplikan layar yang memperlihatkan halaman keberhasilan Tinjau + Sambungkan.

  2. Anda akan melihat aliran di bagian Data streaming terbaru di halaman beranda hubReal-Time . Untuk langkah-langkah terperinci, lihat Melihat detail aliran data di hub Fabric Real-Time.

Untuk mempelajari tentang menggunakan aliran data, lihat artikel berikut ini: