Bellek-içi tablo / hızlandırma
Oracle
-- Database In-Memory ile tabloyu bellekte tut:
ALTER TABLE siparis INMEMORY;
-- Bellek boyutu (init parametresi):
ALTER SYSTEM SET inmemory_size = 4G SCOPE=SPFILE;Oracle Database In-Memory sık sorgulanan tabloları bellekte sütunsal biçimde tutarak analitiği hızlandırır (ayrı lisans). OLTP için ayrıca Buffer Cache ve KEEP pool sık erişilen bloğu bellekte tutar. Bellek-içi çözüm kalıcılığı diskteki satır biçimiyle korur.
PostgreSQL
-- Kalıcılığı olmayan hızlı tablo (WAL yazmaz):
CREATE UNLOGGED TABLE gecici_hesap (id int, veri text);
-- Oturuma özel geçici tablo (bellekte tutulmaya yatkın):
CREATE TEMP TABLE oturum_veri (id int) ON COMMIT DELETE ROWS;PostgreSQL adanmış bellek-içi tablo motoru sunmaz; UNLOGGED tablo WAL yazmayı atlayarak yazmayı hızlandırır (çökmede içerik kaybolur, kalıcı değildir). TEMP tablolar oturum ömürlüdür ve temp_buffers ile bellekte tutulmaya çalışılır. Sıcak veri shared_buffers'ta önbelleklenir.
MySQL
-- MEMORY (HEAP) depolama motoruyla tablo:
CREATE TABLE onbellek (
id INT PRIMARY KEY,
veri VARCHAR(100)
) ENGINE=MEMORY;MySQL MEMORY (eski adıyla HEAP) depolama motoru tablo verisini tamamen RAM'de tutar; çok hızlıdır ancak sunucu yeniden başlayınca veri kaybolur (yapı kalır). BLOB/TEXT desteklemez ve sabit satır boyutu kullanır. Kalıcı sıcak veri için InnoDB buffer pool tercih edilir.
SQL Server
-- In-Memory OLTP: bellek-optimize tablo
CREATE TABLE dbo.oturum (
id INT NOT NULL PRIMARY KEY NONCLUSTERED,
veri NVARCHAR(100)
) WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA);SQL Server In-Memory OLTP (Hekaton) bellek-optimize tablolar (MEMORY_OPTIMIZED=ON) ve kilitsiz (latch-free) yapılarla yüksek eşzamanlı OLTP sağlar. DURABILITY=SCHEMA_AND_DATA veriyi kalıcı, SCHEMA_ONLY yalnız şemayı korur. Bellek-optimize dosya grubu gerektirir.
MongoDB
-- Sıcak veri WiredTiger önbelleğinde otomatik tutulur.
-- Önbellek boyutunu ayarla (varsayılan RAM'in ~%50'si):
// mongod --wiredTigerCacheSizeGB 8
// veya yapılandırma: storage.wiredTiger.engineConfig.cacheSizeGBMongoDB'nin ayrı bir bellek-içi tablo tipi yoktur (eski In-Memory Storage Engine yalnız Enterprise'daydı ve kullanımdan kalktı). Varsayılan WiredTiger motoru sık erişilen veriyi ve index'leri bellek önbelleğinde (cache) tutarak okuma hızını artırır; işletim sistemi dosya önbelleği de katkı sağlar.
Redis
# Redis zaten tümüyle bellek-içi çalışır; ek işlem gerekmez.
# Kalıcılık ve bellek politikası ayarları:
CONFIG SET maxmemory 4gb
CONFIG SET maxmemory-policy allkeys-lruRedis veriyi tümüyle RAM'de tutar; bu tasarımı gereği yüksek hızının kaynağıdır. Kalıcılık RDB (snapshot) ve/veya AOF (komut log'u) ile sağlanır. maxmemory sınırı ve eviction politikası (LRU/LFU/random) bellek dolduğunda davranışı belirler.
Elasticsearch
-- Uygulanamaz: tümüyle bellek-içi tablo modu yoktur.
# Sıcak/soğuk mimari ile sıcak veriyi hızlı düğümlere yerleştir:
PUT satis/_settings
{ "index.routing.allocation.require.data": "hot" }Elasticsearch veriyi disk üzerinde (Lucene segmentleri) saklar; adanmış bellek-içi tablo motoru sunmaz. Hız için işletim sistemi dosya önbelleği (page cache), doc_values ve sıcak/ılık/soğuk (hot-warm-cold) mimarisi kullanılır. Yeterli RAM ve heap ayarı performans için kritiktir.