2 Mayıs 2014 Cuma

SAP HANA - Yeni Nesil Bellekiçi Veritabanı


SAP HANA

SAP HANA ya da diğer ismiyle "High Performance ANalytic Appliance" bir bellekiçi ve kolon bazlı ilişkisel veritabanı sistemidir ve SAP tarafından geliştirilmiştir.
HANA, resmi olarak Mayıs 2010’da duyurulmuş, Kasım 2010’da ise 1.0 sürümü iş uygulamaları ve iş zekası için bellekiçi programlama özelliği ile pazarlanmaya başlamıştır. Eylül 2011’de SAP NetWeaver BW yazılımının HANA üzerinde desteği çıkartıldı. Ekim 2012’de bulut bilişimde HANA’nın kullanımı başlamış, HANA One ürünü SaaS olacak şekilde AWS (Amazon Web Services) üzerinden saatlik ücretle sunulmaya başlanmıştır. SAP ERP (Enterprise Resource Planning) ürünü Ocak 2013’te Business Suite’in bir parçası olarak HANA üzerinde kullanılabileceği duyurulmuş, Mayıs ayında ise hazır hale getirilmiştir.
HANA bir bellekiçi veritabanı olarak SAP’nin Büyük Veri Platformunda yer alan bir üründür. Veritabanına kaydedilen veriler hem kolon hem de istenirse satır bazlı olacak şekilde bellekte saklanır ve gerçek zamanlı raporlama, sorgulama ve analiz yapma imkanı tanımaktadır. Sorgulama dili ANSI SQL’dir. Yönetim grafiksel arayüzü ve aracı SAP HANA Studio’dur ve SAP HANA Client aracılığı ile HANA sistemine bağlantı kurulmaktadır.
HANA bir appliance’tır, yani yazılım ve donanımın bir arada tam ve entegre çalıştığı bir üründür. SAP’nin çeşitli donanım iş ortaklarından onaylanmış HANA donanımları tedarik edilir ve bu donanımların üzerine HANA veritabanı kurulur. Donanımlarda gelen bellek = veritabanı boyutu olarak hesaplanmaktadır ve her 1 TB bellek için 1 TB SSD disk (Log Volume) ve 4 TB SAS2 disk (Data Volume) yer ayrılmaktadır.


Transaction Yönetimi
HANA bir bellekiçi veritabanı olduğundan bünyesinde “persistance layer” isminde bir katman yer almaktadır. Bütün veriler, güncellemeler ve veri girişleri bellekte yapılır ve her commit işleminden sonra yapılan bu DML işlemleri persistance layer’daki log volume’una transaction kaydı olarak yazılır. Bu şekilde transaction’ların işlendiği garanti altına alınmaktadır. Belirli checkpoint’lerle (5-10 dakika, bu değer ayarlanabilmekte ayarlanabilmekte) arka plan görevleri çalışmakta ve güncellenen veriler bellekten disk ortamına (data volume) aktarılmaktadır. Dolayısıyla herhangi bir veritabanı hatasında, sistemin kapanmasında ya da verinin tekrar belleğe alındığı durumlarda data volume’dan veriler belleğe kademeli olarak aktarılmakta, ilk başlangıçta sanki bir disk-tabanlı veritabanı gibi açılmakta ve log volume’daki transaction’lar ileri sarılmakta ve veritabanına işlenmektedir.


Mimari Yapı


HANA, ünitelerle lisanslanmakta ve adlandırılmaktadır. Her 1 ünite HANA 64GB bellek içermektedir. 1 CPU 128GB veya 4 CPU 1TB donanım ölçeklendirmesiyle scale-out mimari desteklenmektedir. Birden çok HANA makinesini aktif ve pasif olacak şekilde kurgulayabilirsiniz. Ayrıca VMware ile HANA, sanal ortamda da kullanılabilmektedir.

Yedekleme&Yedekten Dönme
Persistance layer’daki log ve data alanları HANA’nın bellekiçi veritabanı mantığını sağlamlaştırırken, bu alanların yedeğini almak da mümkündür. Data ve undo bilgilerini SQL komutları veya HANA Studio kullanarak yedeklemek ve gerektiğinde dönmek mümkündür. Log alanının yedekleri ise asenkron olarak, ilgili alan dolduğu zaman çalıştırılmaktadır.


Birden çok node’un olduğu HANA ortamlarında yedekleme operasyonu herhangi bir müdahale olmadan otomatik olarak yönetilmektedir. Master name server ve index server gibi servislerin de yedekleri alınmaktadır. Her bir servis için bir tane yedekleme açılmakta ama paralel olarak alınabilmektedir.
Yedekleme operasyonunun lokasyonunu belirtme opsiyonumuz bulunmaktadır. SAP HANA Studio aracılığı ile başlattığımız yedekleme işlemini hem data hem de log yedekleri için NFS ile paylaşılan bir alana ya da dosya sistemlerine kaydedebiliyoruz.
SAP HANA veritabanında yedekleme kataloğu bulunmaktadır. Bu katalogda yedekleme yapılan operasyonun başlangıç/bitiş zamanları, yedeklemenin toplam süresi, boyutu ve aktarım miktarı gibi bilgiler yazılmaktadır. İlgili katalog veritabanında kalabildiği gibi log yedeklemesinin bir parçası olacak şekilde başka bir ortama alınabilmekte ve bu ortamda offline olarak görüntülenebilmektedir.

