SQL Server 2016’da Real-Time Operational Analytics – 1

Günümüzde işletmeler kendilerini geliştirmek, iyileştirmeler veya değişiklikler yapmak için gerekli bilgileri elde edebilmek adına Analitik konusuna daha fazla odaklanıyor ve bu konuya yoğun şekilde yatırımlar yapıyorlar. Analitik, işletmelerin potansiyel eğilimlerini belirlemek, verilerin etkilerini analiz etmelerine yardımcı olmak, geçmişteki verilerden anlamlı sonuçlar çıkararak firmalar arası rekabete katkı sağlamak ve maliyet ve kaynakları optimize etmek adına işletmeler için önemli bir kaynaktır.  Bu veriler operasyonel süreçlerden elde edilebildiği gibi, sosyal medya gibi platformlardan veya araştırma şirketleri veya devlet kuruluşlarından gelen verilerle de temin edilebilir. Elde edilen bu veriler ise yapılması planlanan reklam kampanyaları, ürün ve hizmetler ile ilgili yeni teklifler için verilecek kararlarda ve verilecek bu kararların sonuçlarını tahmin etmede ve şirketin kredi puanlaması gibi güncel verilerin analiz edilmesinde çok önemli bir girdi olarak kullanılmaktadır. Tüm bu süreçlerde Analitik birkaç yıldır kullanılmakla birlikte bu süreçte bazı zorluklar yaşanmaktadır. Örneğin, işletmelerin operasyonel süreçlerinde kullandığı mevcut sistemleri etkilememesi için ayrı bir Analitik sistemine sahip olması gereklidir. Ayrı bir Analitik sistemine sahip olunması ise firmalara ek maliyet yükü (donanım, yazılım lisansları, geliştirme vb.) getirmekle birlikte aynı zamanda veri gecikmesine de neden olmaktadır. Bu gecikme ise Analitik sistemlerin çalışma periyotlarına bağlı olarak değişebilmektedir. İşte bu noktada SQL Server 2016 ile birlikte gelen yeniliklerden olan Real Time Operational Analytics ile birlikte analitik işlemler için başka bir sisteme ihtiyaç duymadan hem operasyonel hem de analitik iş yükünü tek bir sistemde gerçekleştirmeniz mümkün olmaktadır. Bu yazı serisinde sizlere bu yeni özelliği derinlemesine aktarıyor olacağım.

Real-Time Operational Analytics Nedir?

Günümüzde kullanılan veritabanı sistemlerine bakıldığında operasyonel ve analitik için farklı sistemler kullanılmaktadır. Operasyonel sistemlerden kasıt OLTP işlemlerinin gerçekleştirildiği sistemlerken, Analitik sistemlerden kasıt ise veri ambarı, data mart’lar gibi verinin analiz için net bir şekilde ayrıldığı sistemlerdir. Verileri operasyonel sistemlerden analiz için kurmuş olduğunuz sistemlere taşımanız için ise düzenli olarak ETL işlemleri gerçekleştirmeniz gerekmektedir. Bu yapı uzun zamandan beri kullanılıyor olsa da bu süreçte üç temel zorluk yaşanmaktadır:

  • Maliyet: Analiz için ayrı bir sistemin kullanılması ekstra donanım ve yazılım lisanslarına ihtiyaç duymanıza, ETL süreçlerinin modellenmesine ve bu süreçlerin uygulanabilmesi için geliştirme çalışmalarına ihtiyaç duyulmasına ve bu ayrı sistemin bakımı için ilave masraflar harcamanıza neden olmaktadır.
  • Karmaşıklık: ETL süreçleri mevcut yapınız göz önüne alındığında çok karmaşık olabilmektedir. Yapılan araştırmalar ETL geliştirmelerinin toplam analitik süreçlerin %70’ini kapsadığını göstermektedir. Ayrıca bu taşıma sürecinde yapmış olduğunuz ETL yapısının operasyonel sistemin çalışması üzerinde yapacağı etkiyi de hesaba katmanız gerekir.
  • Veri Gecikmesi: Ayrı bir analitik sistemin olması doğal olarak bir veri gecikmesine neden olur. Bu veri gecikmesi sizin ETL işlemlerinizi ne sıklıkla çalıştırdığınıza bağlı olacaktır. Eğer ETL paketinizi gün sonlarında çalıştırırsanız, analitik süreciniz bir günlük gecikmeye sahip verilerle işleyecektir. Yani en iyi senaryoda analitik verileriniz son başarılı ETL gerçekleştirilene kadar geçerli olacaktır. Günümüz iş süreçleri düşünüldüğünde bu veri gecikmesi kabul edilemez. Yapılacak analizlerin canlı ve gerçek zamanlı veriler üzerinden yapılması gerekir.

