Bir Qlik Açık Göl Evi içindeki veri kümesi mimarisi | Qlik Cloud Yardımı
Ana içeriğe geç Tamamlayıcı içeriğe geç

Bir Qlik Açık Göl Evi içindeki veri kümesi mimarisi

Akış kaynakları, verileri yerleştirme demetine yüklemek için Data Movement gateway gerektirmediklerinden, ancak lakehouse kümesi tarafından desteklendiklerinden Qlik Açık Göl Evi içinde kendi mimarilerine sahiptir.

Dosya adı içinde bir veri deseni içeren dosyalardan veri aldığınızda, bu, lakehouse kümesinin S3'te hedeflenen liste işlemlerini gerçekleştirmesini sağlar ve bu da dosya listesini okuma süresini önemli ölçüde hızlandırır. Ayrıca, Qlik Açık Göl Evi tarih desenine göre gelen dosyaları tahmin edebilir. Akış yerleştirme görevinin her seferinde tüm demeti listelemesi gerekmez, bunun yerine belirli bir tarih aralığındaki dosyaları S3'ten isteyebilir. Daha küçük bir dosya listesine sahip olmak daha iyi performansa yol açar. İsteğe bağlı Yüklemeden sonra sil ayarı, küçük bir dosya sayısını korumak için kullanılabilir. Gerçekleştirilen bir tam yük yoktur, ilk kayıtlar eklenen değişiklikler olarak kabul edilir.

Bir Qlik Açık Göl Evi içinde, Akış Dönüştürme görevi depolama görevinin yerini alır. Bu görev, yerleştirilen verileri dönüştürmek ve Iceberg tabloları olarak depolamak için kullanılır. Bir Akış Dönüştürme görevi yalnızca bir Akış yerleştirme görevinden sonra eklenebilir. Akış Dönüştürme görevi, kayıtları güncellemek için iki modu destekler:

  • Yalnızca ekle: Mevcut verileri değiştirmeden yeni kayıtlar ekler ve çoğaltılmış kayıtlar gelirse anahtar kısıtlamaları uygulanmaz.
  • Değişiklikleri uygula (Birleştir): Anahtar alanlara göre mevcut kayıtları günceller ve yeni kayıtlar ekler. Bu mod size geçici silme kullanma veya geçmiş verileri (Tip 2) tutma seçeneği sunar.

Akış Dönüştürme görevi, kaynak ve hedef arasında eşleme yapan ve şema evrimi yetenekleri içeren hedef tabanlı bir görevdir. İç içe geçmiş yapıların iç içe geçmesini kaldırma ve dizileri düzleştirme dahil olmak üzere genişletilmiş dönüştürme yetenekleri sağlar. Akış Dönüştürme görevinde kullanabileceğiniz işlevler hakkında daha fazla bilgi için bkz. Dönüştürme işlevleri.

Bir akış kaynağından veri aldığınızda, depolama maliyetlerini kontrol etmek ve sorgu performansını optimize etmek için Iceberg bölümlemeyi, saklama yönetimini, sıralama sütunlarını, anlık görüntü süre sonunu yapılandırma olanağına sahipsiniz.

Yalnızca ekle modunda bir akış Qlik Açık Göl Evi veri İşlem hattı için mimari

Yalnızca ekle modunda açık lakehouse mimarisi

Birleştirme modunda bir akış Qlik Açık Göl Evi veri İşlem hattı için mimari

Birleştirme modunda açık lakehouse mimarisi

Yerleştirme tabloları

Aşağıdaki başlık alanları yerleştirme tablolarına eklenir. Bu alanlar yerleştirme verilerinde her zaman bulunur, ancak varsayılan olarak aşağı akış dönüşümünde bulunmaz. Bir ifade kullanarak alanları dönüşüme ekleyebilirsiniz.

Kafka kaynakları için eklenen başlık alanları
Alan Tür Açıklama
hdr__kafka_partition Long Kafka bölümü
hdr__kafka_topic Dize Kafka konusu
hdr__kafka_offset Long Bölümdeki çalışan değer
hdr__kafka_key Dize Base64 kodlu anahtar. Kullanılamıyorsa NULL dizesine ayarlayın.
hdr__kafka_headers Dize

Tüm mesaj başlıklarını içeren JSON. Kullanılamıyorsa NULL dizesine ayarlayın.  