Yedekleme operasyonu tamamlandıktan sonra sistemde olası bir hata olduğu zaman yedekten dönebilmenin birkaç yolu bulunmaktadır. Bunlar;

1)     Veritabanının en son haline yedekten dönebiliriz. Peşpeşe alınmış log yedekleri işlenmekte ve eğer kaybolmadıysa log volume üzerindeki transaction’lar da işlenmektedir. Böylece veritabanı en son commit işlemine kadar ilerletilebilmektedir.
2)     Geçmiş zamanda bir noktaya yedekten dönebiliriz.
3)     İstenilen bir data yedeğini ya da snapshot’ını yedekten dönebiliriz (herhangi bir log replay olmadan).
SAP HANA, veritabanının bir kopyasının oluşturulmasını ve bu kopyadan diğer node’lara veri taşınmasını desteklemektedir.

Bütün bu yedekleme ve yedekten dönme operasyonları SAP HANA Studio tarafından desteklenmekte ve izlenebilmektedir. Ayrıca DBA Cockpit aracılığı ile sadece yedekleme, SQL komut satırından da yedekleme ve yedekten dönme işlemleri yapılabilmektedir.
SAP HANA üçüncü parti yedekleme arayüzleri ile de uyumludur. Symantec NetBackup 7.5, IBM Tivoli Storage Manager for Enterpise 6.4, Commvault Simpana 10.0, HP Data Protector 7.0 & 8.1 ve EMC NetWorker 8.2 araçları ile HANA’nın yedekleme operasyonlarını yapabilirsiniz.

Yüksek Erişilebilirlik
SAP HANA veritabanı pek çok alandan yüksek erişilebilirliği destekleyen bir yapı sunmaktadır. Bu yapının içerisinde yedekleme ve persistance layer adını verdiğimiz yapıdan bahsettim. Bunların dışında HA kapsamında yer alan diğer özellikler arasında sistem replikasyonu, depolama alanı replikasyonu, host auto failure ve service auto restart özellikleri yer almaktadır. Host auto failure kapsamında SAP HANA sistemine pasif cluster’lar eklenmekte ve herhangi bir birincil-aktif host çöktüğünde bu pasif host otomatik olarak devreye girmektedir. Sistem replikasyon tarafında ise uzaktaki bir ortama ana makinenin bir imajı kurulmakta ve işlenen her transaction bu yedek ortama da aktarılarak senkronizasyon sağlanmaktadır. Böylece birincil ortam çöktüğü zaman uzaktaki sistem ayağa kalkmaktadır (Felaket Kurtarma Merkezi). Bu yöntemlere ek olarak SAP’nin iş ortaklarının sunduğu ve depolama katmanında veri replikasyonu yapan yazılımlar da kullanılarak HANA yüksek erişilebilir hale getirilmektedir. Birincil veritabanı çöktüğü zaman bu yöntemle, uzaktan müdahale ile ikincil (yedek) sistem ayağa kaldırılmaktadır.

SAP River – Uygulama Geliştirme Aracı
SAP HANA, River ismine sahip bir uygulama geliştirme aracına, arayüzüne, programlama diline ve IDE’sine sahiptir. River, SAP HANA Studio içerisinde kullanılabilen ve direkt veritabanının üzerinde uygulama geliştirebildiğiniz bir ortamdır. SAP HANA 1.0 SPS07 ile birlikte Early Adoption Program (Ramp-up) kapsamında kullanılabilen bu programlama dili, özellikle startup firmalar ya da HANA’ya göç eden ortamlarda kullanılabilmektedir.
River ile çok hızlı bir şekilde back-end uygulamanızı geliştirdikten sonra HANA bellekiçi veritabanı üzerinde deploy ederek “gerçek” gerçek-zamanlı uygulama deneyimini test edebilirsiniz.

SAP Store
SAP’nin 200.000’den fazla kayıtlı müşterisinin bulunduğu bir pazar alanı bulunmaktadır, ismi SAP Store’dur. SAP’nin kayıtlı uygulama geliştiricileri SAP’nin sunduğu platformlar üzerinde uygulamalarını geliştirerek ve istenirse HANA da kullanılarak çözüm üretebilir, ürettikleri bu çözümleri SAP’nin store’unda pazarlayabilir. Buna ek olarak SAP Application Development Partner Center üzerinden 5 dakikada yapabileceğiniz kayıt işlemi ile (herhangi bir ücret ödemeden) sistemi hemen kullanmaya ve kod geliştirmeye başlayabilirsiniz.

Hiç yorum yok:

Takip et: @oganozdogan