Förstå distribuerade NoSQL-databaser

GÄLLER FÖR: Nosql Mongodb Cassandra Gremlin Tabell

Azure Cosmos DB är en globalt distribuerad databasplattform för både NoSQL- och relationsdatabaser i valfri skala. Den här artikeln utforskar distribuerade NoSQL-databaser i kontexten för Azure Cosmos DB:s olika NoSQL API-alternativ.

Mer information om andra alternativ för datalagring i Azure finns i Välja rätt datalager i Azure Architecture Center.

Utmaningar

En av utmaningarna när du underhåller ett databassystem är att många databasmotorer tillämpar lås och lås för att framtvinga strikt ACID-semantik. Den här metoden är fördelaktig i scenarier där databaser kräver hög konsekvens i datatillståndet oavsett hur de används. Även om den här metoden garanterar hög konsekvens, gör den stora kompromisser med avseende på samtidighet, svarstid och tillgänglighet. Den här begränsningen är i grunden en arkitekturbegränsning och tvingar alla team med en hög transaktionsarbetsbelastning att hitta lösningar som att manuellt distribuera eller partitionera data över många olika databaser eller databasnoder. De här lösningarna kan vara tidskrävande och svåra att implementera.

NoSQL-databaser

NoSQL-databaser refererar till databaser som har utformats för att förenkla horisontell skalning genom att justera konsekvensen för att minimera kompromisserna med samtidighet, svarstid och tillgänglighet. NoSQL-databaser erbjöd konfigurerbara konsekvensnivåer så att data kan skalas över många noder och erbjuda hastighet eller tillgänglighet som bättre mappas till programmets behov.

Distribuerade databaser

Distribuerade databaser refererar till databaser som skalas över många olika instanser eller platser. Även om många NoSQL-databaser är utformade för skalning är inte alla nödvändigtvis distribuerade databaser. Ännu mer kräver många NoSQL-databaser tid och arbete för att distribuera över redundanta noder för lokal redundans eller globalt för geo-redundans. Planerings-, implementerings- och nätverkskraven för en globalt distribuerad databas kan vara komplexa.

Azure Cosmos DB

Med en distribuerad databas som också är en NoSQL-databas blev höga transaktionsarbetsbelastningar plötsligt enklare att skapa och hantera. Azure Cosmos DB är en databasplattform som erbjuder distribuerade data-API:er i både NoSQL och relationsvarianter. Mer specifikt erbjuder många av NoSQL-API:erna olika konsekvensalternativ som gör att du kan finjustera den nivå av konsekvens eller tillgänglighet som uppfyller dina verkliga programkrav. Databasen kan konfigureras så att den ger hög konsekvens med kompromisser med hastighet och tillgänglighet. På samma sätt kan databasen konfigureras så att den ger bästa möjliga prestanda med förutsägbara kompromisser med konsekvens och svarstid för dina replikerade data. Azure Cosmos DB distribuerar automatiskt och dynamiskt dina data över lokala instanser eller globalt. Azure Cosmos DB kan också ge ACID-garantier och skala dataflödet för att mappa till programmets krav.

Nästa steg

Vill du komma igång med Azure Cosmos DB?