Analizime dayanarak, veri ambarımız için eksiksiz bir boyutsal model 200'den fazla kaynak tablodan çıkarılmasını gerektirecektir. Bu tablolardan bazıları artımlı bir yükün parçası olarak çıkarılacak ve diğerleri tam yük olacaktır.
Not etmek gerekirse, hepsi aynı şemaya sahip yaklaşık 225 kaynak veritabanına sahibiz.
Gördüğüm kadarıyla, OLE DB kaynağı ve OLE DB hedefi ile SSIS'de basit bir veri akışı oluşturmak, sütunların ve veri türlerinin tasarım zamanında belirlenmesini gerektirir. Bu, sonuçta sadece ayıklama için 200'den fazla veri akışı ile sonuçlanacağım anlamına geliyor.
Sürdürülebilirlik açısından bakıldığında bu beni büyük bir sorun olarak görüyor. Çıkarma kodunda bir çeşit süpürme değişikliği yapmam gerekirse, 200 farklı veri akışını değiştirmem gerekirdi.
Alternatif bir seçenek olarak, bir dizi meta veri tablosu kümesinden ayıklamak istediğim kaynak veritabanlarını, tablo adlarını ve sütunları okuyan küçük bir komut dosyası yazdım. Kod, birden çok döngüde çalışır ve bağlantılı bir sunucu ve OPENQUERY aracılığıyla kaynak tablolardan ayıklamak için dinamik SQL kullanır.
Testlerime dayanarak, bu hala bir OLEDB kaynağı ve hedefi ile bir SSIS veri akışı kullanmak kadar hızlı değil. Bu yüzden ne tür alternatiflerim olduğunu merak ediyorum. Şimdiye kadar düşünceler şunları içerir:
- Programlı olarak basit veri akışı ile SSIS paketleri oluşturmak için EZAPI kullanma . Çıkarılacak tablolar ve sütunlar, daha önce belirtilen aynı meta veri tablolarından gelirdi.
- 3. taraf yazılım satın alın (dinamik veri akışı bileşeni)
Buna yaklaşmanın en iyi yolu nedir? .NET programlama söz konusu olduğunda yeni başlayan biriyim, bu yüzden sadece temel bilgilerle rampa etmek için gereken süre de bir endişe kaynağı.