Geleneksel Veri Tabanları ile In-Memory Veri Tabanları Üzerine Kısa Bir Kıyaslama...
1. Geleneksel Veritabanı Sistemleri Nedir?
· Bütün veri disk üzerinde depolanır. Ana hafızaya gerektiğinde veri taşımak için disk okuma/yazma işlemi gereklidir.
· Veri her zaman diskte kalıcıdır.
· Tabloları depolamak ve diske verimli bir şekilde indekslemek için tasarlanmış B-Ağaçları gibi geleneksel veri yapıları kullanılır.
· Veritabanı boyutu neredeyse sınırsızdır.
· Çok geniş bir işyükü alanını destekle; OLTP, Veri Depolama vs.
· MySql, Oracle, bu tip veritabanlarına örnek gösterilebilir.
2. In Memory Veritabanı Sistemleri Nedir?
· Bütün veri ana hafızada depolanır. Veriyi güncelleme yâda disk okuma/yazma işlemini çalıştırmaya gerek yoktur.
· Bellek içi veritabanı ürününe bağlı olarak veriler kalıcı veya uçucudur.
· Özelleşmiş veri ve dizin yapıları, verilerin daima ana bellekte olduğunu varsayar.
· Veritabanı boyutu ana bellek miktarı ile sınırlıdır.
· Günümüzde SAP HANA, bu yapılara başarılı örneklerden biridir.
3. In Memory Veritabanı vs Geleneksel Veritabanı, Performans Açısından Karşılaştırma
3.1. In Memory Veritabanı Sistemler’in Geleneksel Veritabanı Sistemlere Göre Avantajları
In Memory Veritabanı sistemleri, veriyi direk RAM üzerinde tuttuğu için, verinin proses edilmesi aşamasında diskte okuma/yazma işlemi yapmak gerekmemektedir. Bu nedenle veri işleme hızı, Geleneksel Veritabanı sistemlerine göre daha hızlı olmaktadır. SAP HANA gibi yapılar günümüzde in-memory veri tabanına iyi örneklerdir ve bu geleneksel veritabanlarına göre çok hızlılardır.
Kompleks veri modelleri, model evrimleştikçe zaman içerisinde yüksek hesaplama yükü getirmektedir. In-memory sistemler, verinin kompleks işlenmesi konusunda oldukça optimize bir çözüm sunduğu için avantajlıdır. Kompleks verilerde her iki yapının performans kaşılaştırması Şekil 4.1.1 de gösterilmiştir.
Şekil 4.1.1. Kompleks Veri Üzerinde In-Memory ve Geleneksel Veritabanı Yapılarının Performans Karşılaştırması
In-Memory Veritabanlarının performans olarak diğer bir avantajı da raporlamada ortaya çıkmaktadır. Geleneksel analitik ve raporlama, OLTP sisteminizi yavaşlatır ve sonunda ayrı bir OLAP sistemi gerektirir. In-Memory veritabanlarıyla, performansta düşüş olmadan, aynı veritabanı sunucusunda analitik, raporlama ve tam bir OLAP sistemi ekleyebilirsiniz.
In-Memory Veritabanları, yapılan gerçek zamanlı analizlerde, geleneksel veri tabanlarına göre daha avantajlıdır. Çünkü uygulama katmanı veya harici sistemler tarafından işlenmek üzere verileri veya alt kümesini almanıza gerek yoktur.
In-Memory Veritabanlarında, gelişmiş analitik işlemlerin uygulanması, örneğin denetlenen bir makine öğrenimi algoritmasının yürütülmesi, veri tabanında gerçekleşir ve uygulama katmanınızda kodlanmasına gerek yoktur. Bazı durumlarda, karmaşık bir veri manipülasyonunu çalıştırmak için uygulamanızda yalnızca bir kod satırı gerekebilir.
In-Memory veritabanları, genel olarak sistemlerde tüm gelişmiş analiz ihtiyaçlarını karşılar. Sisteme program entegre etmeyi kolaylaştırır. Bu yapılarda çalışan sistemler genellikle geleneksel sistemlere göre daha az yazılıma ihtiyaç duyar. Bu durum da sistem performansına olumlu yansımaktadır.
3.2. In Memory Veritabanı Sistemler’in Geleneksel Veritabanı Sistemlere Göre Dezavantajları
In Memory Veritabanları veriyi bilgisayar üzerinde sakladığı için, anlık elektrik kesintisi gibi aksamalarda verinin kaybedilme olasılığı yüksektir. Ancak işlenen veriyi direk saklayan geleneksel veritabanı sistemlerinde böyle bir risk söz konusu değildir. Bu durum geleneksel veritabanı sistemlerini, in-memory veritabanlarına göre aynı zamanda daha güvenilir kılmaktadır.
In Memory Veritabanı sistemleri, sahip olduğu hızlılık ve yüksek performans avantajını, çoğunlukla büyük verili büyük ölçekli yapılarda daha çok ortaya koymaktadır. Ancak bu fark, küçük ölçekli yapılarda fazla olmamaktadır. Bu nedenle sistemin maliyetinin de yüksek olması göz önünde tutularak veritabanı seçiminde in memory veritabanı seçim kararı, sistem büyük ölçekli ise verilmelidir.
In-Memory sistemlerinin bir dezavantajı da tüm verilerin belleğe sığması gerektiğidir. Bu, giderek daha uygun fiyatlı olmakta ise de, bellek boyutları hala çok gigabayt, disk boyutu ise çoklu terabayt olmaktadır. Bu yapıda yeterli bellek almak veya veritabanını sınırlamak gerekir.