Azure HorizonDB (Önizleme) nedir?

Azure HorizonDB, PostgreSQL üzerinde oluşturulmuş, bulutta tamamen yönetilen, yapay zekaya hazır bir veritabanı hizmetidir. Görev açısından kritik iş yükleri için öngörülebilir performans, kurumsal düzeyde güvenlik, yüksek kullanılabilirlik ve sorunsuz ölçeklenebilirlik sunmak üzere ayrıştırılmış işlem ve depolama mimarisini günlük tabanlı veritabanı tasarımıyla bir araya getirir.

Azure HorizonDB, geliştiricileri vektör ekleme ve Azure Yapay Zeka Atölyesi Araçları ile tümleştirme için yerel destek aracılığıyla akıllı, yapay zeka destekli uygulamalar oluşturma konusunda güçlendirirken, mevcut uygulamaların kolayca Azure HorizonDB'ye geçirebilmesi için tam PostgreSQL uyumluluğunu korur.

Azure HorizonDB kullanım örnekleri

Azure HorizonDB, kendi kendine yönetilen PostgreSQL'e bulutta yerel olarak ölçeklenebilir bir alternatiftir ve bunlarla sınırlı olmamak üzere görev açısından kritik iş yükleri için tasarlanmıştır:

  • İşlem iş yükleri (OLTP) - İş kolu uygulamaları, e-ticaret platformları ve SaaS arka uçları için tahmin edilebilir performansla yüksek aktarım hızına sahip, düşük gecikme süreli işlem işleme.
  • Yapay zeka ve akıllı uygulamalar - Yerel vektör arama ve ekleme desteği, doğrudan veritabanı katmanında alma artırılmış nesil (RAG) işlem hatları, öneri altyapıları ve anlamsal arama oluşturmanıza olanak tanır. Yapay zeka modeli yönetimi ve yapay zeka işlem hatları, veritabanında akıllı uygulamalar oluşturmayı daha da basitleştirir.
  • Yoğun okuma ölçeklendirmesi - Paylaşılan bölgeler arasında dayanıklı verilerle okuma ölçeklendirmesinden yararlanabilen uygulamalar.
  • Hibrit uygulamalar - Azure ekosistemiyle tümleştirme, işlemsel verileri diğer analitik verilerle tümleştirerek Fabric OneLake'e yansıtma.

Azure HorizonDB mimarisi

Azure HorizonDB, iki temel mimari ilke üzerine kurulmuştur: işlem gücü ile depolamanın ayrılması ve veritabanının bir günlük (log) olarak tasarlanması.

Azure HorizonDB mimarisini gösteren diyagram.

Ayrılmış işlem ve depolama

Mimari, işlem katmanını depolama katmanından tamamen ayırır:

  • Compute katmanı - Azure HorizonDB'de işlem durum bilgisi yoktur. İşlem kaynakları (sanal çekirdekler ve bellek) depolamayı etkilemeden bağımsız olarak ölçeklendirilebilir ve bunun tersi de geçerlidir. HorizonDB kümesine çoğaltma ekleyerek okumaların ölçeğini yatay olarak genişletebilirsiniz.
  • Depolama katmanı - Depolama katmanı iki amaca yönelik depolama filosu kullanır: biri WAL için, diğeri verilere ayrılmış; her ikisi de Azure depolama ile yedeklenen dayanıklılığa sahiptir. Tüm depolama varsayılan olarak bölge yedekliliğine sahiptir. Sağlanan işlem katmanından bağımsız olarak, veriler büyüdükçe depolama alanı otomatik olarak ölçeklendirilir.

İşlem ve depolamanın ayrılması çeşitli avantajlar sağlar:

  • İş yükü taleplerine göre işlem ve depolamayı bağımsız olarak ölçeklendirin.
  • Aynı temel depolama alanını paylaştığından ve veri çoğaltması gerek kalmadığından okuma amaçlı çoğaltmaların hızlı sağlanması.
  • Paylaşılan dayanıklı WAL depolaması sayesinde ve günlüğün geri sarılmasına gerek olmadığından, yüksek kullanılabilirlik için daha hızlı geçiş.

Log tabanlı veritabanı mimarisi

