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:
- Birincil: Okuma ve yazma işlemlerine hizmet eder
- İkincil: Okuma ölçeğini genişletme, yüksek kullanılabilirlik ve coğrafi çoğaltma sağlar
İ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ı sunucusuz veya sağlanan işlem katmanlarıyla kullanabilirsiniz.
Hiper Ölçek adlı çoğaltmaları yapılandırma ve yönetme öğreticileri için bkz:
- Çoğaltma adlı bir Hiper Ölçek oluşturma
- Çoğaltma adlı bir Hiper Ölçek'e bağlanma
- Çoğaltma adlı hiper ölçek değiştirme
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ı, 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 (SLO) her zaman birincil çoğaltmayla aynıdır. HA çoğaltmaları portaldan veya herhangi bir API'den tek başına kaynaklar olarak görünür veya yönetilemez. Bunlar birincil çoğaltmayla aynı işlem hızında faturalandırılır, ancak depolama maliyetleri ikincil çoğaltmalar için geçerli değildir.
Sıfırdan dört ha çoğaltmasına kadar olabilir. Yeni veritabanı oluşturulurken sayı çoğaltmalarını belirtebilir veya var olan bir veritabanı için çoğaltma sayısını güncelleştirebilirsiniz. Ortak yönetim uç noktalarını ve araçlarını (örneğin: Azure PowerShell, Azure CLI, Azure portalı, REST API) kullanarak HA çoğaltmalarının sayısını belirtebilirsiniz. HA çoğaltmalarının oluşturulması veya kaldırılması, birincil çoğaltmadaki etkin bağlantıları etkilemez.
HA çoğaltmasına bağlanma
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 ApplicationIntent
ReadOnly
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=<password>;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, HA çoğaltması üzerinde yürütülen 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 (Azure CLI, Azure 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ıldığında veya azaltıldığında adlandırılmış çoğaltmaya bağlı kullanıcıların bağlantısı kesilmez.
- Birincil çoğaltmaya bağlı kullanıcılar, adlandırılmış çoğaltmaların ölçeği artırıldığında veya azaltıldığında 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:
Buna ek olarak, 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
Alanlar arası yedeklilik için yapılandırılan hiper ölçek adlandırılmış çoğaltmalar, 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şturduğunuzda, tüm veriler birincil sunucudan farklı bir sayfa sunucusu kümesine kopyalanır. Coğrafi çoğaltma, sayfa sunucularını aynı bölgede olsalar bile 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 olduğunda 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 parametreleri
ha-replicas
redundant
hem de belirtmeniz gerekir. - PowerShell'de ve
ZoneRedundant
parametresiniHighAvailabilityReplicaCount
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.
- Azure CLI'da hem parametreleri
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 bölge yedekliliği etkinleştirilmiş olsa bile adlandırılmış çoğaltmalar için bölge yedekliliğini 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 name
database_id
sütunlarda adlandırılmış çoğaltmalar için öğesinden sys.databases
döndürülen satır değerleri tutarsız ve yanlış olabilir. Örneğin, adlandırılmış çoğaltmaya compatibility_level
karşılık gelen birincil veritabanı uyumluluk düzeyi 150 olarak ayarlansa bile adlandırılmış çoğaltma sütunu 140 olarak bildirilebilir. Mümkün olduğunda, doğru verileri döndüren işlevini kullanarak DATABASEPROPERTYEX()
aynı verileri almak geçici bir çözümdür.
İlgili içerik
Hiper Ölçek adlı çoğaltmaları yapılandırma ve yönetme öğreticileri için bkz:
- Çoğaltma adlı bir Hiper Ölçek oluşturma
- Çoğaltma adlı bir Hiper Ölçek'e bağlanma
- Çoğaltma adlı hiper ölçek değiştirme
Daha fazla bilgi için bkz.