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 biçiminde depolanan güncel ve geçmiş verilere erişmek için bu görünümleri sorgulayabilirsiniz.
Sezgisel ve yönlendirmeli bir kullanıcı arayüzü, veri işlem hatları oluşturmanıza, modellemenize ve yürütmenize yardımcı olur. Manuel kodlama yapmadan operasyonel veri depoları (ODS) ve geçmiş veri depoları (HDS) için otomatik olarak şemalar oluşturabilirsiniz.
Qlik Data Gateway - Veri Hareketi kullanan bir Qlik Açık Göl Evi veri işlem hattı için mimari. Veriler S3'e yerleştirilir ve bir Iceberg açık göl evinde (open lakehouse) depolanır. İsteğe bağlı olarak, aşağıda gösterildiği gibi tablolar bir veri ambarına yansıtılabilir.

Şemalar
Yapıtlar bir dahili şema ve bir veri görevi şemasında oluşturulur.
-
Dahili şema, birden çok bölümü olan 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 ön ek kullanmalıdır. Ön eki veri görevi ayarlarından ayarlayabilirsiniz.
Yalnızca dahili şemalar adlandırma çakışmaları açısından denetlenir. 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ı şekilde adlandırıp sonuna _internal eklemektir. Bu, her şema ve ön ek kombinasyonunun benzersiz olmasını sağlar.
Tablolar
Her kaynak tablo için, dahili şema içinde _internal son ekiyle şu biçim kullanılarak bir tablo oluşturulur:
<INTERNAL_SCHEMA>.<TABLE_NAME>_internal
Bu tablo, 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.
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 sistemdeki 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üştürme gerçekleşmeden önce kaynak etkinliğinin eksiksiz bir akışını sağlar.
-
Her değişiklik, nasıl işlendiğini belirten bir türle (I, U veya D) etiketlenir.
-
Olaylar gerçekleştikç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 temel 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 işlem hattı için tam görünürlük sağlar ve gecikmelerin izlenmesine veya sorunlarının giderilmesine 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 (backspace) karakteriyle ayrılır. |
| hdr__from_timestamp | TIMESTAMP |
UTC cinsinden zaman damgası:
|
| hdr__operation | VARCHAR (1) |
Bu kaydın en son işlemi.
|
| 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 yapıldığı zamanı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.
|
| 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:
|
| hdr__operation | VARCHAR (1) |
Bu kaydın en son işlemi.
|
| 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 (Current) 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. 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ş (History) 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>
Geçmiş görünümüne aşağıdaki başlık alanları 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 yaptığı zamanı 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:
|
| hdr__operation | STRING (1) |
Bu kaydın en son işlemi.
|
| hdr__deleted | BIT | hdr__operation değerinin D veya d olmasına bağlı olarak kaydın geçici olarak (soft) 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 | Satırın, örneğin daha yeni bir sürüm nedeniyle Current tablosundan kaldırıldığı zaman (UTC). |