Arkadaşlar Merhaba ;
Datawarehouse hakkında genel bilgiler vermek istiyorum .Öncelikle datawarehouse nedir ? hakkındaki kısa yazımızı okumak için linke tıklayalım . Şimdi konuya hemen giriş yapalım .
Kısaca yeni nesil veri ambarı olan microsoft sql server 2012 parelel datawarehouse ' a kısaca değinmek isterim.
PDW (parelel datawarehouse) : veri analizlerini hızlı bir şekilde çalıştırmak ve tek bir cihaz içerisinde depolamayı , birkaç tb 'dan 6 petabayt'a kadar ölçeklendirebilmemize imkan sağlayan yeni nesil bir platformdur .PDW , sistemimize en yüksek performansı sunmak için önceden yapılandırılmış ve kurulmuş donanım ve yazılımla gelir . PDW sade bir tasarıma sahiptir. Bu sayede hem öğrenilmesi hemde yönetilmesi kolaydır .
O zaman bu platformu neden tercih etmeliyiz ?
- Ölçeklenebilir: Diğer sistemler de (oracle , sql server 2008 vs. daha fazla veri saklayabilmek için daha fazla sunucu almak gerekirken , PDW de mevcut sisteme yapılan ilavelerle büyür.
- Hızlı: Büyük ölçekli parelel işlem (MPP) tasarımı sayesinde sorgular. Geleneksel veri ambarları ile kıyaslandığında ortalama 50 kat daha hızlı bir şekilde tamamlamaktadır .
- Güvenilir : Yüksek yedeklilik ve yüksek süreklilik için tasarlanmıştır .
- Kullanım ve Yönetim Kolaylığı :
- Yüksek Süreklilik :
- *** Hadoop İle Entegrasyon : PDW 'nin PolyBase teknolojisi , t-sql kullanarak Hadoop verilerini sorgulamamıza ve ilişkisel verilerinizle birleştirmemize imkan verir. PolyBase 'in T-SQL 'in arabirimini kullanarak hadoop içerisinde MapReduce sorgularını zorlanmadan veri madenciliği , raporlama ve analizler gerçekleştirebiliriz.
- Yüksek Sıkıştırma Oranı : PDW , verilerini disk üzerinde tutmak için bellek için kümelenmiş columnstore dizilerini kullanarak yüksek sıkıştırma oranları elde eder. Bu Sayede depolama masraflarını azaltırb ve sorgu performansını artırır / iyileştirir .
- Hızlı veri yükleme kolaylığı : PDW verilerinizi sql server 2012 'den 7 kat daha hızlı yükler. Nedeni ise veri parelel olarak sql server'ın birden çok belleğine yüklenir .
- Daha fazla veri tutma kolaylığı : Ölçeklendirilebilir mimarisi , kapasite eklemeyi kolaylaştırılır. Bu sayede raporlama ve analiz için daha fazla veriyi çevrimiçi olarak tutabiliriz . Ayrıca smp sistemlerinde olduğu gibi verilerimizi bölümlere ayırabilir ve ihtiyacımıza göre belirli bölümleri veri ambarımızda arşivleyebiliriz .
- İş Zekası araçlarıyla entegrasyon : İş zekası araçları entegrasyonu sayesinde veri madenciliği ve analiz çözümleri için kapsamlı bir platforma dönüşür. Reporting services , analysis services vs vs gibi microsoft iş zekası çözümleri ile entegre olur .
Veri Ambarları ; veriler üzerinde analiz amaçlı sorgulamalar yapmak için özelleştirilmiş bir veritabanıydı .
İlişkisel veri tabanı ; işlemler ve olaylar ile ilgili verileri saklar ve sürekli bir veri giriş-çıkış içerisinde olan bir yapıydı . O zaman veri ambarlarına biz , bu veri tabanındaki verilerle ve diğer dış kaynaklardan alınan verilerin derlenip arşivlenmesi ile oluşturulan , dönemsel analizlerin yapılmasına olanak sağlayan yapılardır , diyebiliriz .
--------------------------------------------------------------------------------------------------------------------------
OLAP ve OLTP : OLAP (On-Line Analytical Processing---Çevrimiçi Analitik İşlem): veriler üzerinde çok boyutlu analizler yapılmasına imkan sağlayan yaklaşımdır. OLAP veri ambarlarına ait sorgulama ve oluşturma işlemlerini de kapsar . Ancak sıkça yapılan bir hataya dikkat çekmek isterim Veri ambarı ve OLAP terimleri birbirleri yerine kullanılması yanlış bir yaklaşımdır .Veri ambarı özel bir veri tabanı iken OLAP eldeki verilerin üzerinde çok boyutlu sorgular yapmayı kolaylaştıran bir analiz yaklaşımıdır . OLTP(On-Line Transaction Processing---Çevrimiçi İşlem) :Operasyonel veritabanındaki işlemleri kapsar . Bu veritabanları "transaction " temelli sistemlerdeki veriler anlıktır.Ve sürekli değişirler. Normalize biçimde tasarlanan bu veri tabanları hızlı sorgulama işlemlerine cevap verirler . Tablolar arası ilişkiler sayesinde veri tekrarı olmaz .
--------------------------------------------------------------------------------------------------------------------------
Güzel Bir Makale:
Veri Ambarı Nedir?
Veri ambarı transaction işlemlerinden (insert, update, delete) daha çok sorgulama veya analiz etme işlemleri (select) için tasarlanmış, içinde tarihsel verileri barındıran ilişkisel veya OLAP veri tabanlarıdır. Çoğunlukla OLTP veri tabanlarından elde edilen tarihsel verilerden oluşmaktadır ancak başka veri kaynaklarından da veriler içerebilmektedir. OLTP veri tabanları verileri hızlı, tekrardan uzak ve kayıpsız şekilde tutabilmek için tasarlanmaktadırlar. Bu durumda veriler normalize koşullarına uyarlanarak genellikle çok fazla tabloya yayılacak şekilde tutulmaktadır. OLTP veri tabanlarındaki veri büyüklüğü arttıkça bu veri tabanlarından verileri sorgulamak gittikçe zorlaşmaktadır. Yüzlerce transaction’ın yapılmaya çalışıldığı bir anda bu tablolara SQL sorguları göndererek sonuçları beklemek, veri tabanının birincil amacıyla çelişen bir durumdur. İşte bu noktada verilerin transaction miktarı daha düşük, SQL sorgularına daha hızlı cevap verebilecek yapılardan çekilmesi gerekliliği ortaya çıkmaktadır. Veri ambarları bu iş yükünü ayırdıkları gibi çoklu veri kaynaklarından gelen verilerin işlenmesi ve uyumlulaştırılması sonucunda daha detaylı analizler yapma imkanı sağlamaktadırlar. Bu sayede tarihsel verilerin yönetimi kolaylaştırılmakta ve kuruluşların verilerini daha iyi anlama ve yorumlama yeteneği kazandırmaktadır. Veri ambarlarındaki verilerin güncellenebilmesi için ETL (extract, transform, load) süreçleri işletilmelidir.
Veri ambarları verileri analiz etmeye yardımcı olmaları için tasarlanırlar. Örneğin şirketin satış rakamları hakkında daha detaylı bilgiler verir veya önümüzdeki yıl hangi müşteri en iyi müşteri olabilir gibi veri madenciliği konularında veri kaynağı olarak görev yapar. Çoklu kaynaklardan veri elde ediliyorsa bu verilerin uyumuna dikkat edilmelidir. Tutarsız veri isimleri veya meta veriler mutlaka uygun formatlara çevrilmelidir. Veri kaynaklarından farklı olarak silme, güncelleme veya ekleme işlemleri yapmaktan kaçınılmalıdır. Veri kaynaklarında ne varsa o veriler veri ambarında da olmalıdır.
OLTP ve VERİ AMBARI YAPILARI ARASINDAKİ FARKLAR
OLTP veri tabanlarında transaction sayısı veri ambarlarına göre çok daha fazladır.
OLTP veri tabanlarında transaction’lar günün her anında düzensiz olarak gerçekleşebilirken veri ambarlarında bu, veri aktarım zamanlarında daha düzenli bir yapı içerisinde gerçekleşmektedir. İş gereksinimlerine göre günlük, saatlik, aylık, haftalık aktarımlar ile veri ambarındaki transaction’lar düzenli bir şekilde oluşturulabilirler.
OLTP veri tabanlarında indeksler sıklıkla kullanılmaktadırlar. Veri ambarlarında indeksler veri aktarımlarını yavaşlattıkları gerekçesiyle sıklıkla tercih edilmezler.
OLTP veri tabanları normalize tablo yapılarında oluşturulduklarından veriler çok sayıda tabloya dağıtılmıştır. Veri ambarlarında ise farklı tablolardaki veriler bir araya getirilerek oluşturulurlar. Dolayısıyla veri ambarılarında tablo join’lerinin sayısı daha az olması hedeflenmektedir.
OLTP veri tabanlarında veri tekrarından olabildiğince kaçınılmaktadır. Veri ambarlarında ise SQL sorgularının daha hızlı gelebilmesi için veri tekrarı çok daha fazla yapılmaktadır. Veri ambarları denormalize olarak tasarlanırlar.
OLTP veri tabanlarında satır satır detay bilgiler mevcuttur. Veri ambarlarında ise özet tablolara sıklıkla rastlanmaktadır.
OLTP veri tabanları hızlı veri yazılması işlemleri odaklı tasarlanırken, veri ambarları Ad Hoc sorguları ve veri analizleri için tasarlanırlar.
Veri ambarlarındaki veriler yalnızca aktarım süreçleriyle güncellenmelidirler. Sql sorguları yazılarak dışarıdan veri güncellemesinden kaçınılmalıdır. OLTP veri tabanlarına ise kullanıcılar sürekli veri güncellemeleri yapabilmektedirler.
Bir veri ambarı sorgusunda genellikle binlerce satırlık veri işlenmektedir. Örneğin 2013 yılındaki toplam satışlar. OLTP veri tabanında ise genellikle daha sınırlı sayıda veri ile sorgulama yapılmaktadır. Örneğin 150 id’li müşterinin bilgileri.
Kaynaklar: The Data Warehouse Toolkit by Ralph Kimball.