Azure HorizonDB, yalnızca WAL’nin (Write-Ahead Log) işlem katmanından depolama katmanına yazıldığı, veritabanını günlük olarak ele alan bir mimariyi benimser. Veri sayfaları, işlem replikalarından depolama katmanına yazılmaz. WAL, sistem aracılığıyla gerçeklerin yetkili kaynağıdır.

  • Tüm yazma işlemleri, istemciye onaylanmadan önce kalıcı bir günlük hizmetine eklenir (Write-Ahead Log). WAL Hizmeti, bir işlem günlüğünün semantiği için iyileştirilmiştir ve düşük gecikme süresi için iyileştirilmiştir.
  • Filtrelenmiş WAL yalnızca değişikliklerin ait olduğu depolama düğümlerine gönderilir.
  • Depolama düğümleri WAL uygulayarak sayfa durumunu yeniden yapılandırır ve geleneksel denetim noktası G/Ç performans sorunlarını ortadan kaldırır.
  • Bu yaklaşım yazma amplifikasyonu azaltır ve veritabanı boyutundan bağımsız olarak tutarlı, öngörülebilir yazma gecikme süresi sunar.

Bu iki ilkenin birleşimi, Azure HorizonDB'nin tam ACID garantilerini korurken yüksek aktarım hızı, düşük gecikme süresi ve verimli kaynak kullanımı sağlamasına olanak tanır.

Küme

Sağlanan Azure HorizonDB kaynağı bir kümedir. Bir Azure HorizonDB kümesinde:

  • Bir veya daha fazla işlem replikası; bunlardan biri yazılabilir birincildir, diğerleri ise okunabilir beklemede olan replikalardır.
  • Kümedeki tüm çoğaltmalar tarafından paylaşılan, bölge dayanıklı depolama alanındaki verilerin tek bir kopyası.
  • Her zaman birincil replikaya yönlendiren bir okuma-yazma uç noktası.
  • Tüm okunabilir çoğaltmalar arasında bağlantılar için yük dengelemesi yapan salt okunur bir uç nokta.

Hesaplama kopyaları

Bir Azure HorizonDB işlem replikası, birincil (yazılabilir) bir replika veya okunabilir ve aynı zamanda yük devretme için aday olan bir bekleme replikası olabilir. İşlem replikası, PostgreSQL ilişkisel veritabanı altyapısının bulunduğu ve dil, sorgu ile işlem işlemenin yürütüldüğü yerdir. Azure HorizonDB kümesiyle tüm etkileşimler işlem çoğaltmaları aracılığıyla gerçekleşir. Bölgesel dayanıklılığı sağlamak için kümede en az iki replika bulunması gerekir. İş yükünüzün gereksinimlerine göre Azure HorizonDB kümesine replika ekleyebilir veya kaldırabilirsiniz.

İşlem kopyaları, çekirdek başına ayrılmış 8 GB bellekle birlikte gelir. İşlem replikalarının da yerel bir SSD önbelleği vardır. Bu önbellek, sık erişimli sayfaları önbelleğe alan ve uzak depolama katmanından veri getirme gereksinimini en aza indiren düşük gecikme süreli bir NVMe önbelleğidir. Önbellek tüm çoğaltmalarda, birincilde ve yedekte mevcuttur.

İşlem kopyaları, dayanıklılık ve yüksek kullanılabilirlik ile ilgili görevleri depolama katmanına devrettikleri için verimli şekilde kullanılabilir. Bu boşaltma, veritabanındaki uygulamaların iş mantığını çalıştırmak için daha fazla CPU, disk ve ağ sağlar. Aşağıdaki görevler hesaplama kopyalarından depolama katmanına aktarılır.

Görev PostgreSQL işlemi Kaynak tasarrufu
Replikalardan WAL gönderimi walsender Disk GÇ, Ağ GÇ
WAL’nin blob depolamaya arşivlenmesi Arşivleyici Disk GÇ, Ağ GÇ
Kirli Sayfa Yazma arka plan yazarı Disk G/Ç
Kontrol noktası oluşturma kontrol noktası oluşturucu Disk G/Ç
Yedeklemeler pg_dump, pg_basebackup, pg_backup_start, pg_backup_stop Disk G/Ç
Tam sayfa yazma işlemleri WAL yazma yapan arka uçlar Disk G/Ç
PostgreSQL WAL kurtarımı başlangıç kurtarma Disk G/Ç
PostgreSQL okuma replikası yeniden yürütme başlangıç kurtarma Disk G/Ç

Depolama

Azure HorizonDB, Azure blob depolama tarafından yedeklenen iki depolama filosu çalıştırır. Depolama yığınının tüm katmanları varsayılan olarak bölgeye dayanıklıdır.

WAL depolama

WAL Hizmeti, birincil işlem replikasından WAL’ı kabul eden ve düşük gecikme ile WAL yazma iş yükleri için optimize edilmiş, özel olarak tasarlanmış bir hizmettir. Birincil çoğaltmada veri değişikliği (ekleme/güncelleştirme/silme) yapıldığında WAL, WAL hizmetine yazılır ve işlem onaylanır. Wal daha sonra en son değişiklikleri uygulamak için veri depolama filosundaki ilgili veri parçalarına zaman uyumsuz olarak uygulanır. Ayrıca WAL, replikalarda bellekte bulunan sayfalardaki değişiklikleri yeniden uygulamak için ikincil işlem replikalarına gönderilir. WAL daha sonra Azure Blob depolama alanında arşivlenir ve yapılandırılmış kısa süreli saklama süresi boyunca saklanır.

