Veri Tabanı Yönetim Sistemi (VTYS) Nedir? Türleri, Örnekleri
VTYS, veriyi saklayan, sorgulayan ve tutarlı tutan yazılımdır. İşlevlerini, ACID'i, SQL'in rolünü, NoSQL farkını ve seçim ölçütlerini anlattık.

Kısa cevap: Veri tabanı yönetim sistemi (VTYS, İngilizcesi DBMS), verinin saklanmasını, düzenlenmesini ve geri getirilmesini yöneten yazılımdır. Uygulamalar veriye VTYS üzerinden erişir; VTYS eş zamanlı işlemleri yalıtır, yetkileri denetler ve çökmeden sonra veriyi tutarlı hâle getirir. İki büyük aile var: veriyi tablolarda tutup SQL ile sorgulayan ilişkisel sistemler (PostgreSQL, MySQL, SQL Server, Oracle) ve belge, anahtar-değer, geniş sütun ya da graf modelini kullanan NoSQL sistemler (MongoDB, Redis).
Veri tabanı yönetim sistemi nedir?
Oracle'ın Database Concepts belgesi iki kavramı ayırıyor: veri tabanı, bir birim olarak ele alınan düzenli bir bilgi koleksiyonu; VTYS ise verinin depolanmasını, düzenlenmesini ve geri getirilmesini denetleyen yazılım. Günlük dilde "veri tabanı" denen PostgreSQL ya da MySQL, teknik olarak birer VTYS; MySQL'in belgesi de MySQL'i böyle tanımlıyor. Terimin kısa tanımını sözlüğümüzde bulabilirsiniz.
VTYS, uygulamayı depolamanın ayrıntısından kurtarır: Oracle'ın anlatımıyla uygulama ne istediğini söyler, VTYS nasıl yapılacağına karar verir, örneğin satırları bulmak için indeks kullanır.
VTYS ne işe yarar?
Bir VTYS'den beklenen başlıca işler şunlar:
- Depolama ve sorgu: Veriyi diske yazar, indeksler ve sorgulara cevap verir.
- İşlem yönetimi: Birbirine bağlı değişiklikleri tek birim olarak uygular (aşağıda).
- Eş zamanlılık: Aynı veriye aynı anda erişen kullanıcıları yalıtır; PostgreSQL'in MVCC modelinde okuma yazmayı, yazma da okumayı engellemez.
- Bütünlük: Yabancı anahtar gibi tanımlı kurallara uymayan veriyi reddeder.
- Kalıcılık ve kurtarma: PostgreSQL'de değişiklik veri dosyasına ancak write-ahead log (WAL) kaydı kalıcı depolamaya yazıldıktan sonra işlenir; çökmeden sonra eksikler bu günlükten tamamlanır. Aynı günlük, sistem çalışırken yedek almayı ve geçmişteki bir ana dönmeyi de mümkün kılar.
- Yetkilendirme: PostgreSQL'de çoğu nesneyi başlangıçta yalnızca sahibi kullanabilir; diğer rollere yetki ayrıca verilir.
DBA'nın görevlerini ve yedekleme yöntemlerini DBA ve yedekleme yazılarımızda anlattık.
İşlem (transaction) ve ACID
İşlem, birden fazla komutun tek bir birim gibi davrandığı iş parçasıdır. Oracle'ın örneğinde bir para aktarımı üç adımdan oluşuyor: bir hesaptan düşmek, öbürüne eklemek ve aktarımı kayda geçirmek. Yetersiz bakiye ya da donanım arızası adımlardan birini yarıda bırakırsa işlemin tamamı geri alınır. İşlemin dört özelliği ACID kısaltmasıyla anılıyor:
- Atomicity (bölünmezlik): Adımların ya hepsi gerçekleşir ya da hiçbiri.
- Consistency (tutarlılık): İşlem, veri tabanını tutarlı bir durumdan yine tutarlı bir duruma taşır.
- Isolation (yalıtım): Bir işlemin etkisi, commit edilene kadar diğer işlemlere görünmez.
- Durability (kalıcılık): Commit edilen değişiklik, kurtarma mekanizmaları sayesinde kaybolmaz.
NoSQL tarafında durum karışık: MongoDB'de tek belge üzerindeki işlem her zaman atomik, çok belgeli işlemler ise replica set'te en az 4.0, sharded cluster'da en az 4.2 uyumluluk sürümü istiyor.
SQL'in rolü
Oracle'ın tanımıyla SQL, ilişkisel VTYS'lere arayüz sağlayan küme tabanlı, bildirimsel (declarative) bir dil: yordamsal diller bir işin nasıl yapılacağını, SQL ise ne yapılacağını anlatır. Sorgu, veri ekleme ve silme, tablo gibi nesneleri oluşturma ve erişim denetimi aynı dilde yapılır.
Standardın resmî adı ISO/IEC 9075, son sürümü SQL:2023. Standart ile ürünler birebir örtüşmüyor: PostgreSQL belgelerine göre hiçbir VTYS Core SQL:2023'e tam uyum iddia etmiyor. Sistem değiştirirken SQL kodu da bu yüzden gözden geçirilmeli.
VTYS türleri: ilişkisel ve NoSQL
Microsoft'un veri deposu rehberi başlıca modelleri şöyle tarif ediyor:
- İlişkisel: Veriyi normalize tablolarda, yazarken şemaya uydurarak (schema-on-write) tutar; bütünlüğü zorlar, ACID işlemlerini ve zengin SQL sorgularını destekler. Oracle'a göre model, E. F. Codd'un 1970 tarihli makalesine dayanıyor ve bugün en yaygın kabul gören veri tabanı modeli.
- Belge (document): Çoğunlukla JSON biçiminde yarı yapılandırılmış belgeler saklar; şema belge başına esnektir. Örnek: MongoDB.
- Anahtar-değer (key-value): Her değeri benzersiz bir anahtarla eşler; çoğu yalnızca basit sorgu, ekleme ve silmeyi destekler. Örnek: Redis.
- Geniş sütun (wide-column): Seyrek veriyi satırlarda tutar, değişken sütunları birlikte erişilen sütun ailelerinde toplar. Örnek: Apache Cassandra.
- Graf: Bilgiyi düğümler ve kenarlar olarak saklar. Örnek: Neo4j.
Rehbere göre NoSQL adı verilen bu ilişkisel olmayan sistemler, esnek şema, yatay ölçekleme ve belirli erişim desenleri için şema katılığı ve işlem kapsamı gibi ilişkisel davranışların bir kısmından vazgeçiyor.
Yaygın VTYS örnekleri
Stack Overflow'un 2025 anketinde bu soruyu cevaplayan 26.083 geliştiricinin %55,6'sı son bir yılda PostgreSQL ile yoğun geliştirme yaptığını söyledi; MySQL %40,5, SQLite %37,5, SQL Server %30,1 ile izledi.
- PostgreSQL: Berkeley'deki POSTGRES projesine dayanan nesne-ilişkisel bir VTYS; serbest lisansıyla her amaçla ücretsiz kullanılabiliyor.
- MySQL: Oracle'ın geliştirdiği, GPL lisanslı ilişkisel VTYS; 8.4 sürümünün varsayılan motoru InnoDB ACID modeline uyuyor.
- Microsoft SQL Server: Microsoft'un ilişkisel VTYS'si; SQL Server 2017'den beri Linux'ta da aynı motorla çalışıyor.
- Oracle Database: Güncel belgelerinde "Oracle AI Database" adıyla, çok modelli (converged) bir sistem olarak tanımlanıyor.
- MongoDB: Kayıtları JSON nesnelerine benzeyen belgeler olarak, katı şema zorlamayan koleksiyonlarda tutar.
- Redis: Bellekte çalışan bir veri yapısı deposu; veri tabanı, cache ve mesaj aracısı olarak kullanılıyor, veriyi anlık görüntü (RDB) ya da yazma günlüğüyle (AOF) diske de yazabiliyor.
- SQLite: Ayrı bir sunucu süreci olmadan uygulamanın içinde çalışan, veriyi sıradan disk dosyalarına yazan gömülü bir SQL motoru.
VTYS seçerken nelere bakılmalı?
Microsoft'un seçim rehberindeki ölçütlerden en belirleyicileri şunlar:
- Verinin biçimi ve ilişkileri: Tablo mu, JSON belge mi; join, graf dolaşımı ya da hiyerarşi gerekiyor mu? Erişim desenine göre seçimi PostgreSQL mü MongoDB mi yazımızda ele aldık.
- İş türü ve tutarlılık: Anlık işlemler için OLTP mi, karmaşık analiz için OLAP mı; güçlü, nihai (eventual) ya da ayarlanabilir tutarlılıktan hangisi yeterli?
- Ölçek ve erişilebilirlik: Dikey mi, yatay mı ölçeklenecek; SLA ve failover beklentisi ne? Kopyaların nasıl tutulduğunu replikasyon yazımızda anlattık.
- İşletim modeli: Kendi kurulumunuz mu, yönetilen hizmet mi? Rehber bunu kontrol, işletim yükü ve esneklik arasında bir ödünleşim sayıyor. VTYS bir bulut sunucuda kurulabilir ya da yönetilen platform hizmeti olarak alınabilir.
- Bölge, lisans ve ekip: Veri yerleşimi ve uyum gereksinimi, üreticiye bağımlılık, ekibin sorgu dili ve araçlardaki deneyimi.
Seçimden sonra kurulum, izleme, yedek ve sürüm yönetimi başlar. Bu işlerin hizmet olarak alınmasını sözlükteki veri tabanı işletim hizmetleri maddesinde, yüksek erişilebilirlik tasarımını veritabanı platform mühendisliği sayfamızda anlattık.
Sık sorulan sorular
VTYS ne demek? Veri tabanı yönetim sistemi demek; İngilizcesi database management system (DBMS). Veriyi saklayan, sorgulayan ve tutarlı tutan yazılımın adı.
Veri tabanı ile veri tabanı yönetim sistemi arasındaki fark nedir? Veri tabanı, düzenli biçimde saklanan verinin kendisi; VTYS ise bu veriyi depolayan, düzenleyen ve uygulamalara sunan yazılım. PostgreSQL ve MySQL birer VTYS'dir.
Veri tabanı yönetim sistemleri nelerdir? İlişkisel tarafta PostgreSQL, MySQL, SQL Server, Oracle Database ve SQLite; NoSQL tarafında MongoDB, Redis, Cassandra ve Neo4j en bilinenleri. Stack Overflow'un 2025 anketinde en yaygını PostgreSQL.
SQL bir veri tabanı mı? Hayır. SQL, ilişkisel VTYS'lerle çalışmak için kullanılan standart sorgu dili; resmî adı ISO/IEC 9075.
İlişkisel veri tabanı ile NoSQL arasındaki fark nedir? İlişkisel sistemler veriyi şemaya bağlı tablolarda tutar ve ACID işlemlerini destekler. NoSQL sistemler esnek şema ve yatay ölçekleme için bu davranışların bir kısmından vazgeçer.
Kaynaklar
- Oracle, Database Concepts 19c: veri tabanı ve VTYS tanımları, ilişkisel model (Codd, 1970), SQL; işlemler ve ACID bölümüyle
- Oracle, Oracle AI Database: Converged, Multitenant, Backed By SQL: çok modelli yapı
- PostgreSQL, What Is PostgreSQL?: tanım ve lisans; MVCC, WAL, yetkiler ve SQL uyumu bölümleriyle
- ISO, ISO/IEC 9075-1:2023: SQL standardı (Haziran 2023)
- MySQL, What is MySQL? ve Introduction to InnoDB: tanım, lisans ve varsayılan motor
- Microsoft, What is SQL Server? ve SQL Server on Linux: tanım ve Linux desteği
- Microsoft, Understand data store models ve Data store decision considerations: veri modelleri ve seçim ölçütleri
- MongoDB, Introduction ve Transactions: belge modeli ve işlemler
- Redis, Get started ve Persistence: kullanım alanları ve kalıcılık
- Apache Cassandra, Overview, Neo4j, What is a graph database? ve SQLite, About SQLite: geniş sütun, graf ve gömülü motor
- Stack Overflow, 2025 Developer Survey: Technology: veri tabanı kullanım oranları
- Bu katmanı nasıl işlettiğimiz: veritabanı platformu ve operasyonları