SAP Business Warehouse, Türkçe adıyla işletme için veri ambarlama danışmanı olarak çok karşılaştığım bir terim olan DSO ve ODS üzerinde hem kendime hem de çalışma yapanlara kafa karışıklığını ortadan karldıracak netleştirmeler yapmak istiyorum. Önce kısaltmaların açık yazımlarıyla başlayayım; DSO Data Store Object teriminin kısaltmasıdır. ODS ise Operational Data Store nesnesinin kısaltmasıdır.
DSO SAP ekosisteminde Bussiness Warehousing ( BW ) veri madenciliğinde işlenen işlem (transactional) verilerini, çok boyutlu veri saklama nesnesi olan küplerin (InfoCube) aksine anlamlı ve kullanışlı olacak biçimde temizlenmiş (cleansed), birleştirilmiş (consolidate) küçük parçalara ayrılmış biçimde ( granular level ) saklandığı BW nesneleridir. Çok boyutlu veri nesneleri olan InfoCube (bilgi kübü) ün aksine 2 boyutlu anahtar sayıları (key figure) ve karakteristik (characteristic) verilerinden oluşan veri tabanı tablolarıdır (flat database table). DSO tablolarında veriler birleştirilebildiği (aggregate) gibi üzerine de (over written) yazılabilir.
DSO tablolarının fonksiyonu nedir?
DSO tabloları verinin uyumlu hale getirilmesini (harmonize) bu sayede InfoCube çok boyutlu tabloları için toplanabilir/özetlenebilir bir forma sokulmasını sağlarlar. Örneğin veri kaynaklarının ilkinde 13 haneli kaydedilmiş müşteri numarası ile diğerinde 7 haneli saklanan müşteri numarası veri kaybını önlemek adına BW veri çekmelerinde 13 haneli forma sokulur.
İkinci olarak InfoCube ‘ün aksine DSO tabloları kayıtlı verinin üzerine yazabilir ya da yeni veriyi eklenebilir. Üzerine yazma ya da ekleme veri çekme tasarımında kurulan delta mantığına bağlıdır.
Üçüncü olarak DSO tablolarını doğrudan raporda kullanabiliriz yalnız normal raparlama senaryolarında derinlemesine (drill down) inilerek veri incelenecek ise DSO dan InfoCube’ e veri akışı gereklidir.
3 tip DSO tablosu vardır;
- Standart DSO
- Write Optimized DSO
- Direct Update DSO
DSO/ODS in SAP Data Warehouse daki Fonksiyonu
İlk fonksiyonu verilerin InfoCube (bilgi küpleri) ne aktarılmadan önce uyumluluğunu sağlamaktır. Şöyle bir örnek daha iyi anlamaya yardımcı olacaktır. Kaynak veri tabanlarından A kaynağında müşteri numarasının 13 karakterlik yapıda, B kaynağında ise 10 karakterlik bir yapıda saklandığını varsayalım. DSO/ODS nesnesi oluşturulurken her hangi bir veri kaybı oluşmaması için müşteri numarasının uzunluğunu uyum sağlaması için 13 karakter olarak depolayacaktır.
İkinci fonksiyonu InfoCube lerin aksine ODS/DSO da verilerin üzerine yazma, veri ekleme veya hiç güncellememe seçilebilir. Bu seçim tasarım aşamasında ve delta mekanizmasında yapılacaktır.
Üçüncüsü, DSO/ODS leri doğrudan raporlama için kullanabiliriz. Halbuki genelde tasarlanan raporlama senaryolarında InfoCube den DSO/ODS e doğru dril down (derinlemesine analiz) yapılabilmesi amaçlanır.
Standart DSO Mimarisi
BW exraction and load (çıkarma ve yükleme) işlemi süresince standart DSO/ODS ler veriyle doldurulur. Bu dolduma 3 tablo ile yapılır;
- Activation Queue (aktivasyon kuyruğu) : Bu tablo güncellenmiş DSO/ODS kayıtlarını saklar, kayıtlar henüz aktifleştirilmemiştir (not activated). Aktifleştirilen kayıtlar bu tablodan silinir. Buradaki kayıtlar aktifleştirilene kadar BEx raporlarında kullanılamazlar.
- Active Data Table (aktifleştirilmiş veri tablosu) : Veri transferi tetiklendiğinde ilk olarak bu tabloya yazılırlar. Dönüştürme ve delta işleminde tanımlanmış biçimiyle bu tabloda aktif veriler birleştirilmiş, eklenmiş, silinmiş veya güncellenmiş olarak saklanırlar. Bu tablodaki kaytılar BEx raporlarında kullanılabilir.
- Change Log Table (değişiklik kayıt tablosu) : Aktivasyon işlemi sürecinde belirlenen dönüşüme bağlı olarak değişiklikler (silme, güncelleme, ekleme, birleştirme) bu günlük tablosuna kaydedilir. Bu tabloda tüm geçmiş değişiklikleri tam olarak bulabilirsiniz çünkü tablonun içeriği otomatik olarak silnmez. DSO’daki delta aktarımları tetiklendiyse InfoCube ve DSO/ODS gibi hedef nesneler change log tablosundaki kayıtlara göre güncellenirler.
![How A DSO Is Made](https://i0.wp.com/www.saptraininghq.com/wp-content/uploads/2012/03/MC_144893160_2.png?w=1080)
write optimized DSO mimarisi
Yazmak için optimize edilmiş (write optimized) DSO/ODS BW sistemine kaynak sistemlerden gelen verilerin ilk kaydedildiği basamaktır. Sonradan buradaki veriler başka bir küp ya da DSO’ya taşınır. Bu ODS’in amacı tamamen hız kaygısıdır. Write optimized DSO’nun geçici depolama katmanı olarak kullanılması hızlı veri yüklemeleri için en iyi yöntem olacaktır.
Write optimized DSO’lar tek tablo barındırır, active data table. Buradaki püf nokta verinin bir sonraki basamak için aktif alanda erişilebilir olmasını sağlamaktır. Bu DSO’nun tamamen hız için kullanılır.
Direct Update DSO mimarisi
Bu ODS önceki sürüm olan 3.x’deki transactional ODS’den başka birşey değildir. Tek tablo içerir; active data table. Direct update DSO/ODS birçok kullanıcı tarafından aynı anda güncellenebilen verinin ulaşılabilir olmasını sağlar.
DSO/ODS’leri Nasıl Oluşturabilirim?
DSO/ODS gibi bütün BW objelerini SAP GUI ekranında RSA1 t-code ile oluşturabileceğiniz gibi artık Eclipse eklentisi olarak çalışan BW Modeler ile de oluşurabilirsiniz. SAP GUI dışındaki araçlara parantezdeki bağlantılardan erişebilirsiniz.(Eclipse , HANA Studio, BW Modeller)
Yazım aşağıdaki kaynaklardan faydalanarak derlenmiş ve türkçeleştirilmiştir.
0 Comments