SQL Server ve Azure SQL Arasındaki Fark Nedir?
SQL Server, Microsoft’un on-premise veri tabanı motorudur—fiziksel sunucularınıza kurduğunuz, kendiniz yönettiğiniz ilişkisel veritabanı yazılımıdır. Azure SQL ise bu motorun bulut üzerinde çalışan, Microsoft tarafından yönetilen versiyonlarını kapsayan bir hizmet ailesidir. İkisi arasındaki seçim, sadece teknik bir karar değil—aynı zamanda operasyonel model, maliyet yapısı ve gelecek stratejinizi doğrudan etkileyen bir karar.
Azure SQL Ailesi
Azure SQL Database
Tam yönetimli (fully managed) PaaS hizmetidir. Operating system, yama yönetimi, yedekleme, yüksek erişilebilirlik—bunların tamamı Microsoft tarafından sağlanır. Siz sadece veritabanı şemanız ve sorgularınızla ilgilenirsiniz. Serverless hesaplama modeli ile kullanmadığınız zamanlarda otomatik duraklatma ve otomatik ölçekleme sunar—özellikle geliştirme, test ve düzensiz iş yükleri için maliyeti dramatik şekilde düşürür.
Elastic Pool özelliği, birden fazla veritabanını tek bir kaynak havuzunda barındırmanızı sağlar. SaaS uygulamaları geliştiriyorsanız ve her müşteri için ayrı bir veritabanı kullanıyorsanız, Elastic Pool bu yapıyı maliyet açısından sürdürülebilir kılar.
Azure SQL Managed Instance
On-premise SQL Server’dan buluta geçiş yapan kurumlar için tasarlanmış en uyumlu seçenektir. SQL Server’ın neredeyse tüm özelliklerini destekler: SQL Agent, cross-database queries, CLR, Service Broker, Database Mail ve daha fazlası. Kendi VNet’inizde çalıştığı için ağ izolasyonu güçlüdür.
Managed Instance, “lift and shift” göçü için idealdir. Mevcut SQL Server veritabanlarınızı minimum kod değişikliğiyle buluta taşırsınız. Azure Database Migration Service (DMS) ile bu geçiş minimum kesinti ile gerçekleştirilir.
SQL Server on Azure VM (IaaS)
Tam OS erişimi gerektiren senaryolar için Azure sanal makinesinde SQL Server çalıştırırsınız. En yüksek uyumluluk sunar—on-premise’deki her şey birebir çalışır. Ancak yönetim sorumluluğu tamamen size aittir: yama uygulama, yedekleme stratejisi, yüksek erişilebilirlik yapılandırması hepsi sizin elinizde.
Hangisini Seçmeliyim?
Karar matrisi şöyledir:
- Yeni proje, modern uygulama → Azure SQL Database. En düşük yönetim yükü, en yüksek maliyet verimliliği.
- Mevcut SQL Server’dan göç, yüksek uyumluluk gereksinimi → Azure SQL Managed Instance. Minimum kod değişikliği.
- OS düzeyinde erişim gereksinimi veya üçüncü parti yazılım entegrasyonu → SQL Server on Azure VM. Tam kontrol.
Performans ve Ölçeklendirme
Azure SQL Database’de kaynak modeli DTU veya vCore bazlıdır. DTU modeli basit ve öngörülebilirdir—CPU, I/O ve belleği tek birimde paketler. vCore modeli ise daha esnek kontrol sağlar: CPU ve depolama bağımsız olarak ölçeklenir. Hyperscale katmanı 100 TB’ye kadar veritabanı boyutunu destekler ve saniyeler içinde ölçek değişikliği yapar.
Read replica özelliği, raporlama iş yüklerini ana veritabanından ayırmanızı sağlar. Power BI veya analitik sorgular read replica üzerinden çalışır, transaksiyonel performansı düşürmez.
Güvenlik
Azure SQL, katmanlı güvenlik mimarisi sunar:
- Ağ güvenliği: Virtual Network kuralları, Private Endpoint ve firewall IP kuralları.
- Kimlik doğrulama: Azure AD entegrasyonu, MFA desteği, managed identity.
- Veri koruması: TDE (Transparent Data Encryption) varsayılan olarak aktif, Always Encrypted ile istemci tarafı şifreleme.
- Tehdit algılama: Advanced Threat Protection, güvenlik açığı değerlendirmesi ve denetim logları.
- Dinamik maskeleme: Hassas verilerin yetkisiz kullanıcılara maskelenerek gösterilmesi.
Yedekleme ve İş Sürekliliği
Azure SQL Database, otomatik yedekleme ile nokta-zamanlı geri yükleme (PITR) sunar. Yedekleme politikası: 7-35 gün arası kısa dönem, uzun dönem yedekleme (LTR) ile yıllar boyunca saklama. Geo-restore ile farklı bölgedeki yedeklerden geri yükleme yapılabilir. Auto-failover grupları ile RPO~5 saniye, RTO~30 saniye hedefleri mümkündür.
Maliyet Karşılaştırması
On-premise SQL Server: Lisans maliyeti + sunucu donanımı + elektrik/soğutma + DBA maaşı + yüksek erişilebilirlik altyapısı. TCO hesabı yapıldığında genellikle görünenden çok daha pahalıdır.
Azure SQL Database: Kullandığın kadar öde modeli. Serverless katmanda boşta kaldığında duraklatılır. Azure Hybrid Benefit ile mevcut SQL Server lisanslarınızı kullanarak %55’e varan tasarruf sağlayabilirsiniz. Reserved capacity ile 1 veya 3 yıllık taahhüt karşılığında ek %35’e varan indirim alırsınız.
Göç Rehberi
On-premise’den Azure SQL’e geçiş süreci:
- Değerlendirme: Azure Migrate ve Data Migration Assistant (DMA) ile uyumluluk analizi yapın.
- Hedef seçimi: DMA raporuna göre SQL Database, Managed Instance veya VM seçin.
- Şema ve veri göçü: Azure Database Migration Service (DMS) ile online veya offline göç.
- Test: Uygulama testleri, performans testleri ve failover simülasyonları.
- Cutover: DNS değişikliği ve uygulama bağlantı string’i güncelleme.
Azure SQL Deployment Seçenekleri
Azure SQL ailesi birden fazla dağıtım modeli sunar ve doğru seçim iş yükünüze bağlıdır. Azure SQL Database single database, tam yönetimli PaaS deneyimidir: yedekleme, yama uygulama, yüksek erişilebilirlik platform tarafından yönetilir. Elastic Pool birden fazla veritabanını paylaşılan kaynak havuzunda toplar ve SaaS uygulamaları gibi birçok müşteri veritabanının olduğu senaryolarda maliyet optimizasyonu sağlar.
Azure SQL Managed Instance ise on-premise SQL Server ile neredeyse tam uyumluluk sunar. SQL Agent, cross-database query, CLR, Service Broker gibi instance-level özellikleri destekler. Mevcut SQL Server uygulamalarını minimum değişiklikle buluta taşımak for SQL MI idealdir. SQL Server on Azure VM ise tam kontrol isteyenler için IaaS modeldir: işletim sistemine erişim, custom yazılım yükleme ve her türlü SQL Server özelliği desteklenir.
Performans İzleme ve Optimizasyon
Azure SQL Database yerleşik performans izleme araçları sunar. Query Performance Insight ile en çok kaynak tüketen sorguları tespit edersiniz. Intelligent performance önerileri eksik indeksleri, kullanılmayan indeksleri ve query plan regresyonlarını otomatik olarak belirler. Automatic tuning etkinleştirildiğinde sistem otomatik olarak indeks oluşturur, plan regresyonlarını düzeltir ve kullanılmayan indeksleri kaldırır.
DTU (Database Transaction Unit) modelinde performans tek bir metrikle ölçülür. vCore modelinde ise CPU, bellek ve IOPS ayrı ayrı yapılandırılır ve daha granüler kontrol sunar. Serverless compute tier ile veritabanı kullanılmadığında otomatik olarak duraklatılır ve yeniden erişildiğinde birkaç saniye içinde uyandırılır. Geliştirme ve test ortamları için dramatik maliyet tasarrufu sağlar.
Sık Sorulan Sorular
On-premise SQL Server’dan Azure SQL’e geçiş ne kadar sürer?
Geçiş süresi veritabanı boyutuna, şema karmaşıklığına ve uyumluluk sorunlarına bağlıdır. Azure Database Migration Service (DMS) ile online migration yapılabilir: kaynak veritabanı çalışmaya devam ederken veriler sürekli olarak hedefe replike edilir ve kesinti süresi dakikalarla sınırlı kalır. Azure Migrate assessment aracıyla uyumluluk raporunu çıkarın, engel olan özellikleri tespit edin ve migrasyon planı oluşturun. Küçük veritabanları saatler içinde taşınırken terabyte ölçeğinde veritabanları günler sürebilir.
Azure SQL Database mı Cosmos DB mi kullanmalıyım?
İlişkisel veriler, karmaşık JOIN sorguları, ACID transaction gereksinimleri ve mevcut SQL bilgi birikimi varsa Azure SQL tercih edilir. Esnek şema, küresel dağıtım, düşük gecikme süresi ve masif ölçekleme gerektiren NoSQL iş yükleri için Cosmos DB uygundur. Her iki veritabanı da aynı uygulamada farklı amaçlarla birlikte kullanılabilir.
Yedekleme ve felaket kurtarma nasıl çalışır?
Azure SQL Database otomatik olarak yedekleme alır: tam yedekleme (haftalık), diferansiyel yedekleme (12 saatte bir) ve transaction log yedeklemesi (5-10 dakikada bir). Point-in-time restore ile son 7-35 gün arasında herhangi bir ana geri dönebilirsiniz. Geo-restore ile farklı bölgedeki yedekten kurtarma yapabilirsiniz. Active geo-replication ile bir secondary replica’yı farklı bölgede sürekli senkronize tutarak RPO<5s ve RTO<30s failover sağlarsınız.
Sonuç
SQL Server’dan Azure SQL’e geçiş, sadece bir hosting değişikliği değil—operasyonel dönüşümdür. Otomatik yedekleme, yerleşik yüksek erişilebilirlik, akıllı performans optimizasyonu ve kullandığın kadar öde modeli, veritabanı yönetimini radikal şekilde basitleştirir. CloudSpark olarak, Azure SQL göçü ve optimizasyonu konusunda uzmanız. İletişime geçin, veritabanı stratejinizi birlikte belirleyelim.