Amazon Kinesis kaynakları için eklenen başlık alanları
Alan Tür Açıklama
hdr__kinesis_stream Dize Amazon Kinesis klasör
hdr__kinesis_shard Dize Amazon Kinesis parçası
hdr__kinesis_offset Dize Amazon Kinesis ofseti
Amazon S3 kaynakları için eklenen başlık alanları
Alan Tür Açıklama
hdr__file_name Dize Dosya adı
hdr__file_size Long Bayt cinsinden dosya boyutu.

Şemalar

Eserler bir dahili şema ve bir veri görevi şemasında oluşturulur.

  • Dahili şema, birden çok bölüme sahip fiziksel bir tablo içerir.

  • Veri görevi şeması, verileri tüketmek için kullanabileceğiniz görünümleri içerir.

    Bir şema birden fazla veri göreviyle ilişkilendirildiğinde, her veri görevi tablolar ve görünümler için benzersiz bir önek kullanmalıdır. Öneki veri görevi ayarlarında ayarlayabilirsiniz.

Yalnızca dahili şemalar adlandırma çakışmaları açısından kontrol edilir. Diğer şemalar için, tablo adlarında adlandırma çakışması olmadığından emin olmalısınız. En iyi uygulama, dahili şemayı veri görevi şemasıyla aynı adla ve _internal eklenmiş olarak adlandırmaktır. Bu, her şema ve önek kombinasyonunun benzersiz olmasını sağlar.

Bilgi notuTüm tablolar ve görünümler Qlik Talend Data Integration tarafından yönetilir. Verileri diğer araçları kullanarak değiştirmeyin.

Tablolar

Her kaynak tablo için, dahili şema içinde _internal sonekiyle şu biçim kullanılarak bir tablo oluşturulur:

<INTERNAL_SCHEMA>.<TABLE_NAME>_internal

Bu tablo, Değişiklikleri uygula (Birleştir) modunda, her biri verilerin nasıl işlendiği ve depolandığı konusunda farklı bir amaca hizmet eden beş bölüm içerir. Her bölüm, veri yaşam döngüsündeki rolüne bağlı olarak tablonun sütunlarının bir alt kümesinden yararlanır. Yalnızca ekle modunda tablonun hiçbir bölümü yoktur ve Current bölümü (ODS) gibi davranır.

Bilgi notuDahili şema içindeki tablo önceden haber verilmeksizin değiştirilebilir. Mümkün olduğunda verileri tüketmek için öncelikle görünümleri kullanmalısınız.

Dahili veri kümesi, kaynak sisteminizden gelen verileri verimli bir şekilde yönetecek, gerçek zamanlı alımı ve geçmiş izlemeyi destekleyecek şekilde yapılandırılmıştır. Veri akışı, her biri aşağıda açıklanan birkaç özel bölüm aracılığıyla yönetilir:

  • Changes bölümü – Gerçek zamanlı alım

    Kaynak sistemden gelen tüm değişiklikler (eklemeler, güncellemeler ve silmeler) ilk olarak Changes bölümüne eklenir.

    • Ham bir değişiklik günlüğü görevi gören bölüm, herhangi bir dönüşüm gerçekleşmeden önce kaynak etkinliğinin tam bir akışını sağlar.

    • Her değişiklik, nasıl işlendiğini gösteren bir türle (I, U veya D) etiketlenir.

    • Olaylar meydana geldikçe kaynaktan yakalanır. Bölüm neredeyse gerçek zamanlı olarak güncellenir.

    • Changes bölümü, Lake yerleştirme veri görevinde aşağıdaki ayarlar uygulandığında kullanılabilir.

      • Genel sekmesinde, Güncelleme yöntemi CDC olarak ayarlanır.

      • Tam yük etkinleştirilir.

  • Asset_state bölümü - İlerlemeyi izleme

    Değişiklikler alındıkça, Asset_state bölümü iki önemli zaman damgası kaydeder:

    • Değişikliklerin Changes bölümüne en son ne zaman eklendiği.

    • Değişikliklerin Current bölümüne en son ne zaman uygulandığı.

    Bu, senkronizasyon İşlem hattı için tam görünürlük sağlar ve gecikmeleri izlemeye veya gidermeye yardımcı olur.

  • Current bölümü (ODS) – Kaynağın en son kopyası

    Changes bölümündeki değişiklikler, kaynak verilerin güncel ve sorgu için optimize edilmiş bir kopyasını korumak amacıyla periyodik olarak Current bölümüne uygulanır.

    • Bu güncellemeleri uygulamak için arka planda bir görev otomatik olarak çalışır. Bu, sabit bir programdan ziyade biriken değişikliklerin hacmine dayanır.

    • İlk tam yük doğrudan Current bölümüne yazılır.

    • Bu bölüm verilerin mevcut durumunu yansıtır ve verimli sorgulama için tasarlanmıştır.

  • Prior bölümü (HDS) – Geçmiş veriler

    Current bölümünde bir kayıt güncellendiğinde veya silindiğinde, önceki sürümün bir kopyası Prior bölümüne yazılır. 

    • Kayıtlar, değişiklik geçmişi ve verilerin geçerli olduğu tarih aralığı dahil olmak üzere meta veriler içerir.

    • Bu, Tip 2 yavaş değişen boyut (SCD2) özelliğini destekler.

    • Prior bölümü, Depolama veri görevi ayarlarının Genel sekmesinde Geçmiş kayıtları ve değişiklik kayıtları arşivini tut etkinleştirildiğinde kullanılabilir.

    • Bir kaydın güncellenmiş bir sürümü Current bölümüne girdiğinde, önceki kayıt geçmiş izleme için Prior bölümüne taşınır.

  • Reload bölümü

    Reload bölümü, manuel veya zamanlanmış tam yeniden yüklemeler sırasında geçici bir hazırlama alanı görevi görür:

    • Yeni veriler ilk olarak Reload bölümüne yazılır.

    • Düzenli bakım görevleri, duraklatılmadan önce bekleyen değişiklikleri temizler.

    • Veriler Current bölümüyle karşılaştırılır ve yalnızca farklılıklar Current bölümüne taşınır.

    • İşlem tamamlandığında Reload bölümü temizlenir.

    Bu işlem, tam yeniden yükleme işlemleri sırasında ana veri kümesinde minimum kesinti olmasını sağlar.

