Aracılığıyla paylaş


PostgreSQL Veritabanı CDC'sini Real-Time hub'ına kaynak olarak ekleme

Bu makalede, Doku Real-Time hub'ında olay kaynağı olarak PostgreSQL Veritabanı Değişiklik Veri Yakalaması'nın (CDC) nasıl ekleneceği açıklanmaktadır.

Microsoft Fabric olay akışları için Postgre SQL Veritabanı Değişiklik Verileri Yakalama (CDC) kaynak bağlayıcısı, PostgreSQL veritabanındaki geçerli verilerin anlık görüntüsünü yakalamanızı sağlar. Şu anda PostgreSQL Veritabanı Değişiklik Verileri Yakalama (CDC), veritabanlarına genel olarak erişilebilen aşağıdaki hizmetlerden desteklenmektedir:

  • PostgreSQL için Azure Veritabanı
  • PostgreSQL için Amazon RDS
  • Amazon Aurora PostgreSQL
  • PostgreSQL için Google Cloud SQL

PostgreSQL Veritabanı CDC kaynağı olay akışına eklendikten sonra, belirtilen tablolarda satır düzeyi değişiklikleri yakalar. Daha sonra bu değişiklikler gerçek zamanlı olarak işlenebilir ve daha fazla analiz için farklı hedeflere gönderilebilir.

Note

DeltaFlow (Önizleme) ile ham Debezium CDC olaylarını kaynak tablo yapınızı yansıtan analize hazır akışlara dönüştürebilirsiniz. DeltaFlow şema kaydını, hedef tablo yönetimini ve şema evrimi işlemeyi otomatikleştirir. DeltaFlow'u kullanmak için şema işleme adımı sırasında Analize hazır olaylar ve otomatik güncelleştirilmiş şema'yı seçin.

Prerequisites

PostgreSQL Veritabanınızda CDC'yi etkinleştirme

Bu bölümde örnek olarak PostgreSQL için Azure Veritabanı kullanılır.

PostgreSQL için Azure Veritabanı Esnek Sunucunuzda CDC'yi etkinleştirmek için şu adımları izleyin:

  1. Azure portalındaki PostgreSQL için Azure Veritabanı Esnek Sunucu sayfanızda gezinti menüsünde Sunucu parametreleri'ni seçin.

  2. Sunucu parametreleri sayfasında:

    • wal_level'i mantıksal olarak ayarlayın.
    • max_worker_processes en az 16 olarak güncelleştirin.

    Esnek bir sunucu dağıtımı için CDC'yi etkinleştirme işleminin ekran görüntüsü.

  3. Değişiklikleri kaydedin ve sunucuyu yeniden başlatın.

  4. PostgreSQL için Azure Veritabanı Esnek Sunucu örneğinizin genel ağ trafiğine izin verdiğinden emin olun.

  5. Aşağıdaki SQL deyimini çalıştırarak yönetici kullanıcıya çoğaltma izinleri verin. CDC'yi getirmek için PostgreSQL Veritabanınızı (DB) bağlamak için başka bir kullanıcı hesabı kullanmak istiyorsanız, kullanıcının tablo sahibi olduğundan emin olun.

    ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
    
  1. Microsoft Fabric'te oturum açın.

  2. Sayfanın sol alt kısmında Power BI görürseniz, önce Power BI'i ve ardından Fabric'i seçerek Fabric iş yüküne geçin.

    Fabric iş yüküne nasıl geçileceğini gösteren ekran görüntüsü.

  3. Sol gezinti çubuğunda Gerçek Zamanlı'ya tıklayın.

    Veri kaynağına bağlanma deneyiminin nasıl başlatıldığını gösteren ekran görüntüsü.

  4. Akış verileri sayfası varsayılan olarak açılır. Veri kaynakları sayfasına ulaşmak için Veri ekle düğmesine tıklayın.

    Real-Time hub'ında Veri kaynakları sayfasını gösteren ekran görüntüsü.

    Ayrıca, sol gezinti çubuğundaki Veri ekle seçeneğini belirleyerek doğrudan Veri kaynakları sayfasına da ulaşabilirsiniz.

    Veri kaynağına bağlan düğmesini gösteren ekran görüntüsü.

