MsSql

Azure SQL Elastic Pools: Veritabanı Lisanslama Maliyetini Düşürmenin Yolları

· 8 dakika okuma · 2
Azure SQL Elastic Pools: Veritabanı Lisanslama Maliyetini Düşürmenin Yolları

Merhaba,

Azure SQL maliyetleri üzerine konuşurken Elastic Pools konusuna mutlaka değinmek gerekiyor. Özellikle birden fazla veritabanı çalıştıran kurumlar için bu özellik gerçek anlamda maliyet tasarrufu sağlıyor. Bu yazımda elimden geldiğince pratik bir değerlendirme yapmaya çalışacağım.

Elastic Pool Nedir ?

Normalde her Azure SQL veritabanı kendi compute kaynağını (DTU veya vCore) tüketiyor ve bunun için ayrı ücret ödüyorsunuz. Elastic Pool ile birden fazla veritabanı aynı compute havuzunu paylaşıyor.

Analoji şu: Ayrı ayrı her veritabanı için dedicated sunucu kiralamak yerine güçlü bir sunucu alıp tüm veritabanlarını bu sunucuda çalıştırmak. Yük değişkenlik gösterdiğinde kaynakları en çok ihtiyacı olan DB kullanıyor.

Ne Zaman Elastic Pool Mantıklı ?

Elastic Pool'un gerçekten avantajlı olduğu senaryo: Zirve saatleri birbirini tutmayan çok sayıda veritabanı.

Örnek: SaaS uygulamanızda her müşteri için ayrı bir veritabanı var. Müşteri A mesai saatlerinde aktif, müşteri B farklı saat diliminde. Müşteri C hafta sonları aktif değil. Hepsi aynı anda maksimum yük üretmiyor. Bu durumda her birini ayrı ayrı boyutlandırmak yerine paylaşımlı pool çok daha ekonomik.

Elastic Pool özellikle mantıklı olan durumlar:

  • 10 veya daha fazla veritabanı yönetiyorsanız
  • Veritabanları farklı zirve saatlerinde aktif
  • Ortalama kullanım, maksimum kapasiteden belirgin düşük
  • SaaS, multi-tenant uygulama mimarileri

Maliyet Avantajı Nasıl Hesaplanır ?

Somut bir örnek verelim: 20 veritabanınız var, her biri ortalama 10 DTU kullanıyor ama zirve anında 50 DTU'ya çıkabiliyor. Ayrı ayrı boyutlandırsanız her biri için 50 DTU alırsınız: 20 × 50 = 1000 DTU.

Elastic Pool'da ise zirvelerin aynı anda gelmediğini varsayarsak 300-400 eDTU'luk bir pool yeterli olabiliyor. Bu ciddi bir tasarruf.

Azure Pricing Calculator'da kendi veritabanı sayınızı ve ortalama/zirve kullanımınızı girerek gerçekçi hesaplama yapabilirsiniz.

Elastic Pool'un Dikkat Edilmesi Gereken Yanları

Her şeyin bir bedeli var tabii. Elastic Pool seçiminde dikkat edilmesi gerekenler:

  • Gürültülü komşu riski: Bir veritabanı beklenmedik şekilde yüksek kaynak tüketirse diğerlerini etkileyebilir. Per-database min/max ayarlarıyla bu kontrol altına alınabilir.
  • Tüm DB'ler aynı bölgede ve sunucuda olmalı: Farklı bölgelerdeki veritabanlarını aynı pool'a alamazsınız.
  • Boyutlandırma titizlik gerektirir: Pool çok küçük seçilirse performans sorunları yaşanır, çok büyük seçilirse tasarruf azalır. Gerçek kullanım verilerine göre karar verin.

Elastic Pool ile Serverless Karşılaştırması

Daha önce Serverless yazısında bahsetmiştim. Peki hangisi daha uygun? Kısa özet: Aralıklı ve az kullanılan az sayıda DB için Serverless, aktif ve çok sayıda DB için Elastic Pool genellikle daha ekonomik. İkisi birbirinin rakibi değil, farklı senaryoların çözümü.

İyi Günler Dilerim,

Bu yazıyı paylaş: