Co je Azure HorizonDB (Preview)?

Azure HorizonDB je plně spravovaná cloudová databázová služba připravená pro AI postavená na PostgreSQL. Kombinuje členěnou architekturu výpočetních prostředků a úložiště s návrhem databáze jako protokolu, která zajišťuje předvídatelný výkon, zabezpečení na podnikové úrovni, vysokou dostupnost a bezproblémovou škálovatelnost pro klíčové úlohy.

Azure HorizonDB umožňuje vývojářům vytvářet inteligentní aplikace využívající AI prostřednictvím nativní podpory pro vkládání vektorů a integraci s nástroji Azure AI Foundry Tools a současně zachovat úplnou kompatibilitu PostgreSQL, aby stávající aplikace mohly snadno migrovat na Azure HorizonDB.

případy použití Azure HorizonDB

Azure HorizonDB je škálovatelná alternativa k postgreSQL nativní pro cloud a je navržená pro klíčové úlohy, které nejsou omezené, ale zahrnují:

  • Transakční úlohy (OLTP) – zpracování transakcí s vysokou propustností, nízkou latencí a předvídatelným výkonem pro obchodní aplikace, platformy elektronického obchodování a back-endy SaaS.
  • AI a inteligentní aplikace – Podpora nativního vektorového vyhledávání a vkládání umožňuje vytvářet kanály rag (retrieval-augmented generation), moduly doporučení a sémantické vyhledávání přímo v databázové vrstvě. Správa modelů AI a kanály AI dále zjednodušují vytváření inteligentních aplikací v databázi.
  • Masivní škálování čtení – Aplikace, které mohou využívat škálování čtení s daty odolnými vůči výpadku zóny.
  • Hybridní aplikace - Integrace s ekosystémem Azure, zrcadlení transakčních dat do OneLake ve Fabric a jejich integrace s dalšími analytickými daty.

Architektura Azure HorizonDB

Azure HorizonDB vychází ze dvou základních principů architektury: oddělení výpočetních prostředků a úložiště a návrhu databáze jako protokolu.

Diagram zobrazující Azure horizonDB architecture.

Agregované výpočetní prostředky a úložiště

Architektura plně odděluje výpočetní vrstvu od vrstvy úložiště:

  • úroveň Compute – Výpočty ve službě Azure HorizonDB jsou bezstavové. Výpočetní prostředky (virtuální jádra a paměť) se dají nezávisle škálovat, aniž by to mělo vliv na úložiště a naopak. Čtení můžete horizontálně škálovat přidáním replik do clusteru HorizonDB.
  • Storage layer – Vrstva úložiště používá dvě účelově sestavené skupiny úložišť: jednu vyhrazenou pro WAL, druhou pro data; obě mají odolnost zálohovanou Azure úložištěm. Všechna úložiště jsou ve výchozím nastavení odolná vůči zóně. Úložiště se automaticky škáluje při růstu dat nezávisle na zřízené výpočetní vrstvě.

Oddělení výpočetních prostředků a úložiště nabízí několik výhod:

  • Škálujte výpočetní prostředky a úložiště nezávisle na požadavcích úloh.
  • Rychlé zřizování replik pro čtení, protože sdílejí stejné základní úložiště a nevyžaduje se žádná replikace dat.
  • Rychlejší převzetí služeb při selhání v rámci vysoké dostupnosti díky sdílenému odolnému úložišti WAL a bez nutnosti zpětného převíjení logu.

Architektura databáze jako protokolu

Azure HorizonDB využívá architekturu, v níž databáze funguje jako log a z výpočetní vrstvy do vrstvy úložiště se zapisuje pouze WAL (Write-Ahead Log). Datové stránky nejsou zapsány z výpočetních replik do vrstvy úložiště. WAL je autoritativní zdroj pravdy prostřednictvím systému.

  • Všechny zápisy (Write ahead Log) jsou před potvrzením klientovi přidány do odolné logovací služby. Služba WAL je optimalizovaná pro sémantiku transakčního protokolu a optimalizovaná pro nízkou latenci.
  • Filtrované WAL se odesílá pouze do uzlů úložiště, do nichž změny patří.
  • Uzly úložiště rekonstruují stav stránky použitím WAL a eliminují tradiční kritické body kontrolních bodů.
  • Tento přístup snižuje amplifikaci zápisu a zajišťuje konzistentní a předvídatelnou latenci zápisu bez ohledu na velikost databáze.

