Bir SSIS dönüşümünün engellemediğini, kısmen engellediğini veya tamamen engellediğini nasıl belirlerim?


12

SSIS Dönüşümlerini engelleme (eşzamansız), engellemesiz (eşzamanlı) ve kısmen engelleme (eşzamansız) olarak kategorize ettiğini iddia eden birkaç blog vardır.

Belirli bir soruyu incelerken: Çok noktaya yayın senkronize mi (engellemiyor) veya asenkronize mi (kısmen engelliyor)?

Bir kaynak zaman uyumsuz olduğunu iddia ediyor: "Çok Noktaya Yayın asenkron (kısmen engelleme olarak da bilinir) dönüşümüdür" kaynağı: http://social.technet.microsoft.com/wiki/contents/articles/7392.ssis-multicast-transformation.aspx

ve başka bir senkron: https://jorgklein.com/2009/04/14/ssis-lookup-is-case-sensitive/

Diğer kaynaklar, DQS Temizleme dönüşümünün engellemeyen bir dönüşüm olduğunu iddia ediyor, ancak bana göre kısmen engelli gibi görünüyor .

Lütfen türe göre kategorilere ayrılmış bir dönüşümler listesi bağlantısıyla yanıt vermeyin. Bu sorunun cevabı, doğru cevabı kanıtlamak için daha titiz bir yöntem sağlayacaktır.

Kısmen engelleme ve engelleme dönüşümleri, yerinde tampon üzerinde çalışan engellemenin aksine verileri yeni tamponlara taşıyacağından, çözümün dönüşüm yürütme sırasında tampon oluşturmayı izlemek olacağından şüpheleniyorum, ancak emin değilim (a ) kesin bir cevap üretip getirmeyeceği ve (b) bunun nasıl yapılacağı.

Bloke olmayan bir dönüşümün yeni bir yürütme ağacının başlamasına neden olmayacağına inanıyorum, bu yüzden cevabın PipelineExectionTrees ve PipelineExecutionPlan günlüğüne kaydedilmesi mümkündür. Bu senkron ve asenkron arasında ayrım yapabilir, ancak kısmen engelleme ve tamamen engelleme arasında ayrım yapmayabilir.


3
Çoklu yayın eşzamanlıdır. Senkronize ve asenkron için hızlı sniff testi, lineageid'in (2012 öncesi) bir dönüşümden önce ve sonra aynı olup olmadığıdır. 2012'ye ve şimdi nasıl çalıştığına bakayım.
billinkc

2
Engelleme davranışı ve eşzamanlılık aynı şey değildir. Eşzamanlılık, verilerin yeni bir arabelleğe taşınması gerekip gerekmediği, bloklama ise her satırın hemen işlenip işlenemeyeceği ile ilgilidir. Örneğin, Birliği Tümü engellemez, ancak eşzamansızdır - yeni bir tampon ve yeni bir yürütme iş parçacığı oluşturur, ancak bunu yapmak için beklemesi gerekmez.
Rob Farley

@Rob - aynı şey olmadığını kabul ederken (asenkron kısmen veya tamamen engelleyebilir) - jorg_klein blog aslında Birlik Kısmen kısmen engelli olduğunu belirtir. Veriler yeni ara belleğe taşınmış gibi anlaşmaya meyilliyim, sezgi beni kısmen engelleyeceğini düşünmeye yönlendiriyor. Yanlış kanıtlanabilirse ve sezgim yanlışsa, soruya cevap verecek kadar iyi!
Thronk

Bunun nasıl test edilebileceği hakkında bir fikri olan var mı? Performans veya bilgi günlükleri emin olmak için kullanılabilir sanırım ama tam olarak hangisi emin değilim.
Nick.McDermaid

1
Bu ipucunu

Yanıtlar:


4

Engellenen bir işlem, arabellekleri doldurmaya başlamadan önce tüm satırlar görülene ve işlenene kadar beklemelidir.

Kısmen engelleme yapan işlemler, yeni arabelleklere veri yazar; bu, yalnızca her arabellek (genellikle 10.000 satırın hemen altında) doldurulduktan sonra bir sonraki işlem tarafından işlenir.

Engellemeyen bir işlem, sonraki satırın her satır işlendiği için aynı arabellek üzerinde çalışmasını sağlayabilir.

Ancak, birçok metin 'kısmen engelleme' ifadesini 'engellememe' olarak anacaktır, çünkü davranış 'engellememe'ye' engellemekten çok daha yakındır.

Veri akışının çalışmasını izleyerek ve her noktada sayıların ne zaman arttığını görerek neler olduğunu anlayabilmelisiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.