Bir veritabanı, verinin düzenli biçimde saklandığı, güncellendiği ve sorgulandığı sistemdir. Ama tek bir veritabanı türü yoktur: ilişkisel sistemler, NoSQL aileleri, bellek içi motorlar ve analitik depolar farklı ihtiyaçlara göre tasarlanmıştır. Bu rehber, veritabanı türlerini sınıflandırır, her ailenin nerede parladığını anlatır ve popüler ürünleri kısaca tanıtıp ayrıntılı yazılara yönlendirir.
Veritabanı Nedir?
Veritabanı, birbiriyle ilişkili verileri disk ya da bellek üzerinde yapısal bir biçimde tutan bir koleksiyondur. Bu veriyi yöneten yazılıma ise veritabanı yönetim sistemi (DBMS) denir. DBMS; veriyi yazma, okuma, güncelleme ve silme işlemlerini, aynı anda birden fazla kullanıcının erişimini, yetkilendirmeyi ve dayanıklılığı üstlenir.
Çoğu ciddi iş uygulaması verinin bütünlüğünü ACID özellikleriyle (Atomiklik, Tutarlılık, İzolasyon, Dayanıklılık) garanti etmek ister. Bazı dağıtık sistemler ise ölçeklenebilirlik uğruna daha gevşek tutarlılık modelleri (nihai tutarlılık) tercih eder. Bir veritabanı türü seçerken bu dengeyi anlamak belirleyicidir.
Veritabanı ile düz dosya (örn. bir metin ya da tablo dosyası) arasındaki temel fark, DBMS'in sağladığı güvencelerdir: eşzamanlı erişimde kilitleme, kısmi güncellemede geri alma, yetkilendirme ve sorgulama için optimize edilmiş indeksler. Küçük bir veri seti için dosya yeterli olabilir; veri büyüdükçe ve birden fazla kullanıcı eriştikçe bir DBMS neredeyse zorunlu hale gelir.
Veritabanı Türleri Nasıl Sınıflandırılır?

Veritabanları birden fazla eksende sınıflandırılabilir: veri modeline göre (ilişkisel, doküman, anahtar-değer, grafik, kolon), verinin nerede tutulduğu (disk tabanlı, bellek içi), iş yüküne göre (işlemsel/OLTP, analitik/OLAP) ve mimariye göre (tek düğüm, dağıtık). Aşağıdaki tablo temel aileleri özetler.
| Aile | Veri modeli | Tipik kullanım | Örnekler |
|---|---|---|---|
| İlişkisel (RDBMS) | Tablolar, satır ve sütunlar; SQL | İşlemsel iş uygulamaları, finans, ERP | PostgreSQL, MySQL, Oracle |
| NoSQL - Doküman | JSON benzeri belgeler | İçerik, kataloglar, esnek şemalı veri | MongoDB, Couchbase |
| NoSQL - Anahtar-Değer | Anahtar -> değer çiftleri | Önbellek, oturum, sayaçlar | Redis, DynamoDB |
| NoSQL - Kolon Ailesi | Geniş kolon yapıları | Çok yüksek yazma hacmi, zaman serisi | Cassandra, HBase |
| NoSQL - Grafik | Düğüm ve kenarlar | İlişki ağırlıklı veri, öneri, dolandırıcılık | Neo4j |
| Bellek içi | Çoğunlukla RAM'de | Düşük gecikme, gerçek zamanlı | Redis, Oracle TimesTen |
| Analitik (OLAP) | Çoğunlukla kolon tabanlı depolama | Raporlama, veri ambarı, BI | Vertica, DuckDB, SAP HANA |
İlişkisel Veritabanları (RDBMS)
İlişkisel veritabanları veriyi tablolar halinde tutar; her tablo satırlardan (kayıt) ve sütunlardan (alan) oluşur. Tablolar arasındaki bağlar birincil ve yabancı anahtarlarla kurulur. Sorgu dili olarak standartlaşmış SQL kullanılır ve çoğu sistem ACID işlemlerini destekler. İyi tanımlı bir şema, veri bütünlüğünü ve tutarlı ilişkileri sağlar.
-- Basit bir iliskisel sorgu: musterileri siparisleriyle birlestirme
SELECT m.ad, COUNT(s.id) AS siparis_sayisi
FROM musteriler m
LEFT JOIN siparisler s ON s.musteri_id = m.id
GROUP BY m.ad
ORDER BY siparis_sayisi DESC;İlişkisel model; muhasebe, e-ticaret, ERP ve genel iş uygulamaları gibi tutarlılığın kritik olduğu alanlarda uzun süredir standarttır. Güçlü tarafı netlik ve bütünlük; ölçeklenirken (özellikle yatay ölçekte) ise ek tasarım çabası gerektirebilir. Normalizasyon ile veri tekrarı azaltılır; indeksler ile sorgular hızlandırılır; işlemler (transaction) ile birden çok değişiklik tek bir bütün olarak uygulanır ya da tümüyle geri alınır.
İlişkisel sistemlerin büyük avantajı olgunluklarıdır: on yıllara dayanan bir ekosistem, geniş araç desteği, yerleşik yedekleme ve kurtarma pratikleri ile büyük bir uzman topluluğu mevcuttur. Bu nedenle çoğu proje için makul bir başlangıç noktası oluşturur.
NoSQL Veritabanları
NoSQL, katı ilişkisel şemaya bağlı kalmayan çeşitli veritabanı ailelerinin ortak adıdır. Amaç çoğu zaman esneklik ve yatay ölçeklenebilirliktir. Dört ana alt aile vardır:
- Doküman veritabanları: Veriyi JSON benzeri belgelerde tutar; şema esnektir. İçerik yönetimi ve kataloglar için yaygındır (örn. MongoDB).
- Anahtar-değer depoları: En basit model; bir anahtara karşılık bir değer. Önbellek ve oturum verisi için çok hızlıdır (örn. Redis).
- Kolon ailesi (wide-column): Çok büyük yazma hacimleri ve zaman serisi verisi için ölçeklenir (örn. Apache Cassandra).
- Grafik veritabanları: Düğüm ve kenarlarla ilişkileri modeller; sosyal ağ, öneri ve dolandırıcılık analizi için uygundur (örn. Neo4j).
NoSQL sistemleri genellikle ölçeklenebilirlik için bazı durumlarda daha gevşek tutarlılık (nihai tutarlılık) sunar. Bu, doğru kullanım senaryosunda avantaj, yanlış senaryoda ise risk olabilir; seçim iş gereksinimlerine bağlıdır.
NoSQL, ilişkisel veritabanlarının yerini alan değil, onları tamamlayan bir yaklaşım olarak düşünülmelidir. Çok sayıda modern sistem, aynı uygulamada birden fazla veritabanını bir arada kullanır (polyglot persistence): işlemsel çekirdek ilişkisel bir sistemde, önbellek bir anahtar-değer deposunda, arama ise ayrı bir motorda tutulabilir.
SQL mi NoSQL mi?