Veri depolama

Veri depolama filosu, Azure HorizonDB kümesindeki tüm işlem çoğaltmalarına veri sunan veritabanındaki tüm veriler için bir önbellektir. Depolama alanı, depolama boyutunu veya IOPS'yi yapılandırmaya gerek kalmadan veritabanı büyüdükçe dinamik olarak ayrılır. Postgres ilişkilerinden alınan veriler, gelişmiş ölçeklenebilirlik sağlamak için filodaki birden çok depolama düğümü arasında parçalanır. Dayanıklılık için bölgeler arasında depolanan aynı veri parçasının birden çok kopyası vardır. WAL depolama filosunda yeniden uygulanırken, depolama filosundaki kirli sayfalar daha sonra Azure Blob Storage’a yazılır.

Azure Blob dosya depolama

Azure Blob depolama, veritabanı verileri için dayanıklılık sağlar ve WAL arşivleme için veri deposu görevi de görür. Veriler alanlar arası yedekli depolama hesaplarında depolanır. Veritabanı yedeklemeleri blobların anlık görüntüleri olarak uygulanır.

Fiyat

Azure HorizonDB şu anda aşağıdakiler için ücretlendirilir:

  • Çekirdek-saat cinsinden sağlanan işlem gücü,
  • Kullanılan veritabanı depolama alanı (GB/ay) ve
  • Kısa süreli saklama süresi için kullanılan yedekleme depolama alanı.

Diğer fiyatlandırma ayrıntıları için fiyatlandırma sayfasını görüntüleyin

Sınırlamalar

Azure HorizonDB şu anda preview içindedir. Aşağıdaki özellikler henüz kullanılamıyor. Bu özellikler üzerinde etkin bir şekilde çalışıyoruz.

Özellik Statü Notlar
Yapılandırılabilir yedek saklama Henüz kullanılamıyor Şu anda yedek saklama süresi yedi gündür. 1 ila 35 gün arası yedek saklamayı etkinleştirmek için çalışıyoruz
Bölgeler arası okuma replikaları Henüz kullanılamıyor Olağanüstü durum kurtarma için bölgeler arası çoğaltma henüz desteklenmiyor.
Şifreleme için müşteri tarafından yönetilen anahtarlar (CMK) Mevcut değil Bekleyen verilerin şifrelenmesinde halen yalnızca hizmet tarafından yönetilen anahtarlar kullanılır.
Yapılandırılabilir bakım pencereleri Henüz kullanılamıyor Şu anda yükseltmeler sistem tarafından yönetilen bir bakım penceresinde gerçekleşir. Özel bakım pencerelerini yapılandırma özelliği henüz kullanılamıyor
Bağlantı Havuzu (PgBouncer) Henüz kullanılamıyor Hizmete bağlantı havuzlama özelliğini eklemek üzerinde çalışırken, harici bir bağlantı havuzlayıcı kullanılabilir.
Uzun süreli saklama (LTR) Mevcut değil Şu anda yedek saklama süresi yedi gündür.
Dizin Ayarlama Henüz kullanılamıyor Dizin ayarlaması yakında geliyor.
Sanal ağ enjeksiyonu Mevcut değil Şu anda özel bağlantıyı destekliyoruz. Sanal ağ tümleştirmesi henüz desteklenmiyor

Note

Bu liste, hizmetin geçerli durumunu yansıtır ve yeni özellikler kullanıma sunuldukçe değiştirilebilir. En son güncelleştirmeler için sürüm notlarını denetleyin.

Azure bölgeleri

Azure HorizonDB şu anda aşağıdaki Azure bölgelerde kullanılabilir:

Geography Bölgeler
Americas Orta Kanada, Orta ABD, Doğu ABD, Batı ABD 2, Batı ABD 3
Europe Orta Batı Almanya, Orta İsveç
Asia Pacific Doğu Avustralya, Orta Kore

Note

Bölge kullanılabilirliği değişebilir ve yakında daha fazla bölge ekleyeceğiz. Bazı bölgelerde yeni dağıtımlar üzerinde kısıtlamalar olabilir. En son bölge kullanılabilirliği için Azure portalına bakın veya Azure desteği başvurun.

Geri bildirim ve destek

Azure HorizonDB hakkında sorularınız veya önerileriniz varsa aşağıdaki kanallardan yardım ve destek alabilirsiniz: