Hiper Ölçek ikincil çoğaltmaları

Şunlar için geçerlidir:Azure SQL Veritabanı

Dağıtılmış işlevler mimarisinde açıklandığı gibi, Azure SQL Veritabanı Hiper Ölçek'te çoğaltma olarak da adlandırılan iki farklı işlem düğümü türü vardır:

İkincil çoğaltmalar her zaman salt okunur olur ve üç farklı türde olabilir:

  • Yüksek Kullanılabilirlik çoğaltması
  • Coğrafi çoğaltma
  • Adlandırılmış çoğaltma

Her türün farklı bir mimarisi, özellik kümesi, amacı ve maliyeti vardır. İhtiyacınız olan özelliklere bağlı olarak, üçünden yalnızca birini veya tümünü birlikte kullanabilirsiniz. İkincil çoğaltmalar hem sunucusuz hem de sağlanan işlem katmanları tarafından desteklenir.

Hiper Ölçek adlı çoğaltmaları yapılandırma ve yönetme öğreticileri için bkz:

Yüksek Kullanılabilirlik çoğaltması

Yüksek Kullanılabilirlik (HA) çoğaltması birincil çoğaltmayla aynı sayfa sunucularını kullandığından, HA çoğaltması eklemek için veri kopyası gerekmez. HA çoğaltmaları temel olarak veritabanı kullanılabilirliğini artırmak için kullanılır; yük devretme amacıyla etkin bekleme çoğaltmaları olarak görev yaparlar. Birincil çoğaltma kullanılamaz duruma gelirse, mevcut HA çoğaltmalarından birine yük devretme otomatik ve hızlı olur. bağlantı dizesi değişmesi gerekmez; yük devretme sırasında etkin bağlantıların bırakılması nedeniyle uygulamalar minimum kapalı kalma süresiyle karşılaşabilir. Bu senaryo için her zamanki gibi uygun yeniden deneme mantığı önerilir. Birkaç sürücü zaten bir derece otomatik yeniden deneme mantığı sağlar. .NET kullanıyorsanız, en son Microsoft.Data.SqlClient kitaplığı yapılandırılabilir otomatik yeniden deneme mantığı için yerel tam destek sağlar.

HA çoğaltmaları, birincil çoğaltmayla aynı sunucu ve veritabanı adını kullanır. Hizmet Düzeyi Hedefi de her zaman birincil çoğaltmayla aynıdır. HA çoğaltmaları portaldan veya herhangi bir API'den tek başına kaynak olarak görünür veya yönetilemez.

Sıfırdan dört ha çoğaltmasına kadar olabilir. Bunların sayısı, veritabanı oluşturulurken veya veritabanı oluşturulduktan sonra ortak yönetim uç noktaları ve araçları (örneğin: PowerShell, AZ CLI, Portal, REST API) aracılığıyla değiştirilebilir. HA çoğaltmalarının oluşturulması veya kaldırılması, birincil çoğaltmadaki etkin bağlantıları etkilemez.

HA çoğaltmasına Bağlan

Hiper Ölçek veritabanlarında, ApplicationIntent istemci tarafından kullanılan bağlantı dizesi bağımsız değişkeni, bağlantının okuma-yazma birincil çoğaltmasına mı yoksa salt okunur bir HA çoğaltmasına mı yönlendirilmiş olduğunu belirler. olarak ayarlanırsa ApplicationIntentReadOnly ve veritabanının ikincil çoğaltması yoksa, bağlantı birincil çoğaltmaya yönlendirilir ve varsayılan olarak davranışa ReadWrite yönlendirilir.

-- Connection string with application intent
Server=tcp:<myserver>.database.windows.net;Database=<mydatabase>;ApplicationIntent=ReadOnly;User ID=<myLogin>;Password=<myPassword>;Trusted_Connection=False; Encrypt=True;

Tüm HA çoğaltmaları, kaynak kapasitelerinde aynıdır. Birden fazla HA çoğaltması varsa, okuma amacı iş yükü tüm kullanılabilir HA çoğaltmalarına rastgele dağıtılır. Birden çok HA çoğaltması olduğunda, birincilde yapılan veri değişiklikleriyle ilgili olarak her birinin farklı veri gecikme süresine sahip olabileceğini unutmayın. Her HA çoğaltması, aynı sayfa sunucusu kümesindeki birincil veriyle aynı verileri kullanır. Ancak, her HA çoğaltması üzerindeki yerel veri önbellekleri, birincil çoğaltmadaki günlük kayıtlarını HA çoğaltmalarına ileten işlem günlüğü hizmeti aracılığıyla birincilde yapılan değişiklikleri yansıtır. Sonuç olarak, bir HA çoğaltması tarafından işlenen iş yüküne bağlı olarak, günlük kayıtlarının uygulanması farklı hızlarda gerçekleşebilir ve bu nedenle farklı çoğaltmalar birincil çoğaltmaya göre farklı veri gecikme süresine sahip olabilir.

Adlandırılmış çoğaltma