Bu ikisi arasındaki seçim çoğu zaman 'hangisi daha iyi' değil, 'hangisi bu işe uygun' sorusudur. İlişkisel sistemler güçlü tutarlılık ve karmaşık ilişkiler için, NoSQL sistemleri esnek şema ve belirli ölçekleme desenleri için öne çıkar.
| Kriter | İlişkisel (SQL) | NoSQL |
|---|---|---|
| Şema | Önceden tanımlı, katı | Esnek, değişken |
| Sorgu dili | Standart SQL | Ürüne özgü API/sorgu |
| Tutarlılık | Genelde güçlü (ACID) | Çoğu zaman ayarlanabilir / nihai |
| Ölçekleme eğilimi | Dikey; yatay için ek tasarım | Yatay ölçek için tasarlanmış |
| Uygun senaryo | Finans, ERP, ilişkisel veri | Büyük hacim, esnek/değişken veri |
Bellek İçi Veritabanları
Bellek içi (in-memory) veritabanları birincil veriyi diskten çok RAM üzerinde tutar. Böylece disk gecikmesi ortadan kalkar ve okuma-yazma işlemleri çok düşük gecikmeyle tamamlanabilir. Bedeli, RAM'in disk'e göre pahalı ve kalıcı olmamasıdır; bu nedenle bu sistemler genellikle dayanıklılık için diske günlük (log) ya da anlık görüntü (snapshot) yazar.
Bu aile; önbellekleme, oturum yönetimi, gerçek zamanlı skor tabloları, öneri motorları ve düşük gecikme gerektiren işlemsel yükler için tercih edilir. İlişkisel bir arayüz sunan bellek içi sistemler de vardır; örneğin ilgili ürünler için Oracle TimesTen Nedir? ve VoltDB Nedir? yazılarına göz atabilirsiniz.
Analitik Veritabanları (OLAP)
Analitik veritabanları çok sayıda satır üzerinde toplama, gruplama ve raporlama sorgularını hızlı çalıştırmak için tasarlanır. Bunların çoğu kolon tabanlı (columnar) depolama kullanır: veriyi satır satır değil sütun sütun sakladıkları için, yalnızca gereken sütunları okuyup büyük taramaları verimli yaparlar. İşlemsel (OLTP) sistemlerden farklı olarak amaç, tekil kayıt güncellemeleri değil büyük ölçekli analizdir.
| Özellik | OLTP (işlemsel) | OLAP (analitik) |
|---|---|---|
| Amaç | Günlük işlemler, kayıt güncelleme | Raporlama, toplu analiz |
| Tipik sorgu | Az satır, sık yazma | Çok satır, ağırlıklı okuma |
| Depolama eğilimi | Çoğunlukla satır tabanlı | Çoğunlukla kolon tabanlı |
| Örnek | Sipariş alma | Aylık satış trendi raporu |
Bu alanda MPP (massively parallel processing) mimarili Vertica, tek süreçte çalışan gömülü analitik motor DuckDB ve hem bellek içi hem kolon tabanlı çalışan SAP HANA öne çıkan örneklerdir. DuckDB için sıklıkla kullanılan benzetme, analitik iş yükleri için bir tür gömülü motor olmasıdır.
Popüler İlişkisel Veritabanı Ürünleri
İlişkisel dünyada açık kaynaktan kurumsal ticari sistemlere kadar geniş bir yelpaze vardır. En yaygın kullanılan ürünlerin her biri için ayrıntılı tanıtım yazılarına aşağıdan ulaşabilirsiniz:
- PostgreSQL Nedir? - genişletilebilir, standartlara bağlı açık kaynak nesne-ilişkisel sistem.
- MySQL Nedir? - web uygulamalarında çok yaygın açık kaynak ilişkisel veritabanı; bugün Oracle çatısı altında geliştiriliyor.
- MariaDB Nedir? - MySQL'in özgün geliştiricileri tarafından başlatılan topluluk çatallaması (fork).
- Percona Server for MySQL Nedir? - MySQL ile uyumlu, geliştirilmiş bir dağıtım.
- Oracle Database Nedir? - geniş özellik setiyle bilinen kurumsal ticari veritabanı.
- Microsoft SQL Server (MS SQL) Nedir? - Microsoft'un kurumsal ilişkisel veritabanı.
- IBM Db2 Nedir? - IBM'in kurumsal veri platformu.
- IBM Informix Nedir? - işlemsel ve gömülü senaryolarda kullanılan IBM veritabanı.
- Sybase (SAP ASE) Nedir? - bugün SAP Adaptive Server Enterprise olarak sürdürülen ilişkisel sistem.
- Firebird Nedir? - InterBase kod tabanından türemiş açık kaynak ilişkisel veritabanı.
- InterBase Nedir? - hafif, gömülebilir ticari ilişkisel veritabanı.
NewSQL ve Dağıtık SQL

