Elastik havuzlar, bir veritabanında birden çok veritabanını yönetmenize ve ölçeklendirme Azure SQL Veritabanı

ŞUNUN İÇİN GEÇERLİDİR: Azure SQL Database

Azure SQL Veritabanı havuzları, farklı ve öngörülemeyen kullanım talepleri olan birden çok veritabanını yönetmek ve ölçeklendirmek için basit, uygun maliyetli bir çözümdür. Elastik havuza sahip veritabanları tek bir sunucudadır ve ayarlanmış bir fiyatla kaynak sayısını paylaşır. Azure SQL Veritabanındaki elastik havuzlar, SaaS geliştiricilerinin bir veritabanı grubuna ait fiyat performansını belirtilen bütçe dahilinde iyileştirmesini ve aynı zamanda her veritabanı için performans Elastikliği sunmasını sağlar.

Elastik havuzlar SQL nedir?

SaaS geliştiricileri, birden fazla veritabanından oluşan büyük ölçekli veri katmanlarının üzerinde uygulamalar oluşturur. Her müşteri için tek veritabanı sağlanması yaygın bir uygulama modelidir. Ancak farklı müşteriler genellikle farklı ve öngörülemeyen kullanım düzenleri kullanır ve her bir veritabanı kullanıcılarının kaynak gereksinimlerini tahmin etmek zordur. Geleneksel olarak iki seçeneğiniz vardı:

  • En yüksek kullanım ve fazla ödemeye göre fazla kaynak sağlama veya
  • Performans ve müşteri memnuniyetinin en üst olduğu dönemler için maliyet tasarrufu sağlamak için az sağlama.

Elastik havuzlar, veritabanlarının ihtiyaçlarında gereken performans kaynaklarını elde ettiklerini sağlayarak bu sorunu çözer. Bunlar, tahmin edilebilir bir bütçe içinde basit bir kaynak ayırma mekanizması sağlar. Elastik havuzları kullanan SaaS uygulamalarının tasarım desenleri hakkında daha fazla bilgi edinmek için bkz. Azure SQL Veritabanı kullanan Çok Kiracılı SaaS Uygulamaları için Tasarım Desenleri.

Önemli

Elastik havuzlar için veritabanı başına ücret yoktur. Kullanımdan veya havuzun bir saatten daha kısa süre etkin olup olmadığına bakılmaksızın havuzun en yüksek eDTU veya sanal çekirdek sayısına sahip olduğu her saat için faturalandırabilirsiniz.

