Teradata - Sorular ve Cevaplar
Sevgili okuyucular, bunlar Teradata Interview Questions konusu ile ilgili görüşmeniz sırasında karşılaşabileceğiniz soruların niteliği hakkında sizi bilgilendirmek için özel olarak tasarlanmıştır. Teradata. Tecrübelerime göre, iyi mülakatçılar mülakatınız sırasında belirli bir soru sormayı pek planlamazlar, normalde sorular konuyla ilgili bazı temel kavramlarla başlar ve daha sonra daha fazla tartışmaya ve yanıtladığınız şeye dayanarak devam eder -
Teradata Architecture üç bileşenden oluşur.
Parsing Engine - Ayrıştırma Motoru, kullanıcıdan gelen sorguyu alır, ayrıştırır ve yürütme planını hazırlar.
BYNET - BYNET, yürütme planını Ayrıştırma Motorundan alır ve uygun AMP'ye gönderir.
AMP- AMP, satırları depolamak ve almaktan sorumludur. Verileri kendisiyle ilişkilendirilmiş sanal diskte depolar. Buna ek olarak, AMP kilit yönetimi, alan yönetimi, sıralama ve birleştirme işlemlerinden sorumludur.
Hızlı Yükleme | MultiLoad |
---|---|
Hedef tablo boş olmalıdır | Hedef tablonun boş olması gerekmez |
Tek bir komut dosyası kullanılarak yalnızca bir tablo yüklenebilir | 5 tabloya kadar yükleyebilir / güncelleyebilir |
Yalnızca CREATE / INSERT deyimini destekler | Tek kodda 20 adede kadar DML ifadesini destekler |
RI, SI ve Tetikleyiciler içeren tabloları desteklemez | NUSI içeren tabloları destekler |
FastLoad, denetim noktaları aracılığıyla yeniden başlatma yeteneği sağlar. Komut dosyası son kontrol noktasından yeniden başlatıldığında, aynı satırların tekrar AMP'lere gönderilmesi mümkündür. FastLoad'un kopyaları desteklememesinin nedeni budur.
SET tablosu yinelenen kayıtlara izin vermezken, MULTISET yinelenen kayıtlara izin verir.
Sistem eklenen her satır için aynı satır karmasına sahip herhangi bir kayıt olup olmadığını kontrol eder. Tabloda tanımlanmış UPI varsa, kaydı kopya olarak reddeder. Aksi takdirde, kopya için tüm kaydı karşılaştıracaktır. Bu, sistem performansını ciddi şekilde etkileyecektir.
Yinelenen satır denetimini önlemek için Benzersiz Birincil Dizin veya Benzersiz İkincil Dizin tanımlayabilirsiniz.
Tablolar, CREATE TABLE deyimi kullanılarak oluşturulur. Tablolar kullanılarak oluşturulabilir
Sütun tanımlı CREATE TABLE ifadesi.
Mevcut bir tablodan TABLO OLUŞTUR.
SELECT ifadesiyle TABLE ifadesi oluşturun.
Yinelenen kayıtlar DISTINCT ifadesi veya GROUP BY ifadesi kullanılarak tanımlanabilir.
SELECT DISTINCT column 1, column 2…
FROM tablename;
OR
SELECT column 1, column 2,…
FROM tablename
GROUP BY column 1, column 2….;
Teradata'da birincil anahtarlar zorunlu değildir, ancak Birincil Dizin zorunludur.
Veri dağıtımı, Birincil Endeks değerine dayanmaktadır.
Birincil anahtarlar NULL kabul etmezken, Birincil Dizin NULL değerleri kabul eder.
Birincil anahtarlar benzersizdir, ancak Birincil Dizin benzersiz (UPI) veya benzersiz olmayan (NUPI) olabilir.
Birincil anahtarlar değişmezken, Birincil Dizinler değişir.
Verilere 3 farklı yoldan erişilebilir -
- Birincil Dizin aracılığıyla
- İkincil Dizin aracılığıyla
- Tam Tablo Tarama
SELECT HASHAMP () + 1 sorgusu kullanılarak tanımlanabilir;
Bu amaçla aşağıdaki sorgu kullanılabilir.
SELECT HASHMAP(HASHBUCKET(HASHROW(primaryindexvalue))), COUNT(*)
FROM tablename GROUP BY 1;
Teradata iki işlem modunu destekler.
- Teradata
- ANSI
Teradata modu SET SESSION TRANSACTION BTET kullanılarak ayarlanır; ANSI modu SET SESSION TRANSACTION ANSI kullanılarak ayarlanır;
İşlemler BT ve ET ifadeleri kullanılarak yürütülebilir.
Katılma Dizinlerine kullanıcı tarafından doğrudan erişilemez. Bunlara yalnızca eniyileyici erişebilir.
Yinelenen kayıtlar, hedef tabloların yüklenmesi reddedilecek ve UV tablosuna eklenecektir.
FALLBACK, Teradata tarafından AMP hatalarını işlemek için kullanılan bir koruma mekanizmasıdır. Her veri satırı için, satırın başka bir kopyası, bir küme içindeki farklı bir AMP'de saklanır. Herhangi bir AMP başarısız olursa, ilgili satırlara FALLBACK AMP kullanılarak erişilir.
FALLBACK, CREATE TABLE deyimi kullanılarak tablo oluşturulurken veya ALTER TABLE ifadesi kullanılarak tablo oluşturulduktan sonra belirtilebilir.
Biriktirme alanı hatası, sorgunun ara sonuçları, sorguyu gönderen kullanıcı için belirlenen her AMP biriktirme alanı sınırını aşarsa oluşur.
SLEEP komutu, Teradata'nın bağlantı kurmaya çalışmasından önceki bekleme süresini belirtir.
TENACITY komutu, Teradata'nın yeni bir bağlantı kurması için toplam bekleme süresini belirtir.
BEGIN LOADING ve END LOADING deyimini saklayabilir ve FASTLOAD komut dosyasını gönderebilirsiniz. Diğer seçenek, tabloyu bırakıp tabloyu yeniden oluşturmaktır.
Teradata'da önbelleğe alma, kaynakla birlikte çalışır ve aynı sırada kalır, yani sık sık değişmez. Önbellek genellikle uygulamalar arasında paylaşılır. Teradata kullanmanın ek bir avantajıdır.
RAID, disk arızasını ele almak için bir koruma mekanizmasıdır. Redundant Array of Independent Disks anlamına gelir. RAID 1, Teradata'da yaygın olarak kullanılır.
İkincil dizin, verilere erişmek için alternatif yol sağlar. Tam Tablo Taramasından kaçınmak için kullanılırlar. Bununla birlikte, ikincil dizinler alt tabloların bakımı için ek fiziksel yapı gerektirir ve ayrıca her satır için alt tablonun güncellenmesi gerektiğinden ek G / Ç gerektirir.
Teradata'da dört farklı kilit vardır - Ayrıcalıklı, Yazma, Okuma ve Erişim.
Kilitler üç farklı seviyede uygulanabilir - Veritabanı, Tablo ve Satır.
Çoklu Değer Sıkıştırma (MVC) kullanarak NULL'lar dahil 255'e kadar değeri sıkıştırabilirsiniz.
FastLoad, verileri 64K bloklar halinde yükler. FastLoad'da 2 aşama vardır.
Faz 1'de veriyi 64K bloklar halinde getirir ve hedef AMP'lere gönderir. Daha sonra her AMP, satırları hedef AMP'lerine yeniden dağıtacaktır.
2. Aşamada, satırlar satır hash sıralarına göre sıralanır ve hedef tabloya yazılır.
MultiLoad içe aktarmanın beş aşaması vardır.
Phase 1 - Ön Aşama - Temel kurulum etkinliklerini gerçekleştirir.
Phase 2 - DML İşlem Aşaması - DML ifadelerinin sözdizimini doğrular ve bunları Teradata sistemine getirir.
Phase 3 - Edinme Aşaması - Giriş verilerini çalışma tablolarına getirir ve tabloyu kilitler.
Phase 4 - Uygulama Aşaması - Tüm DML işlemlerini uygular.
Phase 5 - Temizleme Aşaması - Masa kilidini kaldırır.
MULTILOAD DELETE bloklar halinde kayıtları sildiği için daha hızlıdır. DELETE FROM, satır satır silecek.
Saklanan prosedür bir veya daha fazla değer döndürürken, Makrolar bir veya daha fazla satır döndürebilir. SQL'e ek olarak, saklı yordam SPL ifadeleri içerebilir.
Hem FastLoad hem de MultiLoad, verileri 64K bloklar halinde yüklerken, BTEQ bir seferde bir satırı işler.
FastExport verileri 64K bloklar halinde dışa aktarırken, BTEQ her seferinde bir satırı dışa aktarır.
Teradata Parallel Transporter (TPT), verileri yüklemek / vermek için kullanılan yardımcı programdır. FastLoad, MultiLoad, BTEQ, TPUMP ve FastExport'un tüm işlevlerini birleştirir.
Kalıcı dergiler, değişiklikleri uygulamadan önce veya sonra verileri izler. Bu, masayı belirli bir duruma geri döndürmeye veya ileri doğru yuvarlamaya yardımcı olur. Kalıcı dergiler tablo seviyesinde veya veritabanı seviyesinde etkinleştirilebilir.
Teradata'da her AMP bir sanal diskle ilişkilendirilir. Yalnızca sanal diske sahip olan AMP, bu sanal diskteki verilere erişebilir. Buna Paylaşılan Hiçbir Şey Mimarisi denir.
Sorgu bölümlenmiş sütunlar kullanıyorsa, bu, performansı büyük ölçüde artıracak olan bölümlerin ortadan kaldırılmasına neden olur.
Bölüm, diğer bölümleri ortadan kaldırır ve yalnızca verileri içeren bölümlere erişir.
Eski bölümleri kolayca bırakabilir ve yeni bölümler oluşturabilirsiniz.
Evet. İkincil dizin, kalıcı alan gerektiren alt tablolar gerektirir.
Evet. Bölümlenmiş birincil dizin eklendiğinde, her satır bölüm numarası için ek 2 veya 8 bayt kaplar.
Qualify = 2 koşuluyla azalan sırada belirtilen sütunda RANK işlevini kullanabilirsiniz.
Daha fazla biriktirme alanı tüketen adımları belirlemek ve sorguyu optimize etmeye çalışmak için sorgunun EXPLAIN planını kontrol edebilirsiniz. İşlenmekte olan kayıtların sayısını azaltmak için filtreler uygulanabilir veya büyük sorguyu birden çok küçük sorguya bölebilirsiniz.
EXPLAIN komutu sorguya karşı kullanıldığında, optimize edicinin kayıtları alma konusundaki güvenini belirtir.
Teradata'da üç güven seviyesi vardır: Yüksek Güven, Orta Güven ve Düşük Güven.
Hem NUSI hem de Tam Tablo Tarama (FTS), tüm AMP'lere erişecek, ancak FTS, AMP içindeki tüm bloklara erişecek, NUSI ise yalnızca alt tablo uygun satırları içeriyorsa bloklara erişecektir.
BTEQ modunda, kayıtları atlamak için SKIP komutu kullanılabilir.
BYTEINT. Yalnızca bir bayt kaplar ve +127'ye kadar değerleri saklayabilir.
- Benzersiz Birincil Endeks aracılığıyla - 1 AMP
- Benzersiz Olmayan Birincil Endeks Aracılığıyla - 1 AMP
- Benzersiz İkincil Endeks aracılığıyla - 2 AMP
- Benzersiz Olmayan İkincil Endeks aracılığıyla - Tüm AMP'ler
Clique, Düğüm arızalarının üstesinden gelmek için bir koruma mekanizmasıdır. Bir grup düğümdür. Bir klik içindeki bir düğüm başarısız olduğunda, vprocs (Ayrıştırma Motoru ve AMP) diğer düğümlere geçecek ve sanal disklerinde okuma / yazma işlemleri gerçekleştirmeye devam edecektir.
Teradata, farklı seviyelerde koruma mekanizması sağlar.
Transient Journal - İşlem başarısızlığını gidermek için.
Fallback - AMP hatasını işlemek için.
Cliques - Düğüm arızasıyla başa çıkmak için.
RAID - Disk arızasını çözmek için.
Hot standby Node - Performansı etkilemeden Düğüm hatasını ele almak ve yeniden başlatmak.
ACTIVITYCOUNT, BTEQ'da önceki SQL sorgusundan etkilenen satırların sayısını verir. ACTIVITYCOUNT ifadesi bir insert deyimini takip ederse, eklenen satırların sayısını döndürür. ACTIVITYCOUNT ifadesi select deyimini takip ederse, seçilen satır sayısını döndürür.
Sırada ne var?
Ayrıca konuyla ilgili yaptığınız geçmiş ödevlerinizi gözden geçirebilir ve onlar hakkında kendinizden emin bir şekilde konuşabileceğinizden emin olabilirsiniz. Eğer daha tazeyseniz, görüşmeci çok karmaşık soruları yanıtlamanızı beklemiyor, bunun yerine temel kavramlarınızı çok güçlü hale getirmelisiniz.
İkincisi, birkaç soruya cevap verememeniz gerçekten önemli değil, ancak ne cevaplarsanız cevap vermiş olmanız önemlidir. Bu yüzden görüşmeniz sırasında kendinize güvenin. Tutorialspoint olarak, iyi bir mülakatçıya sahip olmanız için en iyi şansları ve gelecekteki çabalarınız için en iyisini diliyoruz. Şerefe :-)