Kaynak türü olarak PostgreSQL Veritabanı CDC'sini seçin

Veri kaynakları sayfasında, üst kısımdaki Microsoft kaynakları kategorisini seçin ve ardından PostgreSQL için Azure DB (CDC) kutucuğunda Bağlan'ı seçin.

Veri kaynakları sayfasında kaynak türü olarak PostgreSQL (CDC) için Azure Veritabanı (DB) seçimini gösteren ekran görüntüsü.

PostgreSQL için Azure Veritabanı CDC kaynağını yapılandırma

CdC aracılığıyla otomatik tablo şeması kaydıyla PostgreSQL veritabanlarından değişiklik verilerini Eventstream'e alın.

Note

DeltaFlow (Önizleme): Şema işleme adımında Analize hazır olaylar ve otomatik güncelleştirilmiş şema'yı seçtiğinizde DeltaFlow, ham Debezium CDC olaylarını kaynak tablo yapınızı yansıtan analize hazır akışlara dönüştürür. DeltaFlow ayrıca hedef tablo oluşturmayı ve şema evrimi işlemeyi otomatikleştirir.

  1. Bağlan sayfasında Yeni bağlantı'yı seçin.

    Yeni bağlantı bağlantısının vurgulandığı PostgreSQL veritabanının Bağlan sayfasını gösteren ekran görüntüsü.

  2. Bağlantı ayarları bölümünde aşağıdaki bilgileri girin.

    • Sunucu: PostgreSQL veritabanınızın sunucu adresi, örneğin my-pgsql-server.postgres.database.azure.com.

    • Veritabanı: Veritabanı adı, örneğin my_database.

      PostgreSQL veritabanı bağlayıcısının Bağlantı ayarları bölümünü gösteren ekran görüntüsü.

    • Bağlantı adı: Bağlantı için bir ad girin.

    • Kimlik doğrulama türü, Temel'i seçin ve veritabanı için Kullanıcı Adınızı ve Parolanızı girin.

      Note

      Şu anda Doku olay akışları yalnızca Temel kimlik doğrulamasını destekler.

    • Bağlantı ayarlarını tamamlamak için Bağlan'ı seçin. PostgreSQL veritabanı bağlayıcısı için Bağlantı kimlik bilgileri bölümünü gösteren ekran görüntüsü.

  3. Bağlantı noktası: Sunucunuzun bağlantı noktası numarasını girin. Varsayılan değer 5432'dir. Seçtiğiniz bulut bağlantısı Bağlantıları ve Ağ Geçitlerini Yönetkonumunda yapılandırıldıysa, port numarasının buradaki ayarlanan değerle eşleştiğinden emin olun. Eğer eşleşmiyorsa, Bağlantıları ve ağ geçitlerini yönetme sekmesindeki bulut bağlantısındaki bağlantı noktası numarası önceliklidir.

  4. Veritabanı tablolarındaki değişiklikleri yakalarken iki seçenek arasında seçim yapabilirsiniz:

    • Tüm tablolar: Veritabanındaki her tablodaki değişiklikleri yakalayın.
    • Tablo adlarını girin: Virgülle ayrılmış liste kullanarak tabloların bir alt kümesini belirtmenize olanak tanır. Şunlardan birini kullanabilirsiniz: schemaName.tableName biçimindeki tam tablo tanımlayıcıları veya geçerli normal ifadeler. Examples:
    • dbo.test.*: test şemasındaki adları dbo ile başlayan tüm tabloları seçin.
    • dbo\.(test1|test2): dbo.test1 ve dbo.test2 öğesini seçin.

    Listedeki her iki biçimi de birleştirebilirsiniz. Girdinin tamamı için toplam karakter sınırı 102.400 karakterdir.

  5. Yuva adı (isteğe bağlı):Belirli bir veritabanı/şema için belirli bir eklentiden yapılan akış değişiklikleri için oluşturulan PostgreSQL mantıksal kod çözme yuvasının adını girin. Sunucu olayları Eventstream akış bağlayıcısına akışla göndermek için bu yuvayı kullanır. Yalnızca küçük harf, sayı ve alt çizgi içermelidir.

    • Belirtilmezse, uygun veritabanı izinlerini gerektiren yuvayı oluşturmak için bir GUID kullanılır.
    • Belirtilen bir yuva adı varsa bağlayıcı bunu doğrudan kullanır.
  6. PostgreSQL Veritabanı CDC kaynağı için daha fazla yapılandırma seçeneğine erişmek için Gelişmiş ayarlar'ı genişletin:

    • Yayın adı: Kullanılacak PostgreSQL mantıksal çoğaltma yayınının adını belirtir. Bu değer veritabanındaki mevcut bir yayınla eşleşmelidir veya otomatik oluşturma moduna bağlı olarak otomatik olarak oluşturulur. Varsayılan değer: dbz_publication.

      Note

      Bağlayıcı kullanıcısının yayını oluşturmak için süper kullanıcı izinlerine sahip olması gerekir. İzinle ilgili sorunları önlemek için bağlayıcıyı ilk kez başlatmadan önce yayını el ile oluşturmanızı öneririz.

    • Yayın otomatik oluşturma modu: Yayının otomatik olarak oluşturulup oluşturulmayacağını ve nasıl oluşturulacağını denetler. Seçenekler şunlardır:

      • Filtered (varsayılan): Belirtilen yayın yoksa, bağlayıcı yalnızca seçili tabloları içeren bir yayın oluşturur (tablo ekleme listesinde belirtildiği gibi).
      • AllTables: Belirtilen yayın varsa, bağlayıcı bunu kullanır. Eğer mevcut değilse, bağlayıcı veritabanındaki tüm tabloları içeren bir bağlantı oluşturur.
      • Disabled: Bağlayıcı yayın oluşturmaz. Belirtilen yayın yoksa, bağlayıcı bir istisna fırlatır ve durur. Bu durumda, yayın veritabanında el ile oluşturulmalıdır.

      Daha fazla bilgi için yayın otomatik oluşturma moduyla ilgili Debezium belgelerine bakın

    • Ondalık işleme modu: Bağlayıcının PostgreSQL DECIMAL ve NUMERIC sütun değerlerini nasıl işlediğini belirtir:

      • Precise: Veri gösteriminde tam duyarlık ve doğruluk sağlamak için tam ondalık türleri (örneğin Java BigDecimal) kullanarak değerleri temsil eder.
      • Double: Değerleri çift duyarlıklı kayan nokta sayılarına dönüştürür. Bu seçenek kullanılabilirliği ve performansı artırır ancak duyarlık kaybına neden olabilir.
      • String: Değerleri biçimlendirilmiş dizeler olarak kodlar. Bu seçenek, aşağı akış sistemlerinde kullanılmasını kolaylaştırır, ancak özgün sayısal tür hakkındaki anlamsal bilgileri kaybeder.
    • Anlık görüntü modu: Bağlayıcı başlatıldığında anlık görüntü gerçekleştirme ölçütlerini belirtin:

      • Initial: Bağlayıcı yalnızca mantıksal sunucu adı için hiçbir uzaklık kaydedilmediğinde veya önceki bir anlık görüntünün tamamlanamadıdığını algıladığında bir anlık görüntü çalıştırır. Anlık görüntü tamamlandıktan sonra bağlayıcı, sonraki veritabanı değişiklikleri için olay kayıtlarını akışla aktarmaya başlar.
      • InitialOnly: Bağlayıcı yalnızca mantıksal sunucu adı için hiçbir uzaklık kaydedilmediğinde anlık görüntü çalıştırır. Anlık görüntü tamamlandıktan sonra bağlantı elemanı durur. Binlog'dan değişiklik olaylarını okumak için akışa geçiş yapmaz.
      • NoData: Bağlayıcı yalnızca şemayı yakalayan bir anlık görüntü çalıştırır, ancak tablo verilerini yakalamaz. Verilerin tutarlı bir anlık görüntüsüne ihtiyacınız yoksa ancak bağlayıcı başlatıldığından bu yana gerçekleşen değişikliklere ihtiyacınız varsa bu seçeneği ayarlayın.
    • Kalp atışı eylemi sorgusu: Bağlayıcının bir kalp atışı mesajı gönderdiğinde kaynak veritabanında yürüttüğü sorguyu belirtir.

    • Anlık görüntü seçme deyimi geçersiz kılma: Anlık görüntüye eklenecek tablo satırlarını belirtir. Bir anlık görüntünün tablodaki satırların yalnızca bir alt kümesini içermesini istiyorsanız özelliğini kullanın. Bu özellik yalnızca anlık görüntüleri etkiler. Bağlayıcının günlükten okuduğu olaylar için geçerli değildir.

Akış veya kaynak ayrıntıları

  1. Bağlan sayfasında Eventstream mi yoksa Real-Time hub mı kullandığınıza bağlı olarak bu adımlardan birini izleyin.

    • Olay akışı:

      Sağdaki Kaynak ayrıntıları bölmesinde şu adımları izleyin:

      1. Kaynak adı için Pencil düğmesine tıklayarak adı değiştirin.

      2. Olay Akışı adı ve Akış adının salt okunur olduğuna dikkat edin.

    • Gerçek Zamanlı Merkezi:

      Sağdaki Akış ayrıntıları bölümünde şu adımları izleyin:

      1. Olay akışını oluşturmak istediğiniz Fabric çalışma alanını seçin.

      2. Olay Akışı adı için Kalem düğmesini seçin ve olay akışı için bir ad girin.

      3. Akış adı değeri, olay akışının adına -stream eklenerek sizin için otomatik olarak oluşturulur. Bu akış, sihirbaz tamamlandıktan sonra gerçek zamanlı hub'ın Tüm veri akışları sayfasında görünür.

  2. Yapılandır sayfasının alt kısmındaki İleri'yi seçin.

Gözden geçir ve bağlan

Gözden geçir + bağlan ekranında özeti gözden geçirin ve Ekle (Olay Akışı) veya Bağlan (Real-Time hub) seçeneğini belirleyin.