Elastik havuzlar, geliştiricinin tek tek veritabanları tarafından öngörülemeyen kullanım sürelerini karşılamak için birden çok veritabanı tarafından paylaşılan bir havuz için kaynak satın almalarına olanak sağlar. Havuz için kaynakları DTU tabanlı satın alma modeline veya sanal çekirdek tabanlı satın alma modeline göre yapılandırabilirsiniz. Bir havuzun kaynak gereksinimi, veritabanlarının toplam kullanımına göre belirlenir. Havuz için kullanılabilir kaynak miktarı geliştirici bütçesi tarafından denetlenr. Geliştirici, veritabanlarını havuza ekler, isteğe bağlı olarak veritabanları için en düşük ve en yüksek kaynakları ayarlar (kaynak modeli seçiminize bağlı olarak en düşük ve en yüksek DTU'lar ya da en düşük veya en yüksek sanal çekirdekler) ve ardından havuz kaynaklarını bütçelerine göre ayarlar. Geliştirici, hizmetini zayıf bir başlangıçtan sürekli artan ölçekte olgun bir işletmeye sorunsuzca büyütmek için havuzları kullanabilir.

Havuz içerisinde tek tek veritabanlarına belirli parametreler içinde otomatik olarak ölçeklendirme esnekliği tanınır. Yoğun yük altında bir veritabanı talebi karşılamak için daha fazla kaynak tüketir. Hafif yükler altındaki veritabanları daha az tüketir ve yük altında yer alan veritabanları kaynak tüketmez. Tek tek veritabanları yerine tüm havuz için kaynak sağlamak, yönetim görevlerinizi basitleştirir. Ayrıca havuz için öngörülebilir bir bütçeniz vardır. Minimum kapalı kalma süresiyle mevcut bir havuza ek kaynaklar eklenebilir. Benzer şekilde, ek kaynaklara artık ihtiyaç yoksa, bu kaynaklar zaman içinde herhangi bir noktada mevcut bir havuzdan kaldırılabilir. Ayrıca havuza veritabanları ekleyebilir veya havuzdan veritabanlarını kaldırabilirsiniz. Bir veritabanı kaynakları tahmin edilebilir bir şekilde normalden az kullanıyorsa bu veritabanını havuzdan çıkarın.

Not

Veritabanlarını elastik havuza veya elastik havuzdan dışarı taşıma sırasında, veritabanı bağlantıları bırakılan işlem sonunda kısa bir süre (saniye sırasıyla) dışında kapalı kalma süresi olmaz.

Esnek havuzun nasıl SQL Veritabanı gerekir?

Havuzlar, belirli kullanım düzenlerine sahip çok sayıda veritabanı bulunan durumlar için çok uygundur. Söz konusu kullanım düzeni, belirli bir veritabanı için ortalama düşük düzeyde kullanım ile nispeten nadir zamanlarda kullanımın ani olarak artması şeklindedir. Buna karşılık, kalıcı orta yüksek kullanım oranına sahip birden çok veritabanı aynı elastik havuza yerleştirilmaması gerekir.

Bir havuza ekleyebileceğiniz veritabanı sayısı arttıkça, tasarruflarınız artar. Uygulama kullanım modelinize bağlı olarak, iki S3 veritabanı kadar az tasarruf elde etmek mümkündür.

Aşağıdaki bölümler veritabanı koleksiyonunuzun bir havuzda olmasının yararlarını nasıl değerlendireceğini anlamanıza yardımcı olabilir. Örneklerde Standart havuzlar kullanılmaktadır, ancak aynı ilkeler Temel ve Premium havuzlar için de geçerlidir.

Veritabanı kullanım modellerini değerlendirme

Aşağıdaki şekilde zamanın büyük bölümünü boşta geçiren, ancak düzenli olarak ani etkinlikler sergileyen bir veritabanı örneğini göstermektedir. Bu model bir havuz için uygun olan kullanım modelidir:

havuz için uygun bir tek veritabanı

Grafik, her veri noktasının 1 dakikalık ayrıntıya sahip olduğu 12:00 ile 1:00 arasındaki 1 saatlik zaman dönemi boyunca DTU kullanımını gösterir. Saat 12:10'da DB1 en fazla 90 DTUS'a ulaşıyor, ancak genel ortalama kullanımı beş DTUS'un altında. Bu iş yükünü tek bir veritabanında çalıştırmak için bir S3 işlem boyutu gereklidir, ancak bu, düşük etkinlik dönemlerinde kaynakların çoğunu kullanılmayan durumda bırakır.

Havuz bu kullanılmayan DTU’ların birden fazla veritabanında paylaşılmasına olanak tanır ve böylece gereken DTU ile genel maliyeti azaltır.

Önceki örnekten devam ederek, Veritabanı1 ile benzer kullanım modellerine sahip ek veritabanları olduğunu varsayalım. Aşağıdaki iki şekilde, DTU tabanlı satın alma modeli kullanılarak zaman içinde kullanımlarının çakışmayan doğasını göstermek için dört veritabanı ve 20 veritabanının kullanımı aynı grafiye katmanlanmıştır:

bir havuz için uygun kullanım modeli ile dört veritabanı

bir havuz için uygun kullanım modeli ile yirmi veritabanı

20 veritabanının tamamındaki toplam DTU kullanımı, önceki şekilde siyah çizgi ile gösterilmiştir. Bu şekil, toplam DTU kullanımının 100 DTU’yu hiçbir zaman aşmadığını ve 20 veritabanının bu süre boyunca 100 eDTU’yu paylaşabileceğini gösterir. Bu da veritabanlarının her biri tek veritabanları için S3 işlem boyutlarına yerleştirilmesine kıyasla DTUS'de 20 kat azalma ve 13 kat fiyat düşüşüne neden olur.

Bu örnek aşağıdaki nedenlerle idealdir:

  • Bir veritabanındaki en yüksek kullanım ile ortalama kullanım arasında büyük farklar mevcuttur.
  • Bir veritabanının en yüksek kullanımı zamanın farklı noktalarında gerçekleşir.
  • eDTU'lar birden fazla veritabanı arasında paylaşılır.

DTU satın alma modelinde havuzun fiyatı, havuz eDTU'larının bir işlevidir. Bir havuzun eDTU birim fiyatı, tek veritabanının DTU birim fiyatından 1,5 kat fazladır. Bununla birlikte havuz eDTU'ları çok sayıda veritabanı tarafından paylaşılabilir ve toplam eDTU sayısı gereklidir. Fiyatlandırma ve eDTU paylaşımındaki bu farklılıklar, havuzların sağlayabileceği tasarruf potansiyelinin temelini oluşturur.

Sanal çekirdek satın alma modelinde elastik havuzların sanal çekirdek birim fiyatı, tek veritabanları için sanal çekirdek birim fiyatıyla aynıdır.

Nasıl yaparım? havuz boyutunu seçin

Bir havuz için en iyi boyut, havuza sahip tüm veritabanları için gereken toplam kaynaklara bağlıdır. Bu, aşağıdakilerin belirlenmesini içerir:

  • Havuza tüm veritabanları tarafından kullanılan maksimum işlem kaynağı sayısı. İşlem kaynakları, satın alma modeli seçiminize bağlı olarak eDTU'lar veya sanal çekirdekler tarafından dizine belirlenir.
  • Havuzdaki tüm veritabanları tarafından kullanılan en fazla depolama baytı sayısı.

Her satın alma modelinde hizmet katmanları ve kaynak sınırları için bkz. DTU tabanlı satın alma modeli veya sanal çekirdek tabanlı satın alma modeli.

Aşağıdaki adımlar, bir havuzun tek veritabanlarından daha uygun maliyetli olup olmadığını tahmin etmeye yardımcı olabilir:

  1. Havuz için gereken eDTUS veya sanal çekirdekleri aşağıdaki gibi tahmin edin:
    • DTU tabanlı satın alma modeli için:
      • MAX(<Veritabanı başına toplam VERITABANı ortalama DTU kullanımı>, <Eşzamanlı olarak en yüksek DB' sayısı DB başına en yüksek × × DTU kullanımı>)
    • Sanal çekirdek tabanlı satın alma modeli için:
      • MAX(<Toplam VERITABANı sayısı DB> başına ortalama sanal çekirdek kullanımı, <Eşzamanlı olarak en yüksek DB'ler olan DB başına en yüksek sanal çekirdek × × kullanımı>)
  2. Havuzdaki tüm veritabanları için gereken veri boyutunu ekleyerek havuz için gereken toplam depolama alanını tahmin etmek. DTU satın alma modeli için bu miktarda depolama alanı sağlayan eDTU havuzu boyutunu seçin.
  3. DTU tabanlı satın alma modeli için, 1. Adım ve 2. Adım'dan alınan eDTU tahminlerinin büyük olanını alır. Sanal çekirdek tabanlı satın alma modeli için 1. Adım'da yer alan sanal çekirdek tahminini kullanın.
  4. İlk SQL Veritabanı sayfasına bakın ve 3. Adım'da tahminden daha büyük olan en küçük havuz boyutunu bulun.
    1. Adım'dan havuz fiyatını tek veritabanları için uygun işlem boyutlarını kullanma fiyatıyla karşılaştırın.

Önemli

Bir havuza yönelik veritabanı sayısı desteklenen en yüksek değere yaklaştığında, yoğun elastik havuzlarda Kaynak yönetimini göz önünde bulundurarak göz önünde bulundurabilirsiniz.

Veritabanı başına özellikler

Elastik havuzlarda kaynak tüketimi desenlerini değiştirmek için isteğe bağlı olarak "veritabanı başına" özellikleri de ayarlayabilirsiniz. Daha fazla bilgi için DTU ve sanal çekirdek elastik havuzlarına ilişkin kaynak sınırları belgelerine bakın.

Diğer SQL Veritabanı havuzlarla kullanma

Elastik işler ve elastik havuzlar

Bir havuz kullanılarak esnek işlerde betik çalıştırma yoluyla yönetim görevleri kolaylaştırılır. Elastik iş, çok sayıda veritabanından kaynaklanan sorunların çoğunu ortadan kaldırır.

Birden fazla veritabanıyla çalışmak için kullanılabilen diğer veritabanı araçları hakkında daha fazla bilgi için bkz. Azure SQL Veritabanı ile ölçek genişletme.

Elastik havuza sahip veritabanları için iş sürekliliği seçenekleri

Havuza alınan veritabanları genellikle tek veritabanları için kullanılabilen iş sürekliliği özelliklerinin aynılarını destekler.

Azure portal kullanarak yeni SQL Veritabanı elastik havuz oluşturma

Azure portal esnek havuz oluşturabileceğiniz iki yol vardır.

  1. Elastik havuz oluşturmak için Azure Portal gidin. Azure SQL arayın ve seçin.

  2. + ekle ' yi seçerek SQL dağıtım seçeneği seçin sayfasını açın. Veritabanları kutucuğunda Ayrıntıları göster ' i seçerek elastik havuzlarla ilgili ek bilgileri görüntüleyebilirsiniz.

  3. Veritabanları kutucuğunda kaynak türü açılan listesinde Esnek havuz ' ı seçin ve ardından Oluştur' u seçin.

    Elastik havuz oluşturma

  4. Alternatif olarak, var olan bir sunucuya gidip + yeni havuz ' a tıklayarak bir elastik havuz oluşturarak bu sunucuya doğrudan bir havuz oluşturabilirsiniz.

Not

Sunucuda birden çok havuz oluşturabilirsiniz, ancak farklı sunuculardan aynı havuza veritabanı ekleyemezsiniz.

Havuzun hizmet katmanı, havuzdaki elastik için kullanılabilen özellikleri ve her bir veritabanı için kullanılabilir maksimum kaynak miktarını belirler. Ayrıntılar için bkz. DTU modelindekielastik havuzlar için kaynak sınırları. Elastik havuzlara yönelik sanal çekirdek tabanlı kaynak sınırları için bkz. sanal çekirdek tabanlı kaynak limitleri-elastik havuzlar.

Havuzun kaynaklarını ve fiyatlandırmasını yapılandırmak için havuzu Yapılandır' a tıklayın. Ardından bir hizmet katmanı seçin, havuza veritabanları ekleyin ve havuz ve veritabanları için kaynak sınırlarını yapılandırın.

Havuzu yapılandırmayı tamamladıktan sonra ' Uygula 'ya tıklayabilir, havuzu değiştirebilir ve ' Tamam 'a tıklayarak havuzu oluşturabilirsiniz.

Elastik havuz ve veritabanlarını izleme

Azure portal, elastik havuzun ve bu havuzun içindeki veritabanlarının kullanımını izleyebilirsiniz. Aynı zamanda esnek havuzunuzdaki bir değişiklik kümesi de oluşturabilir ve tüm değişiklikleri aynı anda gönderebilirsiniz. Bu değişiklikler veritabanlarını ekleme veya kaldırma, elastik havuz ayarlarınızı değiştirme veya veritabanı ayarlarınızı değiştirme içerir.

Yerleşik performans izleme ve Uyarı araçlarını, performans derecelendirmeleri ile birlikte kullanabilirsiniz. ayrıca, SQL Veritabanı daha kolay izleme için ölçümleri ve kaynak günlüklerini de yayabilir .

Müşteri örnek olay incelemeleri

  • SnelStart

    snelstart, iş hizmetlerini ayda 1.000 yeni Azure SQL veritabanı hızında hızla genişletmek için Azure SQL Veritabanı ile elastik havuzlar kullandı.

  • Umbraco

    dönen maco, bulutta binlerce kiracı için hizmetleri hızlıca sağlamak ve ölçeklendirmek üzere Azure SQL Veritabanı ile elastik havuzlar kullanır.

  • Davxko/CSı

    dadxko/csı, geliştirme döngüsünü hızlandırmak ve müşteri hizmetlerini ve performansını geliştirmek için Azure SQL Veritabanı ile elastik havuzlar kullanır.

Sonraki adımlar