Informatie over gedistribueerde NoSQL-databases
VAN TOEPASSING OP: NoSQL MongoDB Cassandra Gremlin Tafel
Azure Cosmos DB is een wereldwijd gedistribueerd databaseplatform voor zowel NoSQL- als relationele databases van elke schaal. In dit artikel worden gedistribueerde NoSQL-databases verkend in de context van de verschillende NoSQL-API-opties 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
Een van de uitdagingen bij het onderhouden van een databasesysteem is dat veel database-engines vergrendelingen en vergrendelingen toepassen om strikte ACID-semantiek af te dwingen. Deze benadering is nuttig in scenario's waarin databases een hoge consistentie van de status van de gegevens vereisen, ongeacht hoe deze worden geopend. Hoewel deze aanpak hoge consistentie belooft, maakt het veel afwegingen met betrekking tot gelijktijdigheid, latentie en beschikbaarheid. Deze beperking is in wezen een architectuurbeperking en dwingt elk team met een hoge transactionele workload om tijdelijke oplossingen te vinden, zoals handmatig distribueren, of sharding, gegevens over veel verschillende databases of databaseknooppunten. Deze tijdelijke oplossingen kunnen tijdrovend en lastig zijn om te implementeren.
NoSQL-databases
NoSQL-databases verwijzen naar databases die zijn ontworpen om horizontaal schalen te vereenvoudigen door consistentie aan te passen om de afwegingen tot gelijktijdigheid, latentie en beschikbaarheid te minimaliseren. NoSQL-databases bieden configureerbare consistentieniveaus, zodat gegevens kunnen worden geschaald op veel knooppunten en snelheid of beschikbaarheid kunnen bieden die beter zijn toegewezen aan de behoeften van uw toepassing.
Gedistribueerde databases
Gedistribueerde databases verwijzen naar databases die op veel verschillende exemplaren of locaties worden geschaald. Hoewel veel NoSQL-databases zijn ontworpen voor schaalaanpassing, zijn niet alle noodzakelijkerwijs gedistribueerde databases. Nog meer vereisen veel NoSQL-databases tijd en moeite om over redundante knooppunten te verdelen voor lokale redundantie of wereldwijd voor geo-redundantie. De plannings-, implementatie- en netwerkvereisten voor een wereldwijd gedistribueerde database kunnen complex zijn.
Azure Cosmos DB
Met een gedistribueerde database die ook een NoSQL-database is, werden grote transactionele workloads plotseling eenvoudiger te bouwen en te beheren. Azure Cosmos DB is een databaseplatform dat gedistribueerde gegevens-API's biedt in zowel NoSQL als relationele varianten. Veel NoSQL-API's bieden met name verschillende consistentieopties waarmee u het consistentie- of beschikbaarheidsniveau kunt afstemmen dat voldoet aan uw echte toepassingsvereisten. Uw database kan worden geconfigureerd om hoge consistentie te bieden met compromissen voor snelheid en beschikbaarheid. Op dezelfde manier kan uw database worden geconfigureerd om de beste prestaties te bieden met voorspelbare compromissen voor consistentie en latentie van uw gerepliceerde gegevens. Azure Cosmos DB distribueert uw gegevens automatisch en dynamisch over lokale exemplaren of wereldwijd. Azure Cosmos DB kan ook ACID-garanties bieden en doorvoer schalen om toe te wijzen aan de vereisten van uw toepassing.
Volgende stappen
Wilt u aan de slag met Azure Cosmos DB?