Bir veritabani, verinin duzenli bicimde saklandigi, guncellendigi ve sorgulandigi sistemdir. Ama tek bir veritabani turu yoktur: iliskisel sistemler, NoSQL aileleri, bellek ici motorlar ve analitik depolar farkli ihtiyaclara gore tasarlanmistir. Bu rehber, veritabani turlerini sinilandirir, her ailenin nerede parladigini anlatir ve populer urunleri kisaca tanitip ayrintili yazilara yonlendirir.
Veritabani Nedir?
Veritabani, birbiriyle iliskili verileri disk ya da bellek uzerinde yapisal bir bicimde tutan bir koleksiyondur. Bu veriyi yoneten yazilima ise veritabani yonetim sistemi (DBMS) denir. DBMS; veriyi yazma, okuma, guncelleme ve silme islemlerini, ayni anda birden fazla kullanicinin erisimini, yetkilendirmeyi ve dayanikliligi ustlenir.
Cogu ciddi is uygulamasi verinin butunlugunu ACID ozellikleriyle (Atomiklik, Tutarlilik, Izolasyon, Dayaniklilik) garanti etmek ister. Bazi dagitik sistemler ise olceklenebilirlik ugruna daha gevsek tutarlilik modelleri (nihai tutarlilik) tercih eder. Bir veritabani turu secerken bu dengeyi anlamak belirleyicidir.
Veritabani ile duz dosya (orn. bir metin ya da tablo dosyasi) arasindaki temel fark, DBMS'in sagladigi guvencelerdir: eszamanli erisimde kilitleme, kismi guncellemede geri alma, yetkilendirme ve sorgulama icin optimize edilmis indeksler. Kucuk bir veri seti icin dosya yeterli olabilir; veri buyudukce ve birden fazla kullanici eristikce bir DBMS neredeyse zorunlu hale gelir.
Veritabani Turleri Nasil Siniflandirilir?
Veritabanlari birden fazla eksende siniflandirilabilir: veri modeline gore (iliskisel, dokuman, anahtar-deger, grafik, kolon), verinin nerede tutuldugu (disk tabanli, bellek ici), is yukune gore (islemsel/OLTP, analitik/OLAP) ve mimariye gore (tek dugum, dagitik). Asagidaki tablo temel aileleri ozetler.
| Aile | Veri modeli | Tipik kullanim | Ornekler |
|---|---|---|---|
| Iliskisel (RDBMS) | Tablolar, satir ve sutunlar; SQL | Islemsel is uygulamalari, finans, ERP | PostgreSQL, MySQL, Oracle |
| NoSQL - Dokuman | JSON benzeri belgeler | Icerik, kataloglar, esnek semali veri | MongoDB, Couchbase |
| NoSQL - Anahtar-Deger | Anahtar -> deger ciftleri | Onbellek, oturum, sayaclar | Redis, DynamoDB |
| NoSQL - Kolon Ailesi | Genis kolon yapilari | Cok yuksek yazma hacmi, zaman serisi | Cassandra, HBase |
| NoSQL - Grafik | Dugum ve kenarlar | Iliski agirlikli veri, oneri, dolandiricilik | Neo4j |
| Bellek ici | Cogunlukla RAM'de | Dusuk gecikme, gercek zamanli | Redis, Oracle TimesTen |
| Analitik (OLAP) | Cogunlukla kolon tabanli depolama | Raporlama, veri ambari, BI | Vertica, DuckDB, SAP HANA |
Iliskisel Veritabanlari (RDBMS)
Iliskisel veritabanlari veriyi tablolar halinde tutar; her tablo satirlardan (kayit) ve sutunlardan (alan) olusur. Tablolar arasindaki baglar birincil ve yabanci anahtarlarla kurulur. Sorgu dili olarak standartlasmis SQL kullanilir ve cogu sistem ACID islemlerini destekler. Iyi tanimli bir sema, veri butunlugunu ve tutarli iliskileri saglar.
-- 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;Iliskisel model; muhasebe, e-ticaret, ERP ve genel is uygulamalari gibi tutarliligin kritik oldugu alanlarda uzun suredir standarttir. Guclu tarafi netlik ve butunluk; olceklenirken (ozellikle yatay olcekte) ise ek tasarim caba gerektirebilir. Normalizasyon ile veri tekrari azaltilir; indeksler ile sorgular hizlandirilir; islemler (transaction) ile birden cok degisiklik tek bir butun olarak uygulanir ya da tumuyle geri alinir.
Iliskisel sistemlerin buyuk avantaji olgunluklaridir: on yillara dayanan bir ekosistem, genis arac desteji, yerlesik yedekleme ve kurtarma pratikleri ile buyuk bir uzman toplulugu mevcuttur. Bu nedenle cogu proje icin makul bir baslangic noktasi olusturur.
NoSQL Veritabanlari
NoSQL, katı iliskisel semaya baglı kalmayan cesitli veritabani ailelerinin ortak adidir. Amac cogu zaman esneklik ve yatay olceklenebilirliktir. Dort ana alt aile vardir:
- Dokuman veritabanlari: Veriyi JSON benzeri belgelerde tutar; sema esnektir. Icerik yonetimi ve kataloglar icin yaygindir (orn. MongoDB).
- Anahtar-deger depolari: En basit model; bir anahtara karsilik bir deger. Onbellek ve oturum verisi icin cok hizlidir (orn. Redis).
- Kolon ailesi (wide-column): Cok buyuk yazma hacimleri ve zaman serisi verisi icin olceklenir (orn. Apache Cassandra).
- Grafik veritabanlari: Dugum ve kenarlarla iliskileri modeller; sosyal ag, oneri ve dolandiricilik analizi icin uygundur (orn. Neo4j).
NoSQL sistemleri genellikle olceklenebilirlik icin bazi durumlarda daha gevsek tutarlilik (nihai tutarlilik) sunar. Bu, dogru kullanim senaryosunda avantaj, yanlis senaryoda ise risk olabilir; secim is gereksinimlerine baglidir.
NoSQL, iliskisel veritabanlarinin yerini alan degil, onlari tamamlayan bir yaklasim olarak dusunulmelidir. Cok sayida modern sistem, ayni uygulamada birden fazla veritabanini bir arada kullanir (polyglot persistence): islemsel cekirdek iliskisel bir sistemde, onbellek bir anahtar-deger deposunda, arama ise ayri bir motorda tutulabilir.
SQL mi NoSQL mi?
Bu ikisi arasindaki secim cogu zaman 'hangisi daha iyi' degil, 'hangisi bu ise uygun' sorusudur. Iliskisel sistemler guclu tutarlilik ve karmasik iliskiler icin, NoSQL sistemleri esnek sema ve belirli olcekleme desenleri icin one cikar.
| Kriter | Iliskisel (SQL) | NoSQL |
|---|---|---|
| Sema | Onceden tanimli, katı | Esnek, degisken |
| Sorgu dili | Standart SQL | Urune ozgu API/sorgu |
| Tutarlilik | Genelde guclu (ACID) | Cogu zaman ayarlanabilir / nihai |
| Olcekleme egilimi | Dikey; yatay icin ek tasarim | Yatay olcek icin tasarlanmis |
| Uygun senaryo | Finans, ERP, iliskisel veri | Buyuk hacim, esnek/degisken veri |
Bellek Ici Veritabanlari
Bellek ici (in-memory) veritabanlari birincil veriyi diskten cok RAM uzerinde tutar. Boylece disk gecikmesi ortadan kalkar ve okuma-yazma islemleri cok dusuk gecikmeyle tamamlanabilir. Bedeli, RAM'in disk'e gore pahali ve kalici olmamasidir; bu nedenle bu sistemler genellikle dayaniklilik icin diske gunluk (log) ya da anlik goruntu (snapshot) yazar.
Bu aile; onbellekleme, oturum yonetimi, gercek zamanli skor tablolari, oneri motorlari ve dusuk gecikme gerektiren islemsel yukler icin tercih edilir. Iliskisel bir arayuz sunan bellek ici sistemler de vardir; ornegin ilgili urunler icin Oracle TimesTen Nedir? ve VoltDB Nedir? yazilarina goz atabilirsiniz.
Analitik Veritabanlari (OLAP)
Analitik veritabanlari cok sayida satir uzerinde toplama, gruplama ve raporlama sorgularini hizli calistirmak icin tasarlanir. Bunlarin cogu kolon tabanli (columnar) depolama kullanir: veriyi satir satir degil sutun sutun sakladiklari icin, yalnizca gereken sutunlari okuyup buyuk taramalari verimli yaparlar. Islemsel (OLTP) sistemlerden farkli olarak amac, tekil kayit guncellemeleri degil buyuk olcekli analizdir.
| Ozellik | OLTP (islemsel) | OLAP (analitik) |
|---|---|---|
| Amac | Gunluk islemler, kayit guncelleme | Raporlama, toplu analiz |
| Tipik sorgu | Az satir, sik yazma | Cok satir, agirlikli okuma |
| Depolama egilimi | Cogunlukla satir tabanli | Cogunlukla kolon tabanli |
| Ornek | Siparis alma | Aylik satis trendi raporu |
Bu alanda MPP (massively parallel processing) mimarili Vertica, tek surecte calisan gomulu analitik motor DuckDB ve hem bellek ici hem kolon tabanli calisan SAP HANA one cikan orneklerdir. DuckDB icin siklikla kullanilan benzetme, analitik is yukleri icin bir tur gomulu motor olmasidir.
Populer Iliskisel Veritabani Urunleri
Iliskisel dunyada acik kaynaktan kurumsal ticari sistemlere kadar genis bir yelpaze vardir. En yaygin kullanilan urunlerin her biri icin ayrintili tanitim yazilarina asagidan ulasabilirsiniz:
- PostgreSQL Nedir? - genisletilebilir, standartlara baglı acik kaynak nesne-iliskisel sistem.
- MySQL Nedir? - web uygulamalarinda cok yaygin acik kaynak iliskisel veritabani; bugun Oracle catisi altinda gelistiriliyor.
- MariaDB Nedir? - MySQL'in ozgun gelistiricileri tarafindan baslatilan topluluk catallamasi (fork).
- Percona Server for MySQL Nedir? - MySQL ile uyumlu, gelistirilmis bir dagitim.
- Oracle Database Nedir? - genis ozellik setiyle bilinen kurumsal ticari veritabani.
- Microsoft SQL Server (MS SQL) Nedir? - Microsoft'un kurumsal iliskisel veritabani.
- IBM Db2 Nedir? - IBM'in kurumsal veri platformu.
- IBM Informix Nedir? - islemsel ve gomulu senaryolarda kullanilan IBM veritabani.
- Sybase (SAP ASE) Nedir? - bugun SAP Adaptive Server Enterprise olarak surdurulen iliskisel sistem.
- Firebird Nedir? - InterBase kod tabanindan turemis acik kaynak iliskisel veritabani.
- InterBase Nedir? - hafif, gomulebilir ticari iliskisel veritabani.
NewSQL ve Dagitik SQL
NewSQL, iliskisel modelin ve SQL'in taniditigi tutarlilik ile NoSQL sistemlerinin yatay olceklenebilirligini birlestirmeyi hedefleyen bir yaklasimdir. Bu sistemler genellikle birden fazla dugume dagilir, ancak ACID islemleri ve SQL arayuzu sunmayi surdururler.
- Google Cloud Spanner Nedir? - kuresel olcekte dagitik, guclu tutarlilik hedefleyen yonetilen iliskisel servis.
- OceanBase Nedir? - yuksek olcek icin tasarlanmis dagitik iliskisel veritabani.
- VoltDB Nedir? - dusuk gecikmeli islemler icin bellek ici, olceklenebilir bir SQL sistemi.
Masaustu ve Gomulu Veritabanlari
Her veritabani ayri bir sunucu gerektirmez. Gomulu (embedded) ve masaustu veritabanlari uygulamanin icine ya da tek bir kullanicinin makinesine yerlesir; kurulum ve yonetim yuku dusuktur. Kucuk uygulamalar, mobil yazilimlar, prototipler ve tek kullanicili senaryolar icin idealdir.
- SQLite Nedir? - sunucusuz, tek dosyali, cok yaygin kullanilan gomulu veritabani.
- Berkeley DB Nedir? - uygulamalara gomulen anahtar-deger tabanli veri deposu.
- Microsoft Access Nedir? - masaustu uygulama ve kucuk veritabanlari icin Office bileseni.
- OpenOffice Base Nedir? - acik kaynak ofis paketinin veritabani araci.
- FileMaker Nedir? - ozel uygulama gelistirmeye odakli masaustu ve platform veritabani.
Bulut Veritabani Servisleri
Bulut saglayicilari, veritabanlarini yonetilen servis olarak sunar: yedekleme, yama, olceklendirme ve yuksek erisilebilirlik gibi isletim yuklerini saglayici ustlenir. Boylece ekipler altyapi yerine uygulamaya odaklanabilir. Kurulum bicimleri, tercihen kendi sunucunuzda calistirmaya gore farkli avantaj ve odunler tasir.
Google Cloud SQL, Azure SQL ve Amazon RDS gibi secenekleri; ne zaman yonetilen servis, ne zaman kendi sunucunuzu tercih etmeniz gerektigiyle birlikte Bulut Veritabani Servisleri: Cloud SQL, Azure SQL, Amazon RDS yazisinda inceliyoruz.
Dogru Veritabanini Nasil Secersiniz?
Tek bir 'en iyi' veritabani yoktur; dogru secim is yukune baglidir. Karar verirken su sorulari sormak faydalidir:
- Veri modeliniz ne? Guclu iliskiler ve tutarlilik mi, yoksa esnek sema mi one cikiyor?
- Is yukunuz islemsel (OLTP) mi, analitik (OLAP) mi, yoksa ikisi karisik mi?
- Gecikme hedefiniz nedir? Bellek ici bir katman gerekli mi?
- Olcekleme ihtiyaciniz dikey mi (daha guclu tek makine) yoksa yatay mi (cok dugum)?
- Isletim modeli: kendi sunucunuzda mi, yoksa yonetilen bulut servisinde mi calisacak?
- Lisans ve maliyet: acik kaynak mi, ticari lisans mi? Ekip deneyimi ve ekosistem destegi ne durumda?