Current bölümü

Alan Tür Açıklama
hdr__key_hash VARBINARY (20) Tüm kayıt birincil anahtarlarının karması. Karma biçimi SHA1'dir. Sütunlar bir geri al karakteriyle ayrılır.
hdr__from_timestamp TIMESTAMP

UTC cinsinden zaman damgası:

  • Bir tam yükten alınan veriler için bu, tam yük başlangıç zamanıdır.

  • Changes bölümünden gelen bir değişiklik için bu, kaydın zaman damgası alanıdır.

hdr__operation VARCHAR (1)

Bu kaydın en son işlemi.

  • D - Changes bölümünden silindi.

  • U - Changes bölümünden güncellendi.

  • I - Changes bölümünden eklendi.

  • L - tam yük görevi tarafından eklendi.

  • d - karşılaştır ve uyguladan silindi.

  • u - karşılaştır ve uyguladan güncellendi.

  • i - karşılaştır ve uyguladan eklendi.

hdr__inserted_timestamp TIMESTAMP Anahtarın ilk eklendiği zamanın UTC zaman damgası. Tam yük kullanıldığında, tam yükün başlangıç zamanı.
hdr__modified_timestamp TIMESTAMP Son güncellemenin ne zaman yapıldığının UTC zaman damgası.

Prior bölümü

Alan Tür Açıklama
hdr__key_hash VARBINARY (20) Tüm kayıt birincil anahtarlarının karması.
hdr__from_timestamp TIMESTAMP UTC cinsinden zaman damgası.
hdr__to_timestamp TIMESTAMP UTC cinsinden zaman damgası.
hdr__operation STRING (1)

Bu kaydın en son işlemi.

  • D - Changes bölümünden silindi.

  • U - Changes bölümünden güncellendi.

  • I - Changes bölümünden eklendi.

  • L - tam yük görevi tarafından eklendi.

  • d - karşılaştır ve uyguladan silindi.

  • u - karşılaştır ve uyguladan güncellendi.

  • i - karşılaştır ve uyguladan eklendi.

hdr__was_current_from_timestamp TIMESTAMP Kaydın ilk kez güncel olduğu zaman için UTC cinsinden zaman damgası.
hdr__was_current_to_timestamp TIMESTAMP Kaydın son kez güncel olduğu zaman için UTC cinsinden zaman damgası.

Changes bölümü

Alan Tür Açıklama
hdr__change_identifier VARCHAR (50)

Değişiklik tanımlayıcısı iki bölümden oluşan bir dizedir:

  • 1/1/1970'ten bu yana milisaniye cinsinden toplu çalıştırma başlangıç zaman damgası (10 basamaklı dize).

  • Çoğaltma ağ geçidinden değişiklik dizisi (35 karakter).

hdr__operation VARCHAR (1)

