TURKISH ORACLE USER GROUP Gürcan ORHAN Turkcell Teknoloji Ar. Ge. A.Ş. Yazılım Mimarı ve Deneyimli Yazılım Mühendisi http://gurcanorhan.wordpress.com http://www.twitter.com/gurcan_orhan http://tr.linkedin.com/in/gurcanorhan
BEN KİMİM ? Uludağ Üniversitesi Endüstri Mühendisliği 1992 - 2000 Aktif iş hayatı - 1994 İlk DWH projesi Altınyıldız DWH - 2003 Önemli DWH projeleri ; AVEA DWH Yeniden Yapılandırma Projesi Tekstilbank DWH ve Siebel CRM Marketing Automation Turkcell NODI (Network Operations Data Infrastructure) NODI projesinin Customer Snapshot’ı Oracle.com’da yayınlandı 2008’den itibaren Turkcell, 2010’dan itibaren Turkcell Teknoloji Oracle Bilgisayar Programı Kullanıcılar Derneği Genel Sekreteri
NERELERDEYDİM ? Önemli sunumlar ; Oracle Open World 2010 – San Francisco (22.10.2010) UKOUG Technology & E-Business Suite Conference – Birmingham (29.11.2010) Sakarya Üniversitesi Bilişim ve Teknoloji Şöleni – Sakarya (24.03.2011) ODTUG KScope ’11 – Long Beach, California (28.06.2011) OPN – BI Day – LinkPlus (29.09.2011) Oracle Open World 2011 - San Francisco (03.10.2011) Oracle Day ‘11 - İstanbul (01.11.2011) Fırat Üniversitesi Geleceğine Yön Ver - Elazığ (12.12.2011)
NELER YAPTIM ? http://www.oracle.com/oraclemagazine http://www.oracle.com/technetwork/issue-archive/2012/12-jan/index.html
NE KULLANIRIM ? Veri tabanı yönetim sistemleri ETL Model Tasarım Oracle Oracle Data Integrator Microsoft SQL Server Oracle Warehouse Builder Sybase ASE Informatica Sybase IQ Business Objects Data Integrator MySQL Herhangi bir ANSI database Model Tasarım İş Zekası Sybase Power Designer Oracle Business Intelligence CA ERWIN Cognos Business Objects Microstrategy
GLOSSARY DWH : Datawarehouse – Veri Ambarı DM : Data Mart – Veri Kümeleri BI : Business Intelligence – İş Zekası ETL : Extract – Transform – Load IK : Incremental Update – Artımsal Güncelleme SCD : Slowly Changing Dimension – Yavaş Değişen Boyutlar CDC : Change Data Capture – Değişen Veriyi Yakala OLTP : Online Transactional Processing – Operasyonel Sistemler OLAP : Online Analytical Processing – Küpler SA : Subject Area – Konu Alanı STG : Staging Area – Kademe Alanı DQ : Data Quality – Veri Kalitesi FACT : Fact (TRX) – Gerçekleşen (Hareket) DIM : Dimension – Boyut
HERŞEY NASIL BAŞLADI ?
GÜNÜN AJANDASI Veri Ambarı nedir, ne demektir? DWH & DM farkı nedir? DWH & OLTP farkı nedir? DWH bileşenleri nelerdir? ETL ne demektir? ETL tipleri nelerdir? Modelleme nedir, nasıl yapılmalıdır? Veri Kalitesi nedir, nasıl sağlanır? Veri Tabanı fiziksel yaklaşımları nelerdir?
DATAWAREHOUSE (DWH) NEDİR ? DWH tarihi EIS (Enterprise Information Systems) DSS (Decision Support Systems) Data Warehousing and Business Intelligence (DWH / BI) Bir veri ambarı; yönetim kararlarını destekleyici, konu yönelimli, entegre, uçucu olmayan ve zaman değişkenli veri kümesidir. (Bill Inmon - 1990) İş Zekası, verinin bilgiye dönüşümü işlemidir. (Gartner Group) DECISION Teknik Avantajları Paralel kullanımı (Parallelism) Veri Kümelemesi (Partitioning) Veri Sıkıştırması (Compressing) KNOWLEDGE INFORMATION DATA
GÜNÜN AJANDASI Veri Ambarı nedir, ne demektir? DWH & DM farkı nedir? DWH & OLTP farkı nedir? DWH bileşenleri nelerdir? ETL ne demektir? ETL tipleri nelerdir? Modelleme nedir, nasıl yapılmalıdır? Veri Kalitesi nedir, nasıl sağlanır? Veri Tabanı fiziksel yaklaşımları nelerdir?
DATAMART (DM) NEDİR ? Datamartlar Konu yönelimli Tümleşik Genellikle tek kaynak sistemden beslenir Bağımlı veya bağımsız olabilirler. Bağımlı DM : DWH’tan beslenen, kolay ETL, kurumsal planın parçası Bağımsız DM : Ayrık, operasyonel maliyeti yüksek, harici veri kaynaklarından beslenen, analitik ihtiyaçlara yönelik hazırlanan ÖZELİK DATA WAREHOUSE DATAMART İçerik Kurumsal Departmansal Konu Çok Tek özne, iş birimi odaklı Veri Kaynağı Çoğul Tekil Implementasyon Ay – Yıl Ay
GÜNÜN AJANDASI Veri Ambarı nedir, ne demektir? DWH & DM farkı nedir? DWH & OLTP farkı nedir? DWH bileşenleri nelerdir? ETL ne demektir? ETL tipleri nelerdir? Modelleme nedir, nasıl yapılmalıdır? Veri Kalitesi nedir, nasıl sağlanır? Veri Tabanı fiziksel yaklaşımları nelerdir?
DWH & OLTP ÖZELİK OPERASYONEL SİSTEM DATA WAREHOUSE Yanıt Süresi Milisaniye / Saniye Saniye / Saat Operasyon DML (Data Manipulation Language) Öncelikli olarak salt-okunur Veri doğası 30 – 60 gün Zamansal enstantane Veri Organizasyonu Uygulama Öznel, zamansal Veri Miktarı Küçük / Büyük Büyük / Çok Büyük Veri Kaynağı Operasyonel, Dahili Operasyonel, Dahili, Harici Aktiviteler Proses bazlı Analiz Bazlı OLTP : Operational Legacy Transactional Processing
GÜNÜN AJANDASI Veri Ambarı nedir, ne demektir? DWH & DM farkı nedir? DWH & OLTP farkı nedir? DWH bileşenleri nelerdir? ETL ne demektir? ETL tipleri nelerdir? Modelleme nedir, nasıl yapılmalıdır? Veri Kalitesi nedir, nasıl sağlanır? Veri Tabanı fiziksel yaklaşımları nelerdir?
DATAWAREHOUSE BİLEŞENLERİ OPERASYONEL KAYITLAR ARŞİV KAYITLARI DOSYALAR OPERATIONAL DATA STORE (ODS) DWH DM KAYNAK SİSTEMLER STAGING KATMAN KURUMSAL KATMAN SUNUM KATMANI METADATA REPOSITORY Bing Bang : Enterprise DWH tamamla, subject area bazlı DM hazırla Top-Down : Öncelikli subject area’ları tanımla, subject area’ı dolduracak DWH’i oluştur Bottom-Up : Source System bazında analizi tamamla, subject area’ları oluştur. DWH Yazılım Yaklaşımları Bing Bang Yaklaşımı Artımsal Yaklaşım Yukarıdan aşağıya artımsal (top-down incremental) Aşağıdan yukarıya artımsal (bottom-up incremental)
GÜNÜN AJANDASI Veri Ambarı nedir, ne demektir? DWH & DM farkı nedir? DWH & OLTP farkı nedir? DWH bileşenleri nelerdir? ETL ne demektir? ETL tipleri nelerdir? Modelleme nedir, nasıl yapılmalıdır? Veri Kalitesi nedir, nasıl sağlanır? Veri Tabanı fiziksel yaklaşımları nelerdir?
ETL NE DEMEKTİR? E-T-L (Extract – Transform – Load) Extraction Farklı kaynak sistemden, veri tabanından farklı formatlarla elde edilir. Kaynak sistemlerin canlı, arşiv, dahili ve harici verilerine erişebilir. Transform Veri hataları düzeltilir. Genellikle staging area (remote/on site) kullanılır Veri entegrasyonu sağlanır İş kuralları verilere uygulanarak veri doğrulaması gerçekleştirilir Veriler onaylanır Verilere zaman entegre edilir. Load Elde edilen temizlenmiş veri DWH ortamına yazılır
GÜNÜN AJANDASI Veri Ambarı nedir, ne demektir? DWH & DM farkı nedir? DWH & OLTP farkı nedir? DWH bileşenleri nelerdir? ETL ne demektir? ETL tipleri nelerdir? Modelleme nedir, nasıl yapılmalıdır? Veri Kalitesi nedir, nasıl sağlanır? Veri Tabanı fiziksel yaklaşımları nelerdir?
ETL ÇEŞİTLERİ Truncate & Load Kaynak sistemden elde edilen verilerin tümünün silinerek yeniden yapılandırılması. Incremental Update Kaynak sistemden elde edilen birincil anahtarlar (Primary Key) yardımı ile «yeni geleni ekle, mevcut olanı güncelle, silineni işaretle» yaklaşımı. Change Data Capture (CDC) Slowly Changing Dimensions Type II (SCD) Kaynak sistemden elde edilen veriler tarihsel olarak saklanarak hiçbir veri silinmez. Tarihsel yaklaşım.
ETL PROBLEMLERİ Kaynak sistemdeki tablonun unusable olması Kaynak sistemdeki dosyaya erişilememe Yetersiz metadata Zayıf veya yetersiz analiz süreci Yetersiz yer (storage) planlama Kaynak sistemde yapısal değişiklikler Yetersiz veri validasyonu Hatalı mantıksal / fiziksel model dizaynı Veri tipi uyumsuzlukları
GÜNÜN AJANDASI Veri Ambarı nedir, ne demektir? DWH & DM farkı nedir? DWH & OLTP farkı nedir? DWH bileşenleri nelerdir? ETL ne demektir? ETL tipleri nelerdir? Modelleme nedir, nasıl yapılmalıdır? Veri Kalitesi nedir, nasıl sağlanır? Veri Tabanı fiziksel yaklaşımları nelerdir?
MODELLEME İş modelinin oluşturulması (Business Model) Strateji analizinin yapılması İş birimi tanımlarının ve kurallarının belirlenmesi İş ihtiyaçlarının belirlenmesi Mantıksal modelin oluşturulması (Logical Model) İlişki ve ilişki tiplerinin belirlenmesi Fact ve Dimension’ların tespit edilmesi Sonuçların mantıksal olarak üretilerek konu alanlarının tespit edilmesi Nesnelerin isim ve renk standartlarının belirlenmesi Fiziksel modelin oluşturulması (Physical Model) Donanım ihtiyaçlarının tespit edilmesi Tablo ve index için disk kapasitesi ihtiyacının belirlenmesi Partition stratejisinin belirlenmesi Güvenlik stratejisinin belirlenmesi
MODELLEME Third Normal Form (3NF)
MODELLEME Star Schema
MODELLEME Snowflake Schema
GÜNÜN AJANDASI Veri Ambarı nedir, ne demektir? DWH & DM farkı nedir? DWH & OLTP farkı nedir? DWH bileşenleri nelerdir? ETL ne demektir? ETL tipleri nelerdir? Modelleme nedir, nasıl yapılmalıdır? Veri Kalitesi nedir, nasıl sağlanır? Veri Tabanı fiziksel yaklaşımları nelerdir?
VERİ KALİTESİ NEDİR? Beklenen veri, beklenen yerde, beklenen şekilde bulunmaz ise veri kalitesi problemi ortaya çıkar. Farklı anlama gelen data Eksik bilgi, verinin farklı alanda olması Veri tipi farklılığı Veri boyutu farklılığı Veri doğrulama kurallarının olmaması Drill-Down olmaması İlişkisel bütünlüğün olmaması, öksüz kayıtların varlığı Veri duplikasyonu
GÜNÜN AJANDASI Veri Ambarı nedir, ne demektir? DWH & DM farkı nedir? DWH & OLTP farkı nedir? DWH bileşenleri nelerdir? ETL ne demektir? ETL tipleri nelerdir? Modelleme nedir, nasıl yapılmalıdır? Veri Kalitesi nedir, nasıl sağlanır? Veri Tabanı fiziksel yaklaşımları nelerdir?
FİZİKSEL ORTAM Fact tablo karakteristikleri İş birimlerinin kullanacağı nümerik metrik değerleri içerir Büyük miktarda veri içerir Çabuk büyür, çok hızlı genişler Stabil, Türetilmiş veya Özetlenmiş veri içerir Genellikle ekleme yapılır Genellikle dimension tablolarla foreign key ile ilişkilidir Dimension tablo karakteristikleri İş birimlerinin görmek istedikleri metin tipteki veriyi içerirler Genellikle statik veri içerirler Boyutları küçüktür Truncate Load mekanizmasına uygundur Slowly Changing Dimensions tablo karakteristikleri Genellikle link tablolarıdır (Fact – Dimension linki) Fact üzerindeki dimension’ın tarihçe bilgilerini tutarlar
FİZİKSEL ORTAM Partitioning Range Partition Hash Partition List Partition Index Partition Composite Partition Indexing B-Tree Index Bitmap Index Function Based Index Partitioned Index Star Genellikle link tablolarıdır (Fact – Dimension linki) Fact üzerindeki dimension’ın tarihçe bilgilerini tutarlar Materialized View Fiziksel yer kaplayan, istendiği zaman refresh edilebilen view yapısı
SONUÇ
Gürcan ORHAN TEŞEKKÜRLER http://gurcanorhan.wordpress.com http://www.twitter.com/gurcan_orhan http://tr.linkedin.com/in/gurcanorhan