Bir Qlik Açık Göl Evi içinde veri kümesi mimarisi
Bir Qlik Açık Göl Evi içinde veri kümeleri oluşturduğunuzda, depolama tabloları, değişiklik tabloları ve görünümler Qlik Talend Data Integration tarafından otomatik olarak oluşturulur. Iceberg açık tablo formatında saklanan güncel ve geçmiş verilere erişmek için bu görünümleri sorgulayabilirsiniz.
Sezgisel ve yönlendirici bir arayüz veri işlem hatları geliştirmenize, modellemenize ve yürütmenize yardımcı olur. Çalışan veri depoları (ODS) ve geçmişe yönelik veri depoları (HDS) için manuel kodlama olmadan otomatik olarak şemalar oluşturabilirsiniz.
Qlik Data Gateway - Veri Hareketi kullanan bir Qlik Açık Göl Evi veri işlem hattının mimarisi. Veriler S3'e yerleştirilir ve bir Iceberg Open Lakehouse içinde depolanır. İsteğe bağlı olarak, aşağıda gösterildiği gibi tablolar bir veri ambarına yansıtılabilir.

Şemalar
Dahili bir şemada ve bir veri görevi şemasında yapıtlar oluşturulur.
-
Dahili şema, çoklu bölmelere sahip bir fiziksel tablo içerir.
-
Veri görevi şeması veri 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örevinin tablolar ve görünümler için benzersiz bir önek kullanması gerekir. Öneki veri görevi ayarlarından ayarlayabilirsiniz.
Ad çakışmaları için yalnızca dahili şemalar kontrol edilir. Diğer şemalar için, tablo adlarında ad çakışması olmadığından emin olmalısınız. En iyi uygulama, dahili şemayı _internal eklenerek veri görevi şemasıyla aynı şekilde adlandırmaktır. Bu, her şema ve ön ek kombinasyonunun benzersiz olmasını sağlar.
Tablolar
Her kaynak tablo için dahili şemada _internal son ekiyle şu format kullanılarak bir tablo oluşturulur:
<INTERNAL_SCHEMA>.<TABLE_NAME>_internal
Bu tablo, her biri verilerin nasıl işlendiği ve saklandığı konusunda farklı bir amaca hizmet eden beş bölme içerir. Her bölme, veri yaşam döngüsündeki rolüne bağlı olarak tablo sütunlarının bir alt kümesinden yararlanır.
Dahili veri kümesi, kaynak sisteminizden gelen verileri verimli bir şekilde yönetmek için yapılandırılmıştır ve gerçek zamanlı alım ile geçmişe yönelik izlemeyi destekler. Veri akışı, her biri aşağıda açıklanan çeşitli özel bölmeler aracılığıyla yönetilir:
-
Değişiklikler bölmesi - Gerçek zamanlı alım
Kaynak sistemdeki tüm değişiklikler (eklemeler, güncellemeler ve silmeler) ilk olarak Değişiklikler bölmesine eklenir.
-
Ham bir değişiklik günlüğü olarak işlevi gören bölme, herhangi bir dönüşüm gerçekleşmeden önce kaynak etkinliğinin eksiksiz 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 kaydedilir. Bölme neredeyse gerçek zamanlı olarak güncellenir.
-
Değişiklikler bölmesi, Göl evi veri yerleştirme 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ölmesi - İlerlemeyi takip etme
Değişiklikler alındıkça Asset_state bölmesi iki önemli zaman damgasını günlüğe kaydeder:
-
Değişikliklerin Değişiklikler bölmesine en son ne zaman eklendiği.
-
Değişikliklerin Mevcut bölmeye en son ne zaman eklendiği.
Bu, senkronizasyon işlem hattına tam görünürlük sağlar ve gecikmelerin izlenmesine veya sorun giderilmesine yardımcı olur.
-
-
Mevcut bölme (ODS) - Kaynağın en son kopyası
Kaynak verilerin güncel, sorgu için optimize edilmiş bir kopyasını korumak üzere Değişiklikler bölmesindeki değişiklikler periyodik olarak Mevcut bölmeye uygulanır.
-
Bu güncellemeleri uygulamak için bir arka plan görevi otomatik olarak çalışır. Bu, sabit bir program yerine biriken değişikliklerin hacmine dayanır.
-
İlk tam yük doğrudan Mevcut bölmesine yazılır.
-
Bu bölme, verilerin mevcut durumunu yansıtır ve verimli sorgulama için tasarlanmıştır.
-
-
Önceki bölme (HDS) - Geçmiş veriler
Geçerli bölmede bir kayıt güncellendiğinde veya silindiğinde, önceki sürümün bir kopyası Önceki bölmeye 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 boyutu (SCD2) destekler.
-
Önceki bölme, Depolama verileri görev ayarlarının Genel sekmesinde Geçmiş kayıtlarını ve değişiklik kayıtları arşivini tut etkinleştirildiğinde kullanılabilir.
-
Bir kaydın güncellenmiş bir sürümü Mevcut bölmeye girdiğinde, önceki kayıt geçmiş izleme için Önceki bölmeye taşınır.
-
-
Yeniden yükleme bölmesi
Yeniden yükleme bölmesi, manuel veya programlı tam yeniden yüklemeler sırasında geçici bir hazırlama alanı işlevi görür:
-
Yeni veriler ilk olarak Yeniden yükleme bölmesine yazılır.
-
Düzenli bakım görevleri, bekleyen tüm değişiklikleri duraklatılmadan önce temizler.
-
Veriler Mevcut bölmeyle karşılaştırılır ve yalnızca farklar Mevcut bölmeye taşınır.
-
İşlem tamamlandığında Yeniden yükleme bölmesi silinir.
Bu işlem, tam yeniden yükleme işlemleri sırasında ana veri kümesinde en az kesinti olmasını sağlar.
-
Mevcut bölme
| Alan | Tür | Açıklama |
|---|---|---|
| hdr__key_hash | VARBINARY (20) | Tüm kayıt birincil anahtarlarının karma değeri. Karma biçimi SHA1'dir. Sütunlar geri boşluk karakteri ile ayrılır. |
| hdr__from_timestamp | TIMESTAMP |
UTC olarak zaman damgası:
|
| hdr__operation | VARCHAR (1) |
Bu kaydın son işlemi.
|
| hdr__inserted_timestamp | TIMESTAMP | Anahtar ilk kez eklendiğindeki UTC zaman damgası Tam yükleme kullanılırken tam yüklemenin başlangıç zamanı. |
| hdr__modified_timestamp | TIMESTAMP | Son güncelleme yapıldığında UTC zaman damgası. |
Önceki bölme
| Alan | Tür | Açıklama |
|---|---|---|
| hdr__key_hash | VARBINARY (20) | Tüm kayıt birincil anahtarlarının karma değeri. |
| hdr__from_timestamp | TIMESTAMP | UTC olarak zaman damgası. |
| hdr__to_timestamp | TIMESTAMP | UTC olarak zaman damgası. |
| hdr__operation | STRING (1) |
Bu kaydın son işlemi.
|
| hdr__was_current_from_timestamp | TIMESTAMP | Kaydın ilk kez güncel olduğu zamanın UTC olarak zaman damgası. |
| hdr__was_current_to_timestamp | TIMESTAMP | Kaydın son kez güncel olduğu zamanın UTC olarak zaman damgası. |
Değişiklikler bölmesi
| Alan | Tür | Açıklama |
|---|---|---|
| hdr__change_identifier | VARCHAR (50) |
Değişiklik tanımlayıcısı iki parçalı bir dizedir:
|
| hdr__operation | VARCHAR (1) |
Bu kaydın son işlemi.
|
| hdr__timestamp | TIMESTAMP | UTC olarak zaman damgası. |
| hdr__key_hash | BINARY (20) | Tüm kayıt birincil anahtarlarının karma değeri. |
| hdr__inserted_timestamp | TIMESTAMP | Değişikliğin Qlik tarafından işlendiği zamanın UTC zaman damgası. |
Asset_state bölmesi
| Alan | Tür | Açıklama |
|---|---|---|
| hdr__apply_change_identifier | VARCHAR (50) | Mevcut bölmeye uygulanan en son değişikliğin değişiklik tanımlayıcısı. |
| hdr__copy_change_identifier | VARCHAR (50) | Değişiklikler bölmesine eklenen en son değişikliğin değişiklik tanımlayıcısı. |
Yeniden yükleme bölmesi
Yeniden yükleme bölmesi tarafından kullanılan sütunlar Mevcut bölmeyle aynıdır.
Görünümler
Oluşturulan tüm görünümler neredeyse gerçek zamanlı olarak güncellenir. Sorgulama ve raporlamayı basitleştirmek için aşağıdaki görünümler kullanılabilir:
Mevcut
Geçerli görünüm, verilerin en son durumunu yansıtır. Bu görünüm, kaynak tablonun neredeyse gerçek zamanlı olarak güncellenen bir kopyasını temsil eder. Mevcut bölmedeki ve Değişiklikler bölmesindeki verileri birleştirir.
Ad: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>
Tablo yapısına üst bilgi sütunu eklenmedi.
Geçmiş
Veri görevi ayarlarında Geçmiş etkinleştirilirse veri varlığı şemasında seçili her kaynak tablo için bir geçmiş görünümü oluşturulur. Geçmiş görünümü, Önceki bölmedeki ve Değişiklikler bölmesindeki verileri birleştirir. Denetim veya tarihsel analiz 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 üstbilgi 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 karma değeri. |
| hdr__from_timestamp | TIMESTAMP | Değişikliğin kaynak sistemde gerçekleştiği zamanın zaman damgası. Bu, kullanıcının değişikliği ilk olarak ne zaman yaptığını yansıtır. |
| hdr__to_timestamp | TIMESTAMP | Değişikliğin kaynak sistemde geri alındığı veya güncellendiği zaman damgası. |
| hdr__store | VARCHAR (10) |
Kaydın durduğu yeri gösterir:
|
| hdr__operation | STRING (1) |
Bu kaydın son işlemi.
|
| hdr__deleted | BIT | hdr__operation değerinin D veya d olmasına bağlı olarak kaydın geçici olarak mı silindiğini gösterir. |
| hdr__was _current_from_timestamp | TIMESTAMP | Bu satırın Geçerli bölmeye girdiği zaman (UTC). Bu genellikle depolama işinin çalıştırıldığı ve değişikliğin uygulandığı zamandır. |
| hdr__was _current_to_timestamp | TIMESTAMP | Satırın, örneğin daha yeni bir sürüm nedeniyle Mevcut tablosundan kaldırıldığı zaman (UTC). |