13 Ağustos 2024

DWH Nasıl Kurulur?Neden Kurmalıyız?

 

DWH Nasıl Kurulur?Neden Kurmalıyız?

Öncelikle bir firma neden DWH kurmalı bundan bahsetmek lazım.Kaynak sistemleriniz DWH’ın yerini tutmaz.Neden?Çünkü kaynak sistemleriniz normalize yapıda kurgulanmıştır ve 100 satırlık select işlemleri veya 1 satırlık insert update işlemleri için idealdir.Ama biz DWH’da 30 milyon veriyi aynı anda select edebiliriz bu denormalize yapılarda daha efektifitir.Ayrıca günümüzde bir firmanın artık bir çok DB’si var bunlar arasında ilişki kopuk,bunları merkezi bir yerde buluşturup birbiri ile konuşmasını sağlamanız lazım.Ayrıca DWH’da var olan SCD ve Snapshot Fact tabloları ile biz DWH’da geçmişi güvenceye alırız.Kaynak sistemde bu veriler akar gider,loglanmadıysa bulamazsınızda geçmişi.Tüm bu ve diğer sebeplerden dolayı bir DWH yapısına ihtiyaç vardır.

DWH tek başına bir DB değildir aslında DWH yapısı dediğimizde işin içine ETL ve BI bacağıda girer bunu unutmayın.

DWH için bir çok alternatifiniz vardır bunu unutmayın sizin firmanıza en uygun çözümü bulmalısınız.Örneğin verileriniz zaten cloud’da tutuluyor herhangi bir yasal zorunluluğa takılmıyorsanız ve DBA-Devops vb ekipleriniz yok veya çok yoğun ise sizde cloud çözümleri seçebilirsiniz kurulumlarla ve DB ayakta mı gibi sorunlarla uğraşmazsınız.

Ayrıca maliyeti on-prem bir çözüme karşılık çok çok az olabilir.Ama bununda riski maliyetler yüksek gelebilir uzman değilseniz o yüzden dikkatli olmalısınız.

Veya Data Lake kuracağım diyebilirsiniz ama bu yapılar uzmanlarınız yoksa çok daha karmaşık hale gelebilir.İhtiyacınız gerçekten bir Lake olabilir ama DWH geçmişiniz yok ise zorlanırsınız.Peki bir klasik DWH mı bir Lake mi benim için iyidir?Eğer media,unstructured datalarınız yoksa Lake şu aşamada sizin için gereksiz olacaktır çünkü klasik DWH olarak kullanacaksınız zaten.

Peki DWH olarak bir çok ürün var ne seçmeliyiz?Yine burada cloud çözümlerini istemiyorsanız SQL Server,Oracle veya Postgresql’den birini seçebilirsiniz.En çok kullanılanı Oracle ve SQL server’dır.Elbette DBA’lerinizin DWH için uygun ayarlamaları yapması lazım.Örneğin log seviyesini minimum’a çekmesi lazım biz OLTP yapmayacağız.Bu konular DBA’nizin çözmesi gereken konular.

 

Peki ben illa bir ETL toolu almalıyım,PL/SQL,T-SQL’ler bu işi halledemez miyim?Bir süre belki ama halledemezsiniz.Çünkü bir çok kaynakdan veri almanız gerekecek hazır ETL toollarının gömülü bir çok connector’u var zaten.Monitoring’i var,gömülü schedule özellikleri var,Lineage özelliği var,diğer dilleri çalıştacak yetenekleri var vb.Peki hangi ETL toolu seçmeliyiz?Eğer cloud’a çıkabiliyorsanız ADF çok kolay bir tool fakat çıkamıyorsanız ve sağlam bir ETL toolu istiyorsanız ODI 12C,Informatica veya SSIS tercih edebilirsiniz.SSIS daha kolaydır öğrenmesi ama büyük firmalar için diğerleri daha iyi olabilir.Veya kod yazmayı seviyoruz hemde open-source birşey olsun derseniz Airflow’da işinizi görür.Ama elbette aynı teknoloji grubundan gitmek her zaman daha iyidir yani SQL server bir DWH seçtiniz SSIS veya Oracle DB seçtiniz ODI daha sorunsuz çalışacaktır.

Elbette ELT ve ETL kavramlarını duyarsınız bu aşamada SSIS ETL,Informatica ve ODI ELT aracı olarak geçsede SSIS ile de ELT yapabilirsiniz buna takılmayın.

 

Peki son bacağımız olan BI için ne seçmeliyiz?Öncelikle nasıl bir raporlama yapacaksınız?Ham data alıp bunları raporlama ekipleirniz kendisi mi inceleyecek ya da dashboard yapısında mı olacak herşey?Eğer ham data ile çok işimiz oluyor bizim için olmazsa olmaz derseniz OBIEE,SAP BO vb çözümler olabilir.Ama dashboard yapısında Power bi,Tableau,Qlick tercih edilebilir.Özellikle cloud’a çıkabiliyorsanız Power bi gayet iyidir ama on-premde tableau bir tık daha iyi gibi durduğunu söylemem lazım.Ama power bi on-premde çok ucuza denk geliyor lisans olarak özellike SQL server with assurance lisansı ile.Ayrıca diğer toollara nazaran Power bi ve tableau daha fazla developer ve communitye sahip bu ciddi bir avantaj.

Gördüğünüz gibi DWH kurmak zorunluluk ama en doğrusunu seçmek bir uzman görüşü istiyor,bir çok danışman firmadan bu konuda destek alabilirsiniz veya benle de iletişime geçebilirsiniz elimden geldiğince yardımcı olmaya çalışırım.

 

Bizim sektöre yeni başlayacak veya içinde olan arkadaşlarada nacizane tavsiye gördüğünüz gibi bir çok farklı teknoloji var her firma bunların farklı bir kombinasyonunu kullanıyor olabilir hepsinde uzmanlaşmanız mümkün değil ama mantığında uzmanlaşabilirsiniz ve DB,ETL,BI herhangi bir tanesinde uzmanlaştığınızda artık diğerlerinde iş yapmanız 1 ayınızı almaz.