Şema işleme sayfası

  1. Şema işleme adımında aşağıdaki seçeneklerden birini belirleyin:

    • Analize hazır olaylar ve otomatik güncelleştirilen şema (DeltaFlow Önizleme): Bağlayıcı, ham CDC olaylarını kaynak tablo yapınızı yansıtan analize hazır akışlara dönüştürür. DeltaFlow, olayları değişiklik türü (ekleme, güncelleştirme veya silme) ve zaman damgaları gibi meta verilerle zenginleştirir ve hedef tabloları ve şema evrimini otomatik olarak yönetir.
    • Ham CDC olayları: Bağlayıcı ham CDC olaylarını alır ve kullanılabilir hale getirir. İsteğe bağlı olarak, bağlayıcı tablo şemalarını otomatik olarak bulup şema kayıt defterine kaydedebilir. DeltaFlow dönüşümü olmadan şema tanımayı istediğinizde bu seçeneği kullanın.

    Note

    Aşağıdaki ekran görüntüsünde Azure SQL Veritabanı CDC gösterilmektedir. Şema işleme seçenekleri desteklenen tüm CDC kaynak bağlayıcıları için aynıdır.

    DeltaFlow ve Raw CDC olay seçenekleriyle şema işleme adımını gösteren ekran görüntüsü, bir CDC kaynak bağlayıcısı içindir.

  2. Olay şeması ilişkilendirmesini etkinleştirin.

  3. Çalışma Alanı için şema kümesi amacıyla bir Fabric çalışma alanı seçin.

  4. Şema kümesi için+ Oluştur varsayılan olarak seçilidir ve bu da yeni bir şema kümesi oluşturur. Var olan bir olay şeması kümesini seçmek için bunu değiştirebilirsiniz.

  5. Önceki adımda + Oluştur seçeneğini belirlediyseniz şema kümesi için bir ad girin.

  6. Gözden geçir ve bağlan sayfasında özeti gözden geçirin ve ekle (Olay Akışı) veya Bağlan (Real-Time hub) seçeneğini belirleyin.

    Genişletilmiş özelliklere sahip PostgreSQL veritabanı bağlayıcısı için Gözden geçir ve oluştur sayfasını gösteren ekran görüntüsü.

    PostgreSQL veritabanındaki tüm tablolar veya seçili tablolar için bağlayıcı şemaları otomatik olarak keşfeder ve oluşturur ve bunları şema kayıt defterine kaydeder.

