SAP HANA Veritabanında Tablo Türleri, Indexleme ve Partitioning: Performans ve Veri Yönetimi Stratejileri

SAP HANA
Veritabanında Tablo Türleri, Indexleme ve Partitioning: Performans ve Veri
Yönetimi Stratejileri
Tablo
Türleri
SAP HANA'da kullanılan temel tablo türleri şunlardır:
CREATE COLUMN TABLE "SatirTablosu" (
"ID" INT PRIMARY KEY,
"Isim" NVARCHAR(50),
"Tarih" DATE );
CREATE COLUMN TABLE "SutunTablosu" (
"ID" INT,
"Isim" NVARCHAR(50),
"Tarih" DATE,
PRIMARY KEY("ID")
);
Indexleme
Stratejileri
Indexler, veritabanındaki sorguların hızını artırmak için
kullanılan önemli bir özelliktir. SAP HANA'da kullanılan bazı index türleri
şunlardır:
CREATE INDEX "IsimIndex" ON "SatirTablosu" ("Isim");
2-Bitmap Index: Belirli değerlere sahip verileri hızlı
bir şekilde bulmak için kullanılır.
CREATE BITMAP INDEX "TarihIndex" ON "SatirTablosu" ("Tarih");
3-Spatial Index: Mekansal verilerin etkili bir şekilde
sorgulanmasını sağlar.
CREATE SPATIAL INDEX "MekansalIndex" ON "SutunTablosu" ("GeometrySutunu");
Veri partitioning, büyük veri kümeleme görevlerini
kolaylaştırmak ve sorgu performansını artırmak için kullanılır. SAP HANA'da
yaygın olarak kullanılan partitioning türleri şunlardır:
1-Range Partitioning: Belirli bir sütundaki değer
aralığına göre veriyi bölme işlemidir.
CREATE TABLE "RangePartisyonluTablo" (
"ID" INT,
"Isim" NVARCHAR(50),
"Tarih" DATE
) PARTITION BY RANGE ("Tarih") (
PARTITION "20220101" <= VALUES < "20220115",
PARTITION "20220115" <= VALUES < "20220201",
PARTITION "20220201" <= VALUES < "20220215"
);
2-Hash Partitioning: Belirli bir sütundaki değerlere
dayalı olarak veriyi bölme işlemidir.
CREATE TABLE "HashPartisyonluTablo" (
"ID" INT,
"Isim" NVARCHAR(50),
"Tarih" DATE
) PARTITION BY HASH ("ID") PARTITIONS 4;
CREATE TABLE "HashPartisyonluTablo" (
"ID" INT,
"Isim" NVARCHAR(50),
"Tarih" DATE
) PARTITION BY HASH ("ID") PARTITIONS 4;
Performans
İyileştirmeleri
- Doğru
Tablo Türü Seçimi: Veri kullanımı ve iş yüküne bağlı olarak row store
veya column store tablo türünü seçmek önemlidir.
- Etkili
Index Kullanımı: İyi tasarlanmış indexler, sorgu performansını önemli
ölçüde artırabilir.
- Partitioning
Stratejileri: Veriyi mantıklı bir şekilde bölmek, büyük veri kümeleme
işlemlerini optimize edebilir.
Yorum Yap