Informatie over gedistribueerde relationele databases
VAN TOEPASSING OP: Azure Cosmos DB for PostgreSQL (mogelijk gemaakt door de Citus-database-extensie naar PostgreSQL)
Azure Cosmos DB is een wereldwijd gedistribueerd databaseplatform voor zowel NoSQL- als relationele databases van elke schaal. In dit artikel worden gedistribueerde relationele databases verkend in de context van de relationele API-optie van Azure Cosmos DB.
Zie het kiezen van het juiste gegevensarchief in Het Azure Architecture Center voor meer informatie over andere opties voor gegevensopslag in Azure.
Uitdagingen
Vaak wanneer u over grote volumes of grote transactionele workloads leest, is het gemakkelijk om te denken dat deze workloads veel groter zijn dan elke werkbelasting die uw toepassing kan tegenkomen. De veronderstelling dat uw workload klein blijft, kan een veilige aanname zijn aan het begin van een project, idee of organisatie. Deze veronderstelling kan echter snel leiden tot een scenario waarin de workload van uw toepassing veel verder groeit dan alle voorspellingen die u hebt gedaan. Het is niet ongebruikelijk dat u verhalen hoort van workloads die voldoen aan de maximale doorvoer- of verwerkingskracht van de database met één exemplaar die economisch en performant was aan het begin van een project.
Relationele databases
Relationele databases organiseren gegevens in een tabelindeling (rij/kolom) met relaties tussen verschillende tabellen in de databases. Relationele databases zijn gebruikelijk in verschillende ondernemingen. Deze ondernemingen hebben vaak een schat aan softwareontwikkelaars die code hebben geschreven op basis van een relationele database of beheerders die schema's ontwerpen en relationele databaseplatforms beheren. Relationele databases ondersteunen ook vaak transacties met ACID-garanties.
Helaas worden veel relationele databasesystemen in eerste instantie geconfigureerd door organisaties op één knooppunt met hogere beperkingen voor reken-, geheugen- en netwerkresources. Deze context kan leiden tot een onjuiste veronderstelling dat alle relationele databases op basis van hun aard één knooppunt zijn.
Gedistribueerde databases
Met veel cloudeigen whitepapers is het gebruikelijk om te horen wat de voordelen zijn van NoSQL-databases, waardoor het lijkt alsof relationele databases geen redelijke keuze zijn voor grootschalige databases of gedistribueerde workloads. Hoewel veel gedistribueerde databases niet-relationeel zijn, zijn dit opties voor gedistribueerde relationele databaseworkloads.
Voor veel van deze opties voor gedistribueerde relationele databases moet uw organisatie plannen voor grootschalige en distributie vanaf het begin van het project. Deze planningsvereiste kan aan het begin van een project aanzienlijke complexiteit toevoegen om ervoor te zorgen dat alle relevante serverknooppunten door uw team worden geconfigureerd, beheerd en onderhouden. De plannings-, implementatie- en netwerkvereisten voor een wereldwijd gedistribueerde relationele database kunnen eenvoudig worden uitgebreid tot veel complexer dan het opzetten van één exemplaar (of een knooppunt).
Azure Cosmos DB
Azure Cosmos DB is een databaseplatform dat gedistribueerde gegevens-API's biedt in zowel NoSQL als relationele varianten. De relationele API voor Azure Cosmos DB is met name gebaseerd op PostgreSQL en de Citus-extensie.
Citus is een PostgreSQL-extensie die ondersteuning toevoegt aan Postgres voor de distributie van gegevens en transacties. Azure Cosmos DB for PostgreSQL is een volledig beheerde service, met citus, die u automatisch hoge beschikbaarheid biedt zonder dat u afzonderlijke serverknooppunten handmatig hoeft te plannen, beheren en onderhouden. Met de API voor PostgreSQL kunt u beginnen met een volledig beheerd cluster met één knooppunt, uw databaseoplossing bouwen en deze vervolgens op een kant-en-klare manier schalen naarmate de behoeften van uw toepassing na verloop van tijd toenemen. Met de API voor PostgreSQL hoeft u vooraf geen complex distributieproject te plannen of een project te plannen om uw gegevens van één knooppunt naar een gedistribueerde database onderweg te migreren.
Volgende stappen
Wilt u aan de slag met Azure Cosmos DB?