DeltaFlow: Analize hazır olay dönüşümü (Önizleme)

Analize hazır olayları ve otomatik güncelleştirilen şemayı (DeltaFlow) etkinleştirdiğinizde bağlayıcı aşağıdaki özellikleri sağlar:

  • Analize hazır olay şekli: Raw Debezium CDC olayları, kaynak tablo yapısını yansıtan bir tablo biçimine dönüştürülür. Olaylar, değişiklik türü (insert, updateveya delete) ve olay zaman damgası gibi meta veri sütunlarıyla zenginleştirilmiştir.
  • Otomatik hedef tablo yönetimi: DeltaFlow özellikli akışları olay evi gibi desteklenen bir hedefe yönlendirdiğinizde, hedef tablolar otomatik olarak kaynak tablo şemasıyla eşleşecek şekilde oluşturulur. Hedef tabloları el ile oluşturmanız veya yapılandırmanız gerekmez.
  • Şema evrimi işleme: Kaynak veritabanı tabloları değiştiğinde (örneğin, yeni sütunlar eklendiğinde veya tablolar oluşturulduğunda), DeltaFlow değişiklikleri otomatik olarak algılar, kayıtlı şemaları güncelleştirir ve hedef tabloları buna göre ayarlar. Bu davranış, şema değişikliklerinin neden olduğu el ile müdahaleyi en aza indirir.

Note

DeltaFlow (Önizleme) şu anda Azure SQL Veritabanı CDC, Azure SQL Yönetilen Örneği CDC, sanal makine CDC üzerinde SQL Server ve PostgreSQL CDC kaynak bağlayıcıları ile desteklenmektedir.

DeltaFlow'un işlem türleri ve meta veri sütunları dahil olmak üzere ham CDC olaylarını analize hazır çıktıya dönüştürme hakkında ayrıntılı bilgi için bkz . DeltaFlow çıktı dönüşümü.

Veri akışı ayrıntılarını görüntüleme

  1. Gözden Geçir + bağlan sayfasında Olay akışını aç'ı seçerseniz sihirbaz, seçtiğiniz PostgreSQL Veritabanı CDC'sini kaynak olarak kullanarak sizin için oluşturduğu olay akışını açar. Sihirbazı kapatmak için sayfanın alt kısmındaki Son'u seçin.

    Gözden Geçir + bağlantı başarılı sayfasını gösteren ekran görüntüsü.

  2. Akışı, Real-Time hub giriş sayfasının Son akış verileri bölümünde görmeniz gerekir. Ayrıntılı adımlar için Fabric Real-Time hub'ında veri akışlarının ayrıntılarını görüntüleme kısmına bakın.

Veri akışlarını kullanma hakkında bilgi edinmek için aşağıdaki makalelere bakın: