Rastgele Yazılar : Kullanıcı güvenliği ve yetkileri
Rastgele Yazılar : SQL Server Reporting Service Parametre Kullanımı
Rastgele Yazılar : EXTERNAL TABLE - 2
Rastgele Yazılar : Oracle Hatalarını Output'a yazdırmak ve Loglamak
Rastgele Yazılar : Real Application Clusters Yazılımı Mimarisi
Rastgele Yazılar : Nedir bu Data Warehouse?
Rastgele Yazılar : SQL Server da Index Kavramı ve Kullanımı -1
Rastgele Yazılar : Oracle Database 11g Bileşenleri Ve Mimarisi-1
Rastgele Yazılar : Oracle Recovery Manager (RMAN) - Recovery Catalog Datab...
Rastgele Yazılar : Oracle Veritabanı İpuçları
ETL ve ELT nedir ,yapısal farklılıkları nedir,ne zaman ,hangisini kullanmalıyız gibi sorularınıza cevap verebilmek için bu makalemizi yazıyorum.Faydalı olması dileğiyle
Öncelikle herbir kısaltmanın açılımına bakalım;
E(Extract) : Veriyi kaynak sistemden alma anlamına gelir.Bilindiği gibi veri ambarı yapılarında birçok farklı kaynak sistem ve flat files(excell,csv,txt...vb) kullanılır.Veriyi birçok farklı sistemden yardımcı araçlar veya kod ile alabiliriz.
T(Transform) : Verilerin birçok farklı sistemden geldiğini söyledik.Bu farklı sistemden gelen verilerin bizim yapımıza uygun olması için belli bir dönüşümlerden geçmesi gerekmektedir.Verinin temizlenmesi,kalitesinin arttırılması lazımdır.
Veri farklı kaynaktan gelmese bile verinin herbir veri ambarı yapısında farklı karakteristik özelliklerde davranması gerekebilir.İşte bu yüzden staging alanındaki bir veri ile veri ambarındaki aynı verinin formatı farklı olabilir.İşte bu noktada transform bu işlemlerin genel adını kapsayabilir.
L(Load) : Verilerin kaynak sistemden gelip hedef sisteme yüklenmesi anlamına gelir.
ETL Sistemleri
ETL sistemlerinde veri kaynak sistemden alınır,transform edilir ve son adımda veri ambarına (veya staging alanına/data martlara..vb) yüklenir.Burda ETL avantajlarından söz edecek olursak;
Bence en büyük katkısı metadata yönetimini ELT te göre çok çok fazla yapmasıdır.Transform aşaması için ayrı bir sunucuya gerek yoktur.
ELT ye göre daha karmaşık işler olmaktadır.Veri olduğu gibi yüklenmek yerine belli bir yapıda değişerek gelmektedir.Kaynak ve hedef sistemler birbirinden bağımsız bir yapıdadır.ETL sistemleri için birçok tool olduğundan yönetimi ve kabiliyeti daha fazladır.
Dezavantajları
Yapı tasarlandıktan sonra yeni eklenecek veya sistemden silinecek veri için yapının uçtan uca tekrar çalıştırılması olmaktadır.Hedef sisteminize yüklenen bir verinin yanlış olduğunu düşünüyorsanız kaynak sistemde veriyi değiştirip tekrar transform edip o şekilde almanız gerekecektir.Bu da zaman ve maliyet demektir.
ETL donanımlarının pahalılığı ve öğrenme olayının da etkisi düşünülürse küçük bir dejavantaj gibi algılanabilir.
ELT Sistemleri
Öncelikle veriye erişimin çok kolay olduğu bir yapıdır.Veri kaynak sistemden alınıp hedef sisteme yüklendikten sonra transform olayı gerçekleştirilmektedir.Veri ambarınızın bir kopyası oluşturup temizlenene ve kalitesi arttırılan veriler, oluşturdugunuz veri ambarı yapısına aktarılır.
Avantajlarından bahsedecek olursak;
ETL yapısına göre daha esnektir.Verinin kopyası oluşturuldugu için daha güvenli bir yapıdır.Veri belli bir gruplara ayrıldığı için yönetimi daha kolaydır.ETL yapılarına göre maliyet’i daha düşüktür.DBMS yapılarında daha çok işe yaramaktadır.
Sınırlı sayıda bu yapıları destekleyen toollar vardır.Bu yüzden uygun aracı bulmak zordur.Ayrıntılı bir metadata ve cdc(change data capture) yönetimi yoktur.
Her iki yapınında kendine özgü artıları ve eksileri vardır.Ama günümüzde daha çok tercih edilen yapılar ETL yapılarıdır.Veri ambarı yapınızı modellerken bu yapıları çıkartmalı ve ihtiyaca göre bu sistemleri kurmalısınız.
Kaynaklar :
http://trianzblog.com
http://en.wikipedia.org/wiki/Extract,_transform,_load