SAP HANA, verileri diskten çok ana bellekte (RAM) tutarak işleyen, sütun tabanlı çalışabilen ve hem işlemsel hem analitik iş yüklerini aynı platformda birleştiren bir ilişkisel veritabanı yönetim sistemidir. SAP SE tarafından geliştirilir ve şirketin S/4HANA gibi kurumsal uygulamalarının temel veri katmanıdır. Bu rehberde SAP HANA'nın ne olduğunu, mimarisini, kullanım alanlarını ve diğer veritabanlarından farkını sade biçimde ele alıyoruz.

SAP HANA Nedir?

SAP HANA, ana belleği birincil veri saklama katmanı olarak kullanan bir bellek içi (in-memory) veritabanıdır. Geleneksel sistemlerde veriler öncelikle diskte durur ve sorgu anında belleğe okunur; SAP HANA'da ise sıcak veri sürekli bellekte tutulur, disk ise kalıcılık (persistence) ve kurtarma için kullanılır. Bu yaklaşım, disk giriş/çıkışını darboğaz olmaktan çıkarmayı ve karmaşık sorguların yanıt süresini kısaltmayı hedefler.

HANA aynı zamanda ilişkisel bir sistemdir: veriler tablolarda tutulur, standart SQL ile sorgulanır ve ACID özellikleriyle işlem bütünlüğü sağlanır. Bunun yanında birçok modern veritabanı gibi çok modelli yetenekler (uzamsal, grafik, JSON belge, metin arama ve makine öğrenmesi) tek motorda toplanmıştır.

Bellek İçi ve Sütun Tabanlı Mimari

SAP HANA'nın iki ayırt edici tasarım kararı vardır: verinin çoğunlukla bellekte tutulması ve tabloların çoğunlukla sütun tabanlı (columnar) saklanması. Satır tabanlı depolamada bir kaydın tüm alanları yan yana durur; sütun tabanlıda ise aynı sütunun değerleri bir arada tutulur. Analitik sorgular genellikle az sayıda sütunu milyonlarca satır boyunca taradığı için sütun düzeni, hem okunacak veri miktarını hem de sıkıştırma oranını iyileştirir.

Sütun deposu, sözlük kodlaması (dictionary encoding) gibi tekniklerle tekrar eden değerleri kompakt biçimde saklar. Bu sıkıştırma, aynı donanımda daha fazla verinin bellekte tutulabilmesini sağlar. Yazma işlemleri önce bir delta alanına alınır, ardından delta merge adı verilen süreçle sıkıştırılmış ana depoyla birleştirilir; böylece hem hızlı yazma hem verimli okuma dengelenir.

Aynı Sistemde İşlemsel ve Analitik İş Yükü

Geleneksel kurumsal mimaride işlemsel sistem (OLTP) ile raporlama/analitik sistem (OLAP) genellikle ayrılır; veriler gecelik ETL süreçleriyle bir ambara taşınır. SAP HANA, aynı veritabanı üzerinde hem yoğun işlem hem analitik sorgu çalıştırmayı hedefleyen bir yaklaşım sunar. Bu yaklaşım genel olarak hibrit işlemsel/analitik işleme (HTAP) olarak adlandırılır.

Pratikte bunun anlamı, canlı işlemsel veriler üzerinde ayrı bir kopya oluşturmadan raporların çalıştırılabilmesidir. Bu, veri kopyalama ve gecikmeyi azaltabilir; ancak tek sistemde iki iş yükünü birlikte yürütmek, kaynak planlaması ve modelleme açısından dikkatli tasarım gerektirir.

Satır Deposu ve Sütun Deposu Karşılaştırması

ÖlçütSatır deposu (row store)Sütun deposu (column store)
Veri düzeniKaydın tüm alanları bir aradaAynı sütunun değerleri bir arada
Güçlü olduğu iş yüküSık tekil kayıt okuma/yazma (OLTP)Geniş tarama ve toplama (OLAP)
SıkıştırmaGörece sınırlıSözlük kodlamayla yüksek olabilir
Tipik kullanımAz sayıda, sık değişen tabloBüyük olgu/analiz tabloları
HANA'da varsayılan eğilimSeçime bağlıÇoğu senaryoda tercih edilen

SQL, SQLScript ve Programlama Modeli

SAP HANA, standart SQL ile sorgulanır. Bunun ötesinde, sunucu tarafında karmaşık mantık yazmak için SAP'nin prosedürel dili olan SQLScript kullanılır. Ağır hesaplamaların veriye yakın, yani veritabanı motorunda çalıştırılması ("code pushdown"), veri taşıma maliyetini azaltmayı amaçlayan yaygın bir desendir.

Aşağıda basit bir sütun tablosu oluşturup toplama sorgusu çalıştıran örnek yer alıyor:

