Principy distribuovaných relačních databází

PLATÍ PRO: Azure Cosmos DB for PostgreSQL (využívá rozšíření databáze Citus pro PostgreSQL)

Azure Cosmos DB je globálně distribuovaná databázová platforma pro databáze NoSQL i relační databáze libovolného rozsahu. Tento článek se zabývá distribuovanými relačními databázemi v kontextu možnosti relačního rozhraní API služby Azure Cosmos DB.

Další informace o dalších možnostech úložiště dat v Azure najdete v tématu Volba správného úložiště dat v Centru architektury Azure.

Výzvy

Když si často přečtete o velkých nebo transakčních úlohách, můžete si snadno myslet, že tyto úlohy jsou mnohem větší než ty, kterým může vaše aplikace čelit. Předpoklad, že vaše úloha zůstane malá, může být bezpečným předpokladem na začátku projektu, nápadu nebo organizace. Tento předpoklad ale může rychle vést ke scénáři, kdy zatížení vaší aplikace roste daleko nad rámec předpovědí, které jste vytvořili. Není neobvyklé slyšet zprávy o úlohách, které splňují maximální propustnost nebo výpočetní výkon jednoúčelové databáze, které byly na začátku projektu úsporné a výkonné.

Relační databáze

Relační databáze uspořádají data do tabulkového formátu (řádek/sloupec) s relacemi mezi různými tabulkami v databázích. Relační databáze jsou běžné v různých podnicích. V těchto podnicích je často velké množství vývojářů softwaru, kteří napsali kód pro relační databázi, nebo správců, kteří navrhují schémata a spravují platformy relačních databází. Relační databáze také často podporují transakce se zárukami ACID.

Mnoho systémů relačních databází bohužel organizace zpočátku konfigurují způsobem s jedním uzlem s horními omezeními výpočetních, paměťových a síťových prostředků. Tento kontext může vést k nesprávnému předpokladu, že všechny relační databáze jsou ze své podstaty jedním uzlem.

Distribuované databáze

U mnoha nativních cloudových dokumentů white paper se běžně dozvíte o výhodách databází NoSQL, takže se zdá, že relační databáze nejsou přiměřenou volbou pro rozsáhlé databáze nebo distribuované úlohy. Mnoho distribuovaných databází je nerelačních, ale pro úlohy distribuovaných relačních databází to jsou možnosti.

Mnohé z těchto možností pro distribuované relační databáze vyžadují, aby vaše organizace plánovala velké škálování a distribuci od začátku projektu. Tento požadavek na plánování může na začátku projektu výrazně zkompilovat, aby se zajistilo, že váš tým nakonfiguruje, spravuje a udržuje všechny relevantní uzly serveru. Požadavky na plánování, implementaci a sítě pro globálně distribuovanou relační databázi můžou být mnohem složitější než postavit jednu instanci (nebo uzel).

Azure Cosmos DB

Azure Cosmos DB je databázová platforma, která nabízí distribuovaná datová rozhraní API v noSQL i relačních variantách. Konkrétně relační rozhraní API pro Azure Cosmos DB je založené na PostgreSQL a rozšíření Citus.

Citus je rozšíření PostgreSQL, které do Postgresu přidává podporu distribuce dat a transakcí. Azure Cosmos DB for PostgreSQL je plně spravovaná služba využívající Citus, která automaticky poskytuje vysokou dostupnost, aniž byste museli ručně plánovat, spravovat a udržovat jednotlivé uzly serveru. S rozhraním API for PostgreSQL můžete začít s plně spravovaným clusterem s jedním uzlem, sestavit databázové řešení a pak ho škálovat na klíč podle toho, jak se potřeby vaší aplikace v průběhu času zvětšují. S rozhraním API pro PostgreSQL není potřeba předem plánovat složitý projekt distribuce ani plánovat projekt migrace dat z jednoho uzlu do distribuované databáze.

Další kroky

Chcete začít pracovat se službou Azure Cosmos DB?