Bu kaydın en son işlemi.

  • D - Changes bölümünden silindi.

  • U - Changes bölümünden güncellendi.

  • I - Changes bölümünden eklendi.

  • L - tam yük görevi tarafından eklendi.

  • d - karşılaştır ve uyguladan silindi.

  • u - karşılaştır ve uyguladan güncellendi.

  • i - karşılaştır ve uyguladan eklendi.

hdr__timestamp TIMESTAMP UTC cinsinden zaman damgası.
hdr__key_hash BINARY (20) Tüm kayıt birincil anahtarlarının karması.
hdr__inserted_timestamp TIMESTAMP Değişikliğin Qlik tarafından işlendiği zamanın UTC zaman damgası.

Asset_state bölümü

Alan Tür Açıklama
hdr__apply_change_identifier VARCHAR (50) Current bölümüne uygulanan en son değişikliğin değişiklik tanımlayıcısı.
hdr__copy_change_identifier VARCHAR (50) Changes bölümüne eklenen en son değişikliğin değişiklik tanımlayıcısı.

Reload bölümü

Reload bölümü tarafından kullanılan sütunlar Current bölümüyle aynıdır.

Görünümler

Oluşturulan tüm görünümler neredeyse gerçek zamanlı olarak güncellenir. Sorgulamayı ve raporlamayı basitleştirmek için aşağıdaki görünümler mevcuttur:

Güncel

Güncel görünüm, verilerin en son durumunu yansıtır. Bu görünüm, neredeyse gerçek zamanlı olarak güncellenen kaynak tablonun bir kopyasını temsil eder. Current ve Changes bölümlerindeki verileri birleştirir.

Ad: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>

Tablo yapısına hiçbir başlık sütunu eklenmez.

Geçmiş

Veri görevi ayarlarında Geçmiş etkinleştirildiğinde, seçilen her kaynak tablo için veri varlığı şeması içinde bir Geçmiş görünümü oluşturulur. Geçmiş görünümü, Prior ve Changes bölümlerindeki verileri birleştirir. Denetim veya geçmiş analizi için ideal olan eksiksiz bir değişiklik zaman çizelgesi sağlar.

Ad: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_<Suffix for history views>

Aşağıdaki başlık alanları Geçmiş görünümüne eklenir:

Alan Tür Açıklama
hdr__key_hash BINARY (20) Tüm kayıt birincil anahtarlarının karması.
hdr__from_timestamp TIMESTAMP Kaynak sistemde değişikliğin meydana geldiği zaman damgası. Bu, kullanıcının değişikliği ilk ne zaman yaptığını yansıtır.
hdr__to_timestamp TIMESTAMP Kaynak sistemde değişikliğin geri alındığı veya güncellendiği zaman damgası.
hdr__store VARCHAR (10)

Bu, kaydın nerede bulunduğunu gösterir:

  • CURRENT - kayıt Current bölümünde bulunuyorsa.

  • PRIOR - kayıt geçmiş verilerle birlikte Prior bölümünde bulunuyorsa.

hdr__operation STRING (1)

Bu kaydın en son işlemi.

  • D - Changes bölümünden silindi.

  • U - Changes bölümünden güncellendi.

  • I - Changes bölümünden eklendi.

  • L - tam yük görevi tarafından eklendi.

  • d - karşılaştır ve uyguladan silindi.

  • u - karşılaştır ve uyguladan güncellendi.

  • i - karşılaştır ve uyguladan eklendi.

hdr__deleted BIT hdr__operation değerinin D veya d olmasına bağlı olarak kaydın geçici olarak silinip silinmediğini gösterir.
hdr__was_current_from_timestamp TIMESTAMP Bu satırın Current bölümüne girdiği zaman (UTC). Bu genellikle depolama işinin çalıştığı ve değişikliğin uygulandığı zamandır.
hdr__was_current_to_timestamp TIMESTAMP Örneğin daha yeni bir sürüm nedeniyle satırın Current tablosundan kaldırıldığı zaman (UTC).

Bilgi notuGüncel ve Geçmiş görünümleri Changes bölümüne dayanır ve her zaman neredeyse gerçek zamanlıdır. Ancak, yavaş sorgu performansı yaşarsanız, bunun nedeni henüz Current veya Prior bölümlerine uygulanmamış çok sayıda değişiklik olabilir. Birleştirilmemiş deltalar sorgu zamanında daha fazla işlem gerektirir ve bu da erişimi yavaşlatır.

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız lütfen bize bildirin!