sql
-- Sütun tabanlı bir tablo oluşturma
CREATE COLUMN TABLE satislar (
  id        BIGINT PRIMARY KEY,
  urun      NVARCHAR(80),
  bolge     NVARCHAR(40),
  tutar     DECIMAL(15,2),
  tarih     DATE
);

-- Bölgeye göre toplam ciro
SELECT bolge, SUM(tutar) AS toplam_ciro
FROM satislar
WHERE tarih >= '2026-01-01'
GROUP BY bolge
ORDER BY toplam_ciro DESC;

Yeniden kullanılabilir mantık için tablo değeri döndüren prosedürler yazılabilir. SQLScript, ara sonuçları değişkenlerde tutarak birden çok adımı motor içinde zincirlemeye olanak tanır:

sql
CREATE PROCEDURE bolge_ozeti (IN yil INT)
  LANGUAGE SQLSCRIPT AS
BEGIN
  ozet =
    SELECT bolge, SUM(tutar) AS toplam
    FROM satislar
    WHERE YEAR(tarih) = :yil
    GROUP BY bolge;

  SELECT * FROM :ozet ORDER BY toplam DESC;
END;

Çok Modelli Yetenekler

SAP HANA yalnızca tablo tabanlı ilişkisel veriyle sınırlı değildir. Tek motor içinde birden çok veri modelini ve analiz türünü barındırmayı hedefler:

  • Uzamsal (spatial): Coğrafi/geometrik verilerle konum tabanlı sorgular.
  • Grafik (graph): Düğüm ve kenarlarla modellenen ilişki ağları için işleme.
  • Belge/JSON: JSON belgelerini saklama ve sorgulama yetenekleri.
  • Metin analitiği ve arama: Serbest metin üzerinde tam metin arama ve dil işleme.
  • Tahmine dayalı analiz ve makine öğrenmesi: Yerleşik algoritma kütüphaneleriyle veriye yakın modelleme.

Bu yeteneklerin tek platformda toplanması, farklı analizler için ayrı sistemler kurma ihtiyacını azaltmayı amaçlar. Yine de her modülün kendi tasarım ve lisans koşulları olabileceğini planlama aşamasında değerlendirmek gerekir.

SAP S/4HANA ve Ekosistemdeki Rolü

SAP HANA'nın kurumsal dünyada öne çıkmasının başlıca nedeni, SAP'nin yeni nesil kurumsal kaynak planlama (ERP) paketi SAP S/4HANA'nın yalnızca HANA üzerinde çalışacak biçimde tasarlanmış olmasıdır. Benzer şekilde veri ambarı ürünü SAP BW/4HANA da HANA'yı temel alır.

Bu bağımlılık, HANA'yı bir veritabanından öte, SAP uygulama yığınının veri katmanı hâline getirir. Dolayısıyla SAP HANA'yı değerlendiren kurumların çoğu, onu bağımsız bir veritabanı olarak değil, SAP uygulamalarıyla birlikte bir bütün olarak ele alır.

Dağıtım Seçenekleri: Şirket İçi, Bulut ve Hibrit

SAP HANA farklı çalıştırma modellerini destekler. Şirket içi (on-premise) kurulumlar genellikle sertifikalı donanım ve desteklenen Linux dağıtımları üzerinde yapılır. Bulut tarafında ise SAP'nin yönetilen hizmeti SAP HANA Cloud öne çıkar; ayrıca büyük bulut sağlayıcılarının altyapılarında da çalıştırılabilir.

ModelKısacaTipik değerlendirme
Şirket içi (on-premise)Kendi veri merkezinizdeTam kontrol; donanım ve işletim sorumluluğu sizde
SAP HANA CloudSAP tarafından yönetilen hizmetİşletim yükü azalır; abonelik modeli
HibritŞirket içi + bulut birlikteKademeli geçiş ve esneklik

Kalıcılık, Yedekleme ve Yüksek Erişilebilirlik

Bellek içi ifadesi bazen yanlış anlaşılır: SAP HANA verileri yalnızca uçucu bellekte tutup elektrik kesildiğinde kaybetmez. Bellekteki durum düzenli aralıklarla diske kayıt noktaları (savepoint) hâlinde yazılır ve her işlem bir işlem günlüğüne (redo log) kaydedilir. Böylece yeniden başlatma veya bir arıza sonrası sistem, en son tutarlı duruma dönebilecek biçimde tasarlanmıştır.

Üretim ortamlarında iş sürekliliği için ek mekanizmalar kullanılır. Sistem çoğaltma (system replication), verinin ikinci bir HANA sistemine sürekli aktarılmasını sağlayarak bir düğüm devre dışı kaldığında hizmetin devamına yardımcı olur. Düzenli yedekleme ve bu yedeklerin geri yükleme testleri, herhangi bir kurumsal veritabanında olduğu gibi burada da ihmal edilmemesi gereken temel disiplinlerdir.