Aynı HA çoğaltması gibi adlandırılmış bir çoğaltma, birincil çoğaltmayla aynı sayfa sunucularını kullanır. HA çoğaltmalarına benzer şekilde, adlandırılmış çoğaltma eklemek için veri kopyası gerekmez.

HA çoğaltmaları ile adlandırılmış çoğaltmalar arasında farklar vardır:

  • Adlandırılmış çoğaltmalar portalda ve API (AZ CLI, PowerShell, T-SQL) çağrılarında normal (salt okunur) Azure SQL veritabanları olarak görünür.
  • Adlandırılmış çoğaltmaların veritabanı adı birincil çoğaltmadan farklı olabilir ve isteğe bağlı olarak farklı bir mantıksal sunucuda bulunabilir (birincil çoğaltmayla aynı bölgede olduğu sürece).
  • Adlandırılmış çoğaltmaların birincil çoğaltmadan bağımsız olarak ayarlanabilen ve değiştirilebilen kendi Hizmet Düzeyi Hedefi vardır.
  • Adlandırılmış çoğaltmalar, en fazla 30 adlandırılmış çoğaltmayı destekler (her birincil çoğaltma için).
  • Adlandırılmış çoğaltmalar, adlandırılmış çoğaltmaları barındıran mantıksal sunucularda farklı oturum açma bilgileri oluşturarak her adlandırılmış çoğaltma için farklı kimlik doğrulamasını destekler.

Sonuç olarak adlandırılmış çoğaltmalar, salt okunur iş yükleriyle ilgili olarak HA çoğaltmalarına göre çeşitli avantajlar sunar:

  • Birincil çoğaltmanın ölçeği artırılırsa veya azaltılırsa adlandırılmış çoğaltmaya bağlı kullanıcıların bağlantısı kesilmez; aynı zamanda, birincil çoğaltmaya bağlı kullanıcılar, ölçeği artırma veya azaltma sırasında adlandırılmış çoğaltmalardan etkilenmez.
  • Birincil veya adlandırılmış herhangi bir çoğaltmada çalışan iş yükleri, diğer çoğaltmalarda çalışan uzun süre çalışan sorgulardan etkilenmez.

Adlandırılmış çoğaltmaların temel amacı, çok çeşitli okuma ölçeği genişletme senaryolarını etkinleştirmek ve Karma İşlem ve Analitik İşleme (HTAP) iş yüklerini geliştirmektir. Bu tür çözümlerin nasıl oluşturulacağını gösteren örnekler burada verilmiştir:

Yukarıda listelenen ana senaryoların yanı sıra, adlandırılmış çoğaltmalar diğer birçok kullanım örneğini de karşılamak için esneklik ve esneklik sunar:

  • Erişim Yalıtımı: Birincil çoğaltmaya veya diğer adlandırılmış çoğaltmalara değil, belirli bir adlandırılmış çoğaltmaya erişim vekleyebilirsiniz.
  • İş yüküne bağımlı hizmet düzeyi hedefi: Adlandırılmış çoğaltmanın kendi hizmet düzeyi hedefi olabileceğinden, farklı iş yükleri ve kullanım örnekleri için farklı adlandırılmış çoğaltmalar kullanmak mümkündür. Örneğin, adlandırılmış çoğaltmalardan biri Power BI isteklerine hizmet vermek için, diğeri ise Veri Bilimi görevler için Apache Spark'a veri sunmak için kullanılabilir. Her birinin bağımsız bir hizmet düzeyi hedefi olabilir ve bağımsız olarak ölçeklendirilebilir.
  • İş yüküne bağlı yönlendirme: 30 adede kadar adlandırılmış çoğaltma ile, bir uygulamanın başka bir çoğaltmadan yalıtılabilmesi için adlandırılmış çoğaltmaları gruplar halinde kullanmak mümkündür. Örneğin, mobil uygulamalardan gelen istekleri sunmak için dört adlandırılmış çoğaltmadan oluşan bir grup kullanılabilirken, bir web uygulamasından gelen istekleri sunmak için başka bir grup iki adlandırılmış çoğaltma kullanılabilir. Bu yaklaşım, her grup için performans ve maliyetlerin ayrıntılı bir şekilde ayarlanmasını sağlar.

Not

Adlandırılmış çoğaltmalar hiper ölçek hakkında sık sorulan sorular için bkz. Azure SQL Veritabanı Hiper Ölçek adlandırılmış çoğaltmalar hakkında SSS.

Adlandırılmış çoğaltmalar için Hiper Ölçek için alanlar arası yedeklilik

Not

Azure SQL Veritabanı Adlandırılmış Hiper Ölçek çoğaltmaları için alanlar arası yedeklilik şu anda önizleme aşamasındadır.

Adlandırılmış Azure SQL Veritabanı Hiper Ölçek çoğaltmaları için bölge yedekliliği, adlandırılmış çoğaltmalar işlem düğümlerini bir Azure bölgesindeki farklı fiziksel konumlara dağıtmak için Azure Kullanılabilirlik Alanları kullanır. Adlandırılmış çoğaltmalar için bölge yedekliliği seçerek, uygulama mantığında herhangi bir değişiklik yapmadan Hiper Ölçek veritabanlarınızın tüm katmanlarının dayanıklılığını veri merkezi kesintileri de dahil olmak üzere daha geniş bir hata aralığına geliştirebilirsiniz. Daha fazla bilgi için bkz . Hiper Ölçek bölgesi yedekli kullanılabilirliği.