Şimdi, hem operasyonel hem de analitik sistemlerinizin hızlı / verimli bir şekilde işletme hedeflerini gerçekleştirmesinin yanı sıra, canlı verilerle, kendi üzerinde, gerçek zamanlı raporlar ve analitik sorguları çalıştırma becerisini tek bir sistemde birleştirdiğinizi düşünün. İşte SQL Server 2016’nın sunmuş olduğu Real Time Operational Analytics özelliğinin hedeflediği senaryo tam olarak budur. Geliştirilmiş Columnstore indeksleri kullanarak, doğrudan işleve yönelik iş yükünüz ile alakalı analitik sorguların çalıştırılmasını sağlar. Böylece, verilerin farklı sistemlere taşınması esnasında yaşanan gecikme de ortadan kaldırılmış olur.

Geleneksel Analitik Mimarisi

Geleneksel analitik mimarisini en iyi anlatan şekil aşağıdaki gibidir. Şekilde görüldüğü gibi analitik / raporlama için gerekli verileri depolamak adına ayrı bir veritabanı bulunmaktadır. OLTP sistemden analitik sistemine belirli zaman aralıklarıyla verileri taşıyan bir ETL yapısı bulunmaktadır. Sunum veya Görsel katman doğrudan veri ambarına bağlanabileceği gibi bu süreç SSAS ile de gerçekleştirilebilir. Bu süreçte SSAS’in kullanımı, multi-dimensional modelleme yapabilme, küp oluşturma gibi birçok avantaj sağlar.

1

Bu mimari çoğunlukla kullanılmasına rağmen günümüz ihtiyaçları düşünüldüğünde işletmeler gerçek zamanlı analitik talep etmektedirler. Peki gerçek zamanlı analitik süreci nasıl işlemektedir?

Real-Time Operational Analytics Süreci

SQL Server 2012 ile birlikte kullanımına başlanan Columstore indeks mimarisi, SQL Server 2014 ile birlikte güncellenebilir Clustered Columnstore indeks ile daha da geliştirilerek kullanıma sunuldu. SQL Server 2016 ise bu teknolojiyi daha ileri bir seviyeye götürerek tamamen güncellenebilir non-clustered Columnstore indeks yapısını kullanıma sundu.

Non-Clustered ColumnStore indeks, verileri B-tree yapıdakinden farklı olarak satır odaklı değil, kolon odaklı tutmaktadır. Bu yeni yaklaşım, birkaç kolonun fakat birçok satırın çağrıldığı sorgu sonuçlarının etkileyici hızda elde edilmesini sağladı. Hatta satır sayısı belli bir sınırı aştıktan sonra performans artışı çok daha fazla olmaktadır. Bu tasarım sayesinde analitik sorguları gerçek zamanlı olarak güncel veri üzerinde çalıştırmak mümkündür. Bu yapı hem geleneksel disk tabanlı hem de optimize edilmiş bellek tabloları için çalışmaktadır. Aşağıdaki şekilde operasyonel sistem üzerinde analitik süreçlerin oluşturulduğu Real Time Operational Analytics mimarisi gösterilmektedir. Bu süreçte dilerseniz Dashoard ve Reporting işlemlerini SQL Server Analysis Server ile de gerçekleştirmeniz mümkün. Bu yapı, analitik işlemler doğrudan operasyonel veriler üzerinde gerçekleştiğinden yukarıda belirttiğimiz dezavantajları da gidermektedir. Bu sayede operasyonel sisteminize ek bir yük getirmeden analitik işlemlerinizi hızlı ve performanslı bir şekilde gerçekleştirmeniz mümkün olmaktadır.

2

Bu yazıda geleneksel analitik mimarisine, karşılaştığı zorluklara ve SQL Server 2016 ile birlikte kullanıma sunulan ve hem operasyonel hem de analitik süreçleri aynı veritabanı tablolarında aynı anda çalıştırma olanağı sunan Real Time Operational Analytics özelliğinin bu zorlukların üstesinden nasıl geldiğine baktık. Bir sonraki yazıda görüşmek dileğiyle.

Bu yazı Genel içinde yayınlandı ve , , olarak etiketlendi. Kalıcı bağlantıyı yer imlerinize ekleyin.

Yorum bırakın