Veri kümesi segmentlerini paralel olarak yükleme
Tam yük sırasında veri kümesini paralel olarak yüklenecek segmentlere bölerek büyük veri kümelerinin yüklenmesini hızlandırabilirsiniz. Tablolar veri aralıklarına, tüm bölümlere, tüm alt bölümlere veya belirli bölümlere göre bölünebilir.
Her veri kümesi segmenti ayrı bir alt görev kullanılarak yüklenir. Bu nedenle, bir veri kümesinin nasıl bölüneceğine karar verirken her zaman veritabanı ve ağ kaynaklarının kullanılabilirliğini göz önünde bulundurmalısınız. Bir tabloyu çok fazla segmente bölmek veritabanı performansını etkileyebilir ve ağ kapasitesini aşırı yükleyebilir. Bölmelere ayrılmış bir veri kümesinde Veri aralıkları segmentasyon yöntemini seçerseniz en iyi uygulama, aralıkları her aralık bir veya daha fazla bölmenin tamamını kapsayacak şekilde ayarlamaktır. Bu, veri alımını hızlandıracak ve veritabanı işleme kaynakları üzerindeki etkiyi en aza indirecektir.
Desteklenen veri kaynakları ve hedefler
Veri görevi aşağıdaki veri kaynağı ve hedef bağlayıcıların bir kombinasyonu ile tanımlanmalıdır.
Desteklenen veri kaynağı bağlayıcıları
- IBM DB2 for LUW
-
IBM DB2 for z/OS
Bilgi notuBölmelere veya alt bölmelere göre tablo segmentasyonu, z/OS için IBM DB2 kaynak bağlayıcısı ile desteklenmez.
- Microsoft SQL Server (günlük tabanlı)
- MySQL
- Oracle
-
PostgreSQL
Bilgi notuBölmelere veya alt bölmelere göre tablo segmentasyonu, PostgreSQL kaynak bağlayıcısı ile desteklenmez.
- SAP (Uygulama)Bilgi notu
SAP (Uygulama) kaynak uç noktasına sahip tablolar varsayılan olarak istemciye bağlıdır. MANDT sütunu otomatik olarak doğrudan bağlayıcıdan alınır.
- SAP HANA (Veritabanı)
Desteklenen hedef bağlayıcılar
- Amazon Redshift
- Amazon S3
- Google Cloud BigQuery
- Google Cloud Storage
- Microsoft Fabric Veri Deposu
- Microsoft SQL Server
- MySQL
- Oracle
- PostgreSQL
- Snowflake
Paralel yükü ayarlama
Bir tabloyu iki yöntemden birini kullanarak bölebilirsiniz: Veri aralıkları veya Bölmeler. Veri aralıkları yöntemi tabloyu veri aralıklarına göre bölerken Bölmeler yöntemi tabloyu bölmelere göre böler.
Veri aralıkları yöntemini kullanma
Segment sınırlarını veri aralığına göre tanımlamak için:
-
Veri kümeleri sekmesinde, veri kümesinin sağındaki
menüye tıklayın ve Ayarlar'ı seçin.
Paralel yük iletişim kutusu açılır.
-
Veri aralıkları segmentasyon yöntemini seçin.
-
Sütunları seç öğesine tıklayın.
Tablo segmentasyon sütunları iletişim kutusu açılır
-
Desteklenen tüm veri kaynakları için Benzersiz Dizin sütunu otomatik olarak seçilir. Aralıkları tanımlamak için hangi ek veri sütunlarını kullanmak istediğinizi seçin ve ardından Tamam'a tıklayın.
Bilgi notu-
NULL değerlere izin vermeyen ve normal kaynak veritabanı işlemleri sırasında güncellenmeyen sütunların kullanılması önerilir (örneğin, bir birincil anahtar sütunu veya sabit bir tarihe sahip bir tarih sütunu). Tam yük sırasında güncellenen bir sütunun kullanılması hedef veritabanında yinelemelere neden olabilir.
-
Veri alma performansını optimize edeceğinden, dizine eklenmiş kaynak sütunlarının kullanılması önerilir.
-
On adede kadar sütun seçilebilir
-
Null değerlere sahip kayıtlar çoğaltılmayacaktır
-
Aşağıdaki veri türleri aralıklara göre segmentleri tanımlamak için kullanılamaz: DOUBLE, FLOAT ve LOB (BLOB, CLOB, NCLOB)
-
-
Bir veri aralığı segmenti eklemek için Veri aralığı ekle'ye tıklayın.
Seçtiğiniz sütunlarla birlikte Veri aralığı ekle iletişim kutusu açılır.
-
Her bir sütun için segmentin üst veri aralığını girin.
Bilgi notuDATE sütunlarındaki değerler kaynak tarafından desteklenen formatta girilmelidir. Örneğin, bir Oracle kaynağı için doğru format şöyle olacaktır:
-
ALTER SESSION SET NLS_DATE_FORMAT:
'YYYY-MM-DD HH24:MI:SS' (yalnızca YYYY-MM-DD belirtilmesi de geçerlidir)
-
ALTER SESSION SET NLS_TIMESTAMP_FORMAT:
'YYYY-MM-DD HH24:MI:SS.FF9'
-
ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT:
'YYYY-MM-DD HH24:MI:SS.FF9 TZH:TZM'
-
-
Ayarlarınızı kaydetmek ve iletişim kutusunu kapatmak için Tamam'a tıklayın.
Seçilen sütunların her biri belirtilen aralıkta görünecektir.
- Sütun ve veri aralıkları eklemek için 3-6 arasındaki adımları gerektiği şekilde tekrarlayın.
- Girdiğiniz verilerin kaynak sütun veri türüne karşılık geldiğini ve tanımlanan tüm segmentlerin değer içerdiğini doğrulamak için Doğrula'ya tıklayın.
Veri aralıkları segmentasyon yöntemiyle veri aralıkları tüm sütunlar için tanımlanmamış olsa bile tablo verilerinin tümü çoğaltılır.
Bir veri aralığını düzenlemek için:
- Satırın sonundaki
menüsüne tıklayın ve Düzenle'yi seçin.
- Veri aralığını gerektiği gibi düzenleyin ve değişikliklerinizi kaydetmek için Tamam'a tıklayın.
Bir veri aralığını silmek için:
- Satırın sonundaki
menüsüne tıklayın ve Sil'i seçin.
- Silme işlemini doğrulamanız istendiğinde Sil'e tıklayın.
Kullanım örneği
Aşağıdaki segmentlerin tanımlandığını varsayalım:
Column_1 | Column_2 | Column_3 |
---|---|---|
10 |
30 |
105 |
20 |
20 |
120 |
100 |
12 |
99 |
Bu durumda, her bir yük segmenti için aşağıdaki "WHERE" cümleleri oluşturulacaktır:
- Segment 1:((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105)))
- Segment 2:NOT ((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105))) AND ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 20) AND (COL2 = 20) AND (COL3 < 120)))
- Segment 3:NOT ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 30) AND (COL2 = 20) AND (COL3 < 120))) AND ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))
- Segment 4:NOT ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))
Bölmeler yöntemini kullanma
Segment sınırlarını tüm tablo bölmelerine, tablonun tüm alt bölmelerine (veri kaynağı alt bölmeleri destekliyorsa) veya belirli bölmelere göre tanımlayabilirsiniz.
- Bu yöntem yalnızca veri kümesi zaten bölümlenmişse kullanılabilir.
- Bu özellik kullanıma sunulmadan önce mevcut olan bir göreviniz varsa ve görevi henüz başlatmadıysanız ya da bu yöntemi kullanarak tablolardan birini paralel olarak yeniden yüklemek istiyorsanız öncelikle Veri platformunda zaten mevcut olan verileri kaydetme içinde açıklandığı gibi meta verileri yenilemeniz gerekir (Bu konuda açıklanan meta veri yenileme işlemi tüm veri görevi türleri için aynıdır).
Tüm bölmeleri kullanma
Segment sınırlarını tüm tablo bölmelerine veya alt bölmelere göre tanımlamak için:
-
Veri kümeleri sekmesinde, veri kümesinin sağındaki
menüye tıklayın ve Ayarlar'ı seçin.
Paralel yük iletişim kutusu açılır.
-
Bölmeler segmentasyon yöntemini seçin.
-
Aşağıdakilerden birini seçin:
-
Tüm ana bölmeleri kullan
-
Tüm bölmeleri kullan
Bilgi notuVeri kaynağı alt bölmeleri desteklemiyorsa bu seçenek devre dışı bırakılır.
-
- Tamam üzerine tıklayın.
Belirli bölmeleri kullanma
Segment sınırlarını belirli bölmelere göre tanımlamak için:
-
Veri kümeleri sekmesinde, veri kümesinin sağındaki
menüye tıklayın ve Ayarlar'ı seçin.
Paralel yük iletişim kutusu açılır.
-
Bölmeler segmentasyon yöntemini seçin.
-
Bölmeleri belirt'i seçin.
Bilgi notuBölmeleri belirt seçildiğinde yalnızca belirtilen bölmeler çoğaltılacaktır.
-
Bölme ekle'ye tıklayın.
Bölme ekle diyalog penceresi açılır.
-
Mevcut bir bölmenin veya alt bölmenin adını belirtin.
Bir alt bölme ekliyorsanız Alt Bölme onay kutusunu seçin.
- Ayarlarınızı kaydetmek için Tamam'a tıklayın.
- Bölmeler veya alt bölmeler eklemek için 4-6 arasındaki adımları gerektiği şekilde tekrarlayın.
Bir bölmeyi düzenlemek için:
- Satırın sonundaki
menüsüne tıklayın ve Düzenle'yi seçin.
- Bölme bilgilerini gerektiği gibi düzenleyin ve değişikliklerinizi kaydetmek için Tamam'a tıklayın.
Bir bölmeyi silmek için:
- Satırın sonundaki
menüsüne tıklayın ve Sil'i seçin.
- Silme işlemini doğrulamanız istendiğinde Sil'e tıklayın.
Paralel olarak yüklenebilecek segment sayısını ayarlama
Paralel olarak yüklenecek segmentlerin sayısını artırabilir veya azaltabilirsiniz. Değer, Tam Yük > Performans ayarı > veri görevi ayarlarındaki Paralel olarak yüklenecek maksimum tablo sayısı alanından devralınır. Geçerli değer, Paralel yük iletişim kutusundaki "En fazla <n> segment paralel olarak yüklenebilir" dizesinde görüntülenir. Bir veri kümesi birçok segmente bölündüğünde sayının artırılması performansı artırabilir, ancak aynı zamanda veritabanı kaynakları ve ağ kapasitesi üzerinde daha fazla baskı oluşturacaktır.