Alanlar arası yedekli çoğaltma adlı hiper ölçek oluşturma öğreticisi için bkz . Çoğaltma adlı hiper ölçek oluşturma.

Uygulama hatası dayanıklılığını test etme ve sorun giderme için bkz . Uygulama hatası dayanıklılığını test etme.

Coğrafi çoğaltma

Etkin coğrafi çoğaltma ile, birincil Hiper Ölçek veritabanının okunabilir ikincil çoğaltmasını aynı veya farklı bir Azure bölgesinde oluşturabilirsiniz. Coğrafi çoğaltmalar farklı bir mantıksal sunucuda oluşturulmalıdır. Coğrafi çoğaltmanın veritabanı adı her zaman birincil çoğaltmanın veritabanı adıyla eşleşir.

Coğrafi çoğaltma oluştururken, tüm veriler birincil sunucudan farklı bir sayfa sunucusu kümesine kopyalanır. Coğrafi çoğaltma, aynı bölgede olsalar bile sayfa sunucularını birincil sunucuyla paylaşmaz. Bu mimari, coğrafi yük devretmeler için gerekli yedekliliği sağlar.

Coğrafi çoğaltmalar, zaman uyumsuz çoğaltma aracılığıyla veritabanının işlem açısından tutarlı bir kopyasını korumak için kullanılır. Coğrafi çoğaltma farklı bir Azure bölgesindeyse, birincil bölgede olağanüstü durum veya kesinti olması durumunda olağanüstü durum kurtarma için kullanılabilir. Coğrafi çoğaltmalar coğrafi okuma ölçeği genişletme senaryoları için de kullanılabilir. Ekim 2022 itibarıyla Hiper Ölçek coğrafi ikincil çoğaltmasından veritabanı kopyası desteklenir.

Hiper Ölçek veritabanı için coğrafi çoğaltmanın geçerli sınırlamaları şunlardır:

  • Yalnızca bir coğrafi çoğaltma oluşturulabilir (aynı veya farklı bölgede).
  • Coğrafi çoğaltmanın belirli bir noktaya geri yüklenmesi desteklenmez.
  • Bir coğrafi çoğaltmanın coğrafi çoğaltması ("coğrafi çoğaltma zincirleme" olarak da bilinir) oluşturulması desteklenmez.

Sorun giderme

Alanlar arası yedekli Çoğaltmalar adlı Hiper Ölçek sorunlarını giderme

  • Uygulama hatası dayanıklılığını test etme ve sorun giderme için bkz . Uygulama hatası dayanıklılığını test etme.

  • PowerShell ve CLI'da çoğaltma adlı alanlar arası yedekli bir çoğaltma oluştururken en az bir yüksek kullanılabilirlik çoğaltması belirtildiğinden emin olun. Örnek için bkz . Çoğaltma adlı bir Hiper Ölçek oluşturma.

    • Azure CLI'da hem "ha-replicas" hem de "yedekli" parametrelerini belirtmeniz gerekir.
    • PowerShell'de "HighAvailabilityReplicaCount" ve "ZoneRedundant" parametresini belirtmeniz gerekir.
    • Atlanırsa hata iletisini alırsınız: (ProvisioningDisabled) There is an insufficient number of high availability replicas to enable zone redundancy for a Hyperscale database.
  • Hiper Ölçek veritabanında, bu özelliği adlandırılmış çoğaltmalar için etkinleştirmek için önkoşul olarak bölge yedekliliği zaten etkinleştirilmelidir.

    • Birincil veritabanında alanlar arası yedeklilik etkinleştirilmiş olsa bile adlandırılmış çoğaltmalar için alanlar arası yedekliliği etkinleştirmek isteğe bağlıdır.
    • Etkinleştirilmemişse şu hata iletisini alırsınız: (DatabaseNamedReplicaSourceDatabaseNotZoneRedundant) Zone Redundancy cannot be enabled on this Named Replica since the primary Hyperscale Database is not zone redundant.

Bilinen sorunlar

sys.databases dosyasından kısmen yanlış veriler döndürüldü

ve dışındaki namedatabase_idsütunlarda adlandırılmış çoğaltmalar için öğesinden sys.databasesdöndürülen satır değerleri tutarsız ve yanlış olabilir. Örneğin, adlandırılmış çoğaltmanın compatibility_level oluşturulduğu birincil veritabanı 150 olarak ayarlansa bile adlandırılmış çoğaltmanın sütunu 140 olarak bildirilebilir. Mümkün olduğunda, doğru verileri döndürecek işlevi kullanarak DATABASEPROPERTYEX() aynı verileri almak geçici bir çözümdür.

Hiper Ölçek adlı çoğaltmaları yapılandırma ve yönetme öğreticileri için bkz:

Daha fazla bilgi için bkz.