DBaaS (Database as a Service) Nedir? Yönetilen Veritabanı
DBaaS'ta sağlayıcının ve sizin işinizi, yedek ve zamanda geri dönmeyi, replikasyonu, ölçeklemeyi, sanal makineden farkını ve ödünleşimleri anlattık.

Kısa cevap: DBaaS (database as a service, hizmet olarak veritabanı), veritabanının bir sağlayıcı tarafından işletildiği bulut hizmetidir; kullanıcı veritabanını konsoldan ya da API'den açar, altındaki sunucuyla uğraşmaz. Amazon RDS, Azure SQL Database ve Google Cloud SQL tipik örnekler. Donanım, işletim sistemi, yama, otomatik yedek ve failover sağlayıcıya geçer; veritabanlarının yönetimi, sorgu ayarı, kullanıcı yetkileri ve verinin kendisi müşteride kalır. Karşılığında sunucuya erişim ve bazı ayarlar kısıtlanır, sağlayıcıya bağımlılık artar; yedeklerin hangi bölgede durduğu da ayrıca denetlenmelidir.
DBaaS nedir?
AWS'nin tanımıyla Amazon RDS, bulutta ilişkisel bir veritabanını kurmayı, işletmeyi ve ölçeklemeyi kolaylaştıran, yaygın veritabanı yönetim işlerini üstlenen bir web hizmeti. Microsoft'a göre Azure SQL Database, yükseltme, yama, yedekleme ve izleme gibi yönetim işlerinin çoğunu kullanıcı müdahalesi olmadan yürüten tam yönetilen bir PaaS veritabanı motoru. Google'a göre Cloud SQL de MySQL, PostgreSQL ve SQL Server için tam yönetilen bir ilişkisel veritabanı hizmeti. Model NoSQL'de de var: AWS'ye göre DynamoDB'de sunucu açmak ya da yazılım kurup yamalamak gerekmiyor (NoSQL yazımız).
NIST'in SP 800-145 tanımındaki üç hizmet modeli SaaS, PaaS ve IaaS; DBaaS bunların arasında ayrıca yer almıyor. Microsoft'un Azure SQL Database için yaptığı gibi PaaS sayılabilir: NIST'in tanımında PaaS kullanıcısı alttaki ağı, sunucuları, işletim sistemini ve depolamayı yönetmez. Modellerin farkını IaaS yazımızda, veritabanı yönetim sistemini VTYS yazımızda anlattık.
Sorumluluk paylaşımı: sağlayıcı ne yapar, size ne kalır?
AWS'nin karşılaştırmasına göre RDS'te donanımdan işletim sistemine, veritabanı yazılımının yamasından yedeğe ve yüksek erişilebilirliğe kadar işletim AWS'de; uygulama optimizasyonu müşteride (DBA yazımız). Müşteride kalanları Google'ın Cloud SQL listesi daha ayrıntılı sayıyor:
- Veritabanı ve performans: Veritabanlarını ve kullanıcının yazdığı kodu oluşturup yönetmek, performansı iş yüküne göre ayarlamak. AWS de sorgu ayarını (query tuning) müşterinin işi sayıyor.
- Kurulum kararları: Sürümü, konumu ve boyutu seçmek; yüksek erişilebilirliği ve felaket kurtarmayı yapılandırmak. Google yüksek erişilebilirliği ancak bu ayarın açıldığı sunucularda üstleniyor.
- Veri ve erişim: Microsoft'a göre veri sınıflandırması, şifreleme kararları, hesaplar ve erişim politikaları her modelde müşteride; uygulama yapılandırması ve kod güvenliği de öyle (SQL injection yazımız). AWS'ye göre ilk kurulumda oluşan ana kullanıcı (master user) uygulamalarda kullanılmamalı.
- Ağ: AWS, veritabanının bir VPC içinde çalıştırılmasını öneriyor; yeni açılan veritabanının güvenlik duvarı, security group kurallarının izin vermediği her bağlantıyı engeller.
Yedekleme ve zamanda geri dönme (PITR)
AWS'ye göre RDS, yedekleme penceresinde tek tek veritabanlarını değil, veritabanı sunucusunun (DB instance) tamamını depolama snapshot'ıyla yedekler. Saklama süresi 0-35 gün: konsoldan açılan sunucuda varsayılanı 7, API ya da CLI ile açılanda 1 gün; 0 otomatik yedeği kapatır. İşlem günlükleri beş dakikada bir S3'e yüklenir ve saklama süresindeki herhangi bir ana dönülebilir. Azure SQL Database'de saklama 1-35 gün, varsayılanı 7 gün; uzun süreli saklama 10 yıla kadar çıkıyor.
RDS'te zamanda geri dönme kaynak sunucuyu değiştirmez, yeni bir sunucu açar. Bu sunucu varsayılan parametre ve seçenek gruplarıyla gelir; uygulamanın da ona yönlendirilmesi gerekir. Sunucu silinirken otomatik yedekleri saklama seçeneği işaretlenmezse yedekler de silinir. Yedeğin işe yaradığını yine geri yükleme testi gösterir; yedek türlerini yedekleme yazımızda, hizmet olarak yedeklemeyi BaaS yazımızda, veri kaybı hedefinin hesabını RPO ve RTO rehberimizde anlattık.
Yüksek erişilebilirlik ve okuma kopyaları
- Multi-AZ: RDS'in Multi-AZ DB instance kurulumu, başka bir erişilebilirlik bölgesinde (Availability Zone) senkron güncellenen ve okuma trafiği almayan bir yedek sunucu (standby) tutar. Arızada geçiş otomatiktir ve AWS'ye göre tipik olarak 60-120 saniye sürer; DNS kaydı değiştiği için uygulama bağlantılarını yeniden kurmalıdır.
- Okuma kopyası (read replica): RDS'te değişiklikler kopyaya asenkron aktarılır. Kopya yalnız okuma bağlantısı kabul eder, okuma yükünü birincil sunucudan alır ve felakette bağımsız bir veritabanına dönüştürülebilir.
Senkron ve asenkron replikasyon farkını replikasyon yazımızda, bölge kaybına karşı planı DRaaS yazımızda ele aldık.
Ölçekleme
Üç kaynağın ölçeklenme kuralı farklı:
- İşlem gücü: RDS'te sunucu sınıfını değiştirmek kesinti yaratır; AWS'ye göre Multi-AZ bu kesintiyi en aza indirir. Azure SQL Database'de tek veritabanı kesintisiz ama elle büyütülüp küçültülür; serverless katmanda işlem gücü iş yüküne göre kendiliğinden ölçeklenir ve saniye başına faturalanır.
- Depolama: RDS'te otomatik ölçekleme açıksa boş alan en az beş dakika boyunca %10 ya da altında kaldığında disk büyür. Ters yönü yok: ayrılmış alan sonradan azaltılamaz.
- Okuma kapasitesi: Okuma kopyası eklenerek artırılır; yazmalar birincil sunucuya gider.
DBaaS, sanal makine ve kurum içi veritabanı farkı
AWS'ye göre kurum içinde sunucunun, işletim sisteminin ve veritabanı yazılımının bütün sorumluluğu sizde. Veritabanını bir sanal makinede (EC2) çalıştırınca donanım sağlayıcıya geçer, ama işletim sistemini ve veritabanı yazılımını elle güncellerken yapılan bir hata uygulamayı durdurabilir.
Sanal makinenin kazancı kontrol: NIST'in IaaS tanımında kullanıcı işletim sistemini denetler ve istediği yazılımı kurar. SP 800-146'ya göre iş yüklerinin taşınabilirliği de genellikle IaaS'ta daha kolay sağlanıyor. DBaaS modeli kurum içinde de kurulabilir: OpenStack'in Trove projesi kendini OpenStack için Database as a Service olarak tanımlıyor. Yönetilen platform modelini yönetilen platform hizmetleri sayfamızda anlattık.
DBA'nın işi nasıl değişir?
DBaaS kurulum ve yama yükünü azaltır ama DBA'nın işini ortadan kaldırmaz:
- Sürüm takvimi: RDS küçük sürümleri bakım penceresinde kendiliğinden yükseltebilir. Uyumsuz değişiklik içerebilen ana sürüm yükseltmesini ise siz başlatırsınız; AWS önce bir test sunucusunda denemeyi öneriyor. Standart destek bitince RDS Extended Support, MySQL ve PostgreSQL için ek ücretle en fazla 3 yıl ek süre tanır; ardından RDS ana sürümü kendisi yükseltir.
- Bakım: Bazı bakım işleri sunucuyu kısa süre çevrim dışı bırakır. Haftalık 30 dakikalık pencereyi siz seçmezseniz RDS onu rastgele bir güne koyar.
- Performans: Azure SQL Database'in otomatik ayar özelliğinde gerileyen sorgu planı yerine son iyi planı zorlama seçeneği varsayılan olarak açık, indeks oluşturma ve silme kapalı.
Günlük işletimi veritabanı platformu ve operasyonları, ekiplerin kendi veritabanını açabildiği platform katmanını veritabanı platform mühendisliği hizmetimizde ele alıyoruz.
Ödünleşimler: bağımlılık, maliyet, ayar sınırları ve veri konumu
- Bağımlılık: NIST'e göre standart diller kullanılsa bile platform hizmetlerinin uygulanışı sağlayıcıdan sağlayıcıya çok değişebilir; farkları gizleyen genel arayüzler de sağlayıcıya özgü özelliklerin kullanımını sınırlar. NIST, başka bir sağlayıcıya geçiş planı hazırlamayı akıllıca buluyor.
- Maliyet: AWS'ye göre her okuma kopyası standart bir sunucu gibi faturalanır; büyüyen disk küçülmez, standart desteği biten sürümde kalmak ek ücret getirir (FinOps yazımız).
- Ayar sınırları: RDS sunucuya (host) erişim vermiyor ve PostgreSQL'de ana kullanıcı superuser değil (PostgreSQL yazımız). Azure SQL Database'de SQL Server Agent, CLR ve linked server yok. Bunlara dayanan bir uygulamanın uyumluluğu taşımadan önce sınanmalı.
- Veri konumu: AWS'ye göre içerik, başlatılan hizmetin gerektirdiği ve hukukun zorunlu kıldığı durumlar dışında müşterinin seçtiği bölgede kalır. Azure SQL Database ise yeni veritabanlarının yedeklerini varsayılan olarak eşleştirilmiş bölgeye kopyalıyor; Cloud SQL de konum seçilmezse yedeği sunucuya en yakın çok bölgeli konumda tutuyor. Yedeğin ve kopyanın yeri de denetlenmeli. RDS'te şifreleme yalnız sunucu açılırken etkinleştirilebiliyor; AWS'nin ya da müşterinin yönettiği anahtar da o sırada seçiliyor. Kişisel verideki yükümlülükleri KVKK ve yurt dışına aktarım yazılarımızda ele aldık.
Sık sorulan sorular
DBaaS ne demek? Database as a service, yani hizmet olarak veritabanı demek. Kurulum, yama, yedek ve yüksek erişilebilirlik sağlayıcının işidir; kullanıcı veritabanını açıp uygulamasını bağlar.
Yönetilen veritabanı ile DBaaS aynı şey mi? Çoğu zaman aynı anlamda kullanılır. AWS, Microsoft ve Google bu hizmetleri yönetilen (managed) ya da tam yönetilen (fully managed) veritabanı diye tanımlıyor.
DBaaS örnekleri nelerdir? İlişkisel tarafta Amazon RDS, Azure SQL Database ve Google Cloud SQL; NoSQL tarafında Amazon DynamoDB bilinen örnekler.
DBaaS platformu kendi veri merkezimizde kurulabilir mi? Evet, kurum içi bir bulut platformunun üzerinde kurulabilir. OpenStack'in Trove projesi kurulum, yapılandırma, yama, yedek, geri yükleme ve izleme işlerini otomatikleştirmeyi hedefliyor; platformun kendisini işletmek ise kuruma düşer.
Kaynaklar
- AWS, What is Amazon Relational Database Service (Amazon RDS)?: RDS tanımı, kurum içi, EC2 ve RDS sorumluluk tablosu, sorgu ayarının sorumluluğu
- AWS, Security in Amazon RDS ve Master user account privileges: VPC, security group ve ana kullanıcı önerisi
- AWS, Amazon RDS for PostgreSQL ve Understanding the rds_superuser role: sunucuya erişim kısıtı ve superuser yetkisinin verilmemesi
- AWS, Introduction to backups, Backup retention period ve Restoring a DB instance to a specified time: otomatik yedek, saklama süresi, işlem günlükleri ve zamanda geri dönme
- AWS, Multi-AZ DB instance deployments, Failing over a Multi-AZ DB instance ve Working with DB instance read replicas: senkron yedek sunucu, failover süresi, okuma kopyaları ve faturalanması
- AWS, Settings for DB instances ve Managing capacity automatically with Amazon RDS storage autoscaling: sunucu sınıfı değişikliğinde kesinti, ana sürümün test sunucusunda denenmesi, depolamanın büyümesi ve küçülmemesi
- AWS, Upgrading a DB instance engine version, Maintaining a DB instance, Amazon RDS Extended Support ve Versions with Amazon RDS Extended Support: küçük ve ana sürüm yükseltmesi, bakım penceresi, uzatılmış destek ve kapsadığı motorlar
- AWS, Encrypting Amazon RDS resources: şifrelemenin açılış sırasında etkinleştirilmesi ve anahtar seçimi
- AWS, Data Privacy FAQ: bölge seçimi ve içeriğin bölge dışına taşınmaması
- AWS, What is Amazon DynamoDB?: tam yönetilen NoSQL veritabanı
- Microsoft Learn, What is Azure SQL Database?: PaaS tanımı, ölçekleme ve serverless katman (son güncelleme 19 Mayıs 2026)
- Microsoft Learn, Automated backups in Azure SQL Database: saklama süresi, uzun süreli saklama ve varsayılan coğrafi yedek (son güncelleme 14 Temmuz 2026)
- Microsoft Learn, Features comparison: Azure SQL Database and Azure SQL Managed Instance: Azure SQL Database'de desteklenmeyen SQL Server özellikleri
- Microsoft Learn, Automatic tuning: otomatik ayar seçenekleri ve varsayılanları (son güncelleme 19 Mart 2025)
- Microsoft Learn, Shared responsibility in the cloud: her modelde müşteride kalan sorumluluklar (son güncelleme 24 Ağustos 2026)
- Google Cloud, Cloud SQL overview, Shared responsibility ve Backup options: Cloud SQL tanımı, Google ile müşteri arasındaki iş bölümü ve yedeklerin varsayılan konumu (son güncelleme 9 Ekim 2026)
- NIST, SP 800-145 The NIST Definition of Cloud Computing ve PDF: üç hizmet modeli, PaaS ve IaaS tanımları (Eylül 2011)
- NIST, SP 800-146 Cloud Computing Synopsis and Recommendations: IaaS'ta taşınabilirlik, PaaS'ta sağlayıcılar arası farklar ve geçiş planı (Mayıs 2012)
- OpenStack, Trove documentation: OpenStack üzerinde DBaaS
- Bu katmanı nasıl işlettiğimiz: veritabanı platformu ve operasyonları