Kombinace těchto dvou principů umožňuje Azure HorizonDB zajistit vysokou propustnost, nízkou latenci a efektivní využití prostředků při zachování úplných záruk ACID.

Cluster

Zřízený prostředek Azure HorizonDB je clusterem. Cluster Azure HorizonDB má:

  • Jedna nebo více výpočetních replik, z nichž jedna je zapisovatelná primární replika a ostatní jsou záložní repliky určené pro čtení.
  • Jedna kopie dat v zónovém odolném úložišti sdílené všemi replikami v clusteru.
  • Koncový bod pro čtení i zápis, který vždy odkazuje na primární repliku.
  • Koncový bod jen pro čtení, který vyrovnává zatížení připojení ke všem čitelným replikám.

Výpočetní repliky

Výpočetní replika služby Azure HorizonDB může být buď primární (zapisovatelná), nebo pohotovostní replika, která je určená pro čtení a zároveň je kandidátem pro převzetí služeb při selhání. Replika výpočetních prostředků je místo, kde se nachází relační modul PostgreSQL a kde probíhá jazyk, dotazování a zpracování transakcí. Všechny interakce s clusterem Azure HorizonDB probíhají prostřednictvím výpočetních replik. Pokud chcete mít zónovou odolnost, potřebujete alespoň dvě repliky v clusteru. Repliky můžete přidat nebo odebrat do clusteru Azure HorizonDB podle toho, jak je vaše úloha potřebuje.

Výpočetní repliky mají zřízenou 8 GB paměti na jádro. Výpočetní repliky mají také místní mezipaměť SSD. Tato mezipaměť je mezipaměť NVMe s nízkou latencí, která ukládá horké stránky do mezipaměti a minimalizuje potřebu načítání dat ze vzdálené vrstvy úložiště. Mezipaměť se nachází na všech replikách, primárním a pohotovostním režimu.

Výpočetní repliky se využívají efektivně, protože úlohy související s trvalostí a vysokou dostupností přenášejí na vrstvu úložiště. Toto snižování zátěže poskytuje více procesoru, disku a sítě pro spouštění obchodní logiky aplikací v databázi. Následující úlohy jsou přesunuty z replik výpočetní vrstvy do vrstvy úložiště.

Task Proces PostgreSQL Úspory prostředků
Odesílání WAL z replik walsender Vstupně-výstupní operace disku, vstupně-výstupní operace sítě
Archivace WAL do objektového úložiště Archivátor Vstupně-výstupní operace disku, vstupně-výstupní operace sítě
Zápis špinavé stránky zapisovač na pozadí Vstupně-výstupní operace disku
Vytváření kontrolních bodů kontrolní bod Vstupně-výstupní operace disku
Zálohy pg_dump, pg_basebackup, pg_backup_start, pg_backup_stop Vstupně-výstupní operace disku
Zápis celé stránky Backendy zapisující do WAL Vstupně-výstupní operace disku
Obnovení PostgreSQL WAL obnovení spouštění Vstupně-výstupní operace disku
Opětovné vytvoření repliky pro čtení PostgreSQL obnovení spouštění Vstupně-výstupní operace disku

Storage

Azure HorizonDB spouští dvě flotily úložišť, které jsou podporovány Azure úložištěm objektů blob. Všechny vrstvy zásobníku úložiště jsou ve výchozím nastavení odolné vůči zóně.

Úložiště WAL

