DBAtlas · Veritabanı operasyon atlası

Sütun-tabanlı depolama / analitik

Oracle

-- Database In-Memory: tabloyu sütunsal olarak bellekte tut
ALTER TABLE satis INMEMORY;
-- Öncelik ve sıkıştırma ile:
ALTER TABLE satis INMEMORY PRIORITY HIGH
  MEMCOMPRESS FOR QUERY HIGH;

Oracle Database In-Memory (12.1.0.2+) tabloları bellekte sütunsal (In-Memory Column Store, IM) biçimde tutarak analitik sorguları hızlandırır; disk satır biçimini korur (çift format). INMEMORY ayrı lisanslı bir seçenektir. inmemory_size parametresi IM alanını belirler.

PostgreSQL

-- Çekirdek PostgreSQL satır tabanlıdır; sütunsal için eklenti:
-- Citus columnar erişim yöntemi:
CREATE EXTENSION IF NOT EXISTS citus;
CREATE TABLE satis_kolon (...) USING columnar;
-- Alternatif: Hydra/cstore_fdw uzantıları.

Çekirdek PostgreSQL yalnız satır tabanlı (heap) depolama sunar. Sütunsal depolama için Citus 'columnar' erişim yöntemi (USING columnar), Hydra veya eski cstore_fdw eklentileri kullanılır; bunlar analitik/veri ambarı yükleri için sıkıştırma ve tarama hızı sağlar.

MySQL

-- Uygulanamaz: çekirdek InnoDB sütunsal depolama sunmaz.
-- Analitik için: MySQL HeatWave (bulut, bellek-içi sütunsal)
-- veya harici ClickHouse/Apache Doris entegrasyonu.

Standart MySQL (InnoDB) satır tabanlıdır ve yerleşik columnstore içermez. Analitik hızlandırma için MySQL HeatWave (Oracle bulutunda bellek-içi sütunsal hızlandırıcı) kullanılır; kurulum içi çözümlerde ClickHouse veya Apache Doris gibi harici sütunsal motorlar tercih edilir.

SQL Server

-- Clustered columnstore indeksi (analitik tablolar için):
CREATE CLUSTERED COLUMNSTORE INDEX cci_satis ON dbo.satis;
-- Satır tablosuna nonclustered columnstore (HTAP):
CREATE NONCLUSTERED COLUMNSTORE INDEX ncci_satis
  ON dbo.satis (il, urun, tutar, tarih);

SQL Server columnstore index'leri (2012'de salt okunur nonclustered; 2014'te güncellenebilir clustered; 2016'da güncellenebilir nonclustered) veriyi sütun bazlı ve yüksek sıkıştırmalı saklar; toplama/tarama ağırlıklı analitik sorgularda batch mode ile büyük hızlanma sağlar. Clustered columnstore veri ambarları, nonclustered columnstore ise HTAP için uygundur.

MongoDB

-- Uygulanamaz: MongoDB belge (satır benzeri) tabanlıdır.
-- Analitik için: Atlas'ta ayrı Analytics Node'lar
-- veya kolonsal biçime ($out) aktarım/harici motor.

MongoDB belgeleri satır benzeri BSON olarak saklar; yerleşik sütunsal (columnstore) depolama yoktur. Analitik yükler için Atlas replica set'te ayrılmış Analytics Node'lar, Atlas Data Federation veya verinin sütunsal bir sisteme (ör. Parquet) aktarımı kullanılır.

Redis

-- Uygulanamaz: sütun tabanlı depolama kavramı yoktur.

Redis bellek-içi anahtar-değer deposudur; satır/sütun depolama ayrımı yoktur. Analitik toplamalar Sorted Set, HyperLogLog (yaklaşık sayım) veya RedisTimeSeries gibi özel yapılarla yapılır; büyük ölçekli OLAP için uygun değildir.

Elasticsearch

# doc_values: alanlar disk üzerinde sütunsal saklanır (varsayılan açık).
# Sıralama/toplama için gereklidir; text dışı alanlarda etkindir.
PUT satis
{ "mappings": { "properties":
  { "tutar": { "type": "double", "doc_values": true } } } }

Elasticsearch, sıralama ve toplama (aggregation) için alanları doc_values adı verilen disk tabanlı sütunsal yapıda tutar (sayısal/keyword/tarih alanlarında varsayılan açık). Bu sütunsal düzen analitik/toplama sorgularını hızlandırır; text alanlarında varsayılan kapalıdır.

DBAtlas'ta aç →