NewSQL, ilişkisel modelin ve SQL'in tanıdık tutarlılığı ile NoSQL sistemlerinin yatay ölçeklenebilirliğini birleştirmeyi hedefleyen bir yaklaşımdır. Bu sistemler genellikle birden fazla düğüme dağılır, ancak ACID işlemleri ve SQL arayüzü sunmayı sürdürürler.
- Google Cloud Spanner Nedir? - küresel ölçekte dağıtık, güçlü tutarlılık hedefleyen yönetilen ilişkisel servis.
- OceanBase Nedir? - yüksek ölçek için tasarlanmış dağıtık ilişkisel veritabanı.
- VoltDB Nedir? - düşük gecikmeli işlemler için bellek içi, ölçeklenebilir bir SQL sistemi.
Masaüstü ve Gömülü Veritabanları
Her veritabanı ayrı bir sunucu gerektirmez. Gömülü (embedded) ve masaüstü veritabanları uygulamanın içine ya da tek bir kullanıcının makinesine yerleşir; kurulum ve yönetim yükü düşüktür. Küçük uygulamalar, mobil yazılımlar, prototipler ve tek kullanıcılı senaryolar için idealdir.
- SQLite Nedir? - sunucusuz, tek dosyalı, çok yaygın kullanılan gömülü veritabanı.
- Berkeley DB Nedir? - uygulamalara gömülen anahtar-değer tabanlı veri deposu.
- Microsoft Access Nedir? - masaüstü uygulama ve küçük veritabanları için Office bileşeni.
- OpenOffice Base Nedir? - açık kaynak ofis paketinin veritabanı aracı.
- FileMaker Nedir? - özel uygulama geliştirmeye odaklı masaüstü ve platform veritabanı.
Bulut Veritabanı Servisleri
Bulut sağlayıcıları, veritabanlarını yönetilen servis olarak sunar: yedekleme, yama, ölçeklendirme ve yüksek erişilebilirlik gibi işletim yüklerini sağlayıcı üstlenir. Böylece ekipler altyapı yerine uygulamaya odaklanabilir. Yönetilen kurulumlar, kendi sunucunuzda çalıştırmaya göre farklı avantaj ve ödünler taşır.
Google Cloud SQL, Azure SQL ve Amazon RDS gibi seçenekleri; ne zaman yönetilen servis, ne zaman kendi sunucunuzu tercih etmeniz gerektiğiyle birlikte Bulut Veritabanı Servisleri: Cloud SQL, Azure SQL, Amazon RDS yazısında inceliyoruz.
Doğru Veritabanını Nasıl Seçersiniz?
Tek bir 'en iyi' veritabanı yoktur; doğru seçim iş yüküne bağlıdır. Karar verirken şu soruları sormak faydalıdır:
- Veri modeliniz ne? Güçlü ilişkiler ve tutarlılık mı, yoksa esnek şema mı öne çıkıyor?
- İş yükünüz işlemsel (OLTP) mi, analitik (OLAP) mi, yoksa ikisi karışık mı?
- Gecikme hedefiniz nedir? Bellek içi bir katman gerekli mi?
- Ölçekleme ihtiyacınız dikey mi (daha güçlü tek makine) yoksa yatay mı (çok düğüm)?
- İşletim modeli: kendi sunucunuzda mı, yoksa yönetilen bulut servisinde mi çalışacak?
- Lisans ve maliyet: açık kaynak mı, ticari lisans mı? Ekip deneyimi ve ekosistem desteği ne durumda?