Veri Modelleme: Hesaplama Görünümleri

SAP HANA'da raporlama ve analitik için mantık, çoğu zaman fiziksel tablolar yerine hesaplama görünümleri (calculation views) üzerinden modellenir. Bu görünümler; birleştirme (join), toplama, filtreleme ve hesaplama adımlarını bir araya getiren, çalışma anında hesaplanan sanal katmanlardır. Amaç, iş mantığını tek yerde toplayıp farklı uygulamaların aynı tanımı tutarlı biçimde kullanmasını sağlamaktır.

Bu modelleme yaklaşımı, sorgu mantığının motor içinde optimize edilmesine ve gereksiz veri taşınmasının azaltılmasına katkıda bulunur. Modelleme araçları zamanla geliştiğinden, güncel HANA sürümünün önerdiği yöntemleri esas almak yerinde olur.

Diğer Veritabanlarıyla Nerede Ayrışır?

SAP HANA'nın konumunu anlamak için onu yaygın ilişkisel sistemlerle karşılaştırmak faydalıdır. Genel amaçlı kurumsal veritabanlarını değerlendiriyorsanız Oracle Database ve Microsoft SQL Server yazılarımız iyi bir karşılaştırma zemini sunar. SAP ekosistemi içinde kalıp klasik işlemsel iş yüklerine bakıyorsanız, SAP'nin diğer veritabanı olan Sybase / SAP ASE yazımız ilgili olabilir.

Sütun tabanlı analitik yaklaşıma ilgi duyuyorsanız, aynı felsefeyi paylaşan Vertica gibi çözümleri incelemek, HANA'nın analitik yönünü bağlama oturtmanıza yardımcı olur. Tüm ailelerin haritasını görmek içinse veritabanı türleri rehberimize göz atabilirsiniz.

Avantajlar ve Dikkat Edilmesi Gerekenler

Öne Çıkan Yönler

  • Bellek içi ve sütun tabanlı tasarımla karmaşık sorgularda hızlı yanıt hedefi.
  • İşlemsel ve analitik iş yüklerini tek platformda birleştirme (HTAP) yaklaşımı.
  • Uzamsal, grafik, JSON, metin ve makine öğrenmesi gibi çok modelli yetenekler.
  • SAP S/4HANA ve BW/4HANA ile sıkı entegrasyon.
  • Şirket içi, bulut ve hibrit dağıtım esnekliği.

Göz Önünde Bulundurulması Gerekenler

  • Bellek merkezli mimari nedeniyle RAM ihtiyacı ve donanım maliyeti önem kazanır.
  • Lisanslama ve boyutlandırma, kurumsal ölçekte titiz planlama gerektirir.
  • En büyük değeri SAP uygulamalarıyla birlikte kullanıldığında ortaya çıkar; bağımsız senaryolarda alternatifler de değerlendirilmelidir.
  • İşletim, yedekleme ve yüksek erişilebilirlik için uzmanlık gerekir.

SAP HANA Kimler İçin Uygun?

SAP HANA, tipik olarak SAP uygulamalarını (özellikle S/4HANA veya BW/4HANA) kullanan ya da kullanmayı planlayan orta ve büyük ölçekli kurumlar için anlamlıdır. Bu kurumlar için HANA, ayrı bir tercih olmaktan çok, SAP yığınının doğal veri katmanıdır. Gerçek zamanlı raporlama ihtiyacı yüksek, işlemsel ve analitik veriyi bir arada tutmak isteyen senaryolarda değeri belirginleşir.

Öte yandan SAP ekosistemi dışında, küçük ölçekli veya bütçe duyarlı projelerde çoğunlukla daha hafif ve açık kaynak seçenekler tercih edilir. Böyle durumlarda veritabanı türleri rehberindeki alternatifleri iş yükünüze göre değerlendirmek daha uygun olabilir.

Sık Sorulan Sorular

SAP HANA bir veritabanı mı yoksa uygulama mı?

Temelde bir veritabanı yönetim sistemi ve veri platformudur. Ancak SAP'nin S/4HANA gibi uygulamalarının veri katmanı olduğu için çoğu zaman daha geniş bir platform olarak konuşulur.

SAP HANA verileri yalnızca bellekte mi tutar?

Sıcak veri bellekte tutulur, ancak kalıcılık için diske yazma (persistence) ve günlükleme yapılır. Böylece yeniden başlatma ve kurtarma sonrasında veri kaybı olmadan çalışması hedeflenir.

Standart SQL çalışır mı?

Evet, SAP HANA standart SQL'i destekler; ek olarak sunucu tarafı mantık için SQLScript gibi araçlar sunar.