Služba WAL je účelová služba, která přijímá WAL z primární výpočetní repliky a je optimalizovaná pro vzorce zápisu WAL s nízkou latencí. Při změně dat (vložení, aktualizace nebo odstranění) na primární replice se WAL zapíše do služby WAL a transakce se potvrdí. WAL se poté asynchronně aplikuje na příslušné datové shardy v rámci úložného clusteru, aby se promítly nejnovější změny. Kromě toho se WAL odesílá do sekundárních výpočetních replik, aby se znovu provedly všechny změny stránek, které jsou v paměti replik. WAL se pak archivuje do Azure úložiště objektů blob a uchovává se po nakonfigurovanou dobu krátkodobého uchovávání.

Úložiště dat

Skupina úložišť dat je mezipaměť pro všechna data v databázi a poskytuje tato data všem výpočetním replikám v clusteru Azure HorizonDB. Úložiště se přiděluje dynamicky, protože databáze roste, aniž by bylo nutné konfigurovat velikost úložiště nebo IOPS. Data z relací postgres jsou horizontálně dělené napříč několika uzly úložiště v vozovém parku, aby se zajistila lepší škálovatelnost. Existuje několik kopií stejného horizontálního oddílu dat uložených napříč zónami kvůli odolnosti. Jak se WAL přehrává na flotile úložiště, špinavé stránky z vozového parku úložiště se pak zapisují do Azure Blob Storage.

úložiště Azure Blob

Azure Blob Storage poskytuje odolnost databázových dat také jako úložiště dat pro archivaci WAL. Data jsou uložena v účtech úložiště s redundancí napříč zónami. Zálohování databází se provádí jako snímky blobů.

Cena

Azure HorizonDB v současné době účtuje:

  • Zřízený výpočetní výkon v jádrohodinách
  • Využité databázové úložiště (GB/měsíc) a
  • Využité úložiště záloh pro krátkodobé uchovávání.

Další podrobnosti o cenách najdete na stránce s cenami.

Omezení

Azure HorizonDB je aktuálně v preview. Následující funkce zatím nejsou k dispozici, na těchto funkcích aktivně pracujeme.

funkce Stav Notes
Konfigurovatelné uchovávání záloh Zatím nedostupné V současné době je uchovávání záloh sedm dní. Pracujeme na povolení 1–35denního uchovávání záloh.
Repliky pro čtení mezi oblastmi Zatím nedostupné Replikace mezi oblastmi pro zotavení po havárii se zatím nepodporuje.
Klíče spravované zákazníkem (CMK) pro šifrování Není k dispozici Šifrování neaktivních uložených dat aktuálně používá pouze klíče spravované službou.
Konfigurovatelná časová období údržby Zatím nedostupné V současnosti probíhají aktualizace během okna údržby spravovaného systémem. Možnost konfigurovat vlastní časové intervaly údržby ještě není k dispozici
Sdružování připojení (PgBouncer) Zatím nedostupné Nástroj pro sdružování externích připojení se dá použít, když pracujeme na sdružování připojení ke službě.
Dlouhodobá retence Není k dispozici V současné době je uchovávání záloh sedm dní.
Ladění indexu Zatím nedostupné Ladění indexů bude brzy k dispozici.
Injektáž virtuální sítě Není k dispozici V současné době podporujeme privátní propojení. Integrace virtuální sítě se zatím nepodporuje.

Note

Tento seznam odráží aktuální stav služby a při vydání nových funkcí se může změnit. Nejnovější aktualizace najdete v poznámkách k verzi .

oblasti Azure

Azure HorizonDB je aktuálně k dispozici v následujících oblastech Azure:

Geography Regions
Severní a Jižní Amerika Střední Kanada, Střed USA, Východ USA, Západ USA 2, Západ USA 3
Evropa Německo – středozápad, Švédsko – střed
Asie a Tichomoří Austrálie – východ

Note

Dostupnost oblastí se může změnit a brzy přidáme další oblasti. Některé oblasti můžou mít omezení pro nová nasazení. Nejnovější dostupnost oblastí najdete na portálu Azure nebo se obraťte na podpora Azure.

Názory a podpora

Pokud máte dotazy nebo návrhy týkající se Azure HorizonDB, můžete získat pomoc a podporu prostřednictvím následujících kanálů: