En introduktionsguide till AWS DocumentDB

Som svar på ett ökande antal kunder som inte kan köra MongoDB i stor skala, har Amazon implementerat DocumentDB-lösningen.

Du kan enkelt skala från 10GB till 64TB med hjälp av automatisk dataskalning i DocumentDB. Låt oss se hur detta kan göras.

Vad är DocumentDB?

AWS DocumentDB är en uppskalad version av den tidigare MongoDB version 3.6. Amazon kände ett behov av att designa sin lösning för stora datamängder och verksamhetskritiska arbetsbelastningar. DocumentDB använder ingen MongoDB-källkod. Därför är det en proprietär Amazon-implementering.

DocumentDB, precis som MongoDB, är en dokumentbutiksmotor. AWS DocumentDB är en NoSQL-databas. Dokumentlagringsmotorn är vanligtvis JSON-formaterad. Det vill säga, den indexerar JSON-datastrukturer. Amazon DocumentDB är en MongoDB drop-lösning av AWS men annorlunda.

Innan vi tar en djupdykning i Amazon DocumentDB är det viktigt att förstå NoSQL och varför det just nu är nästa stora grej.

Vad är en NoSQL-databas?

NoSQL-databaser har inte tabeller relaterade till varandra (aka ”inte bara SQL”). För det mesta är dokument och grafer de två huvudtyperna av saker som människor använder. De kan hantera mycket data och många användarbelastningar.

Utvecklares användning av NoSQL-databaser gjordes för prestanda, inte för lagring. NoSQL-data är semistrukturerad och polymorf och rymmer lätt stora mängder ostrukturerad data.

Förutom att NoSQL-databaser är mer konsekventa än relationsdatabaser, är de också lättare att skala och behöver färre resurser. Till skillnad från SQL-databaser kan NoSQL-databaser staplas. Schemalösa NoSQL-databaser tillåter olika strukturer för databasobjekt.

Fler utvecklare börjar vara värd för program och data på offentliga moln. Att expandera ut snarare än upp och intelligent geolokalisera data var nyckelkrav. Dessa är funktioner i MongoDB.

Företag överallt använder NoSQL. Ekonomi- och hälsodata är till exempel viktiga användningsfall (t.ex. lagring av IoT-avläsningar från en smart kattlåda).

Vad ledde till DocumentDB?

Amazon kom på idén eftersom många människor hade problem med att köra MongoDB i stor skala. Amazon trodde att ingen av de nuvarande lösningarna, inklusive MongoDB Atlas, kunde lösa sina kunders problem, så de kom på sina egna.

Till exempel låter DocumentDB dig utöka din databas från 10GB till 64TB automatiskt, så att du inte behöver göra någonting. Innan DocumentDB var det svårt att utveckla den här typen av data.

Amazons lösning har också inbyggd feltolerans. Den delar automatiskt upp ditt lagringsutrymme i 10 GB-bitar fördelade på många skivor. Varje 10 GB-bit av din lagringsvolym replikeras sex gånger över tre tillgänglighetszoner för säkerhetskopiering.

Så många som två kopior av data kan gå förlorade utan att skrivtillgängligheten påverkas, och tre dokument kan gå förlorade utan att även läsa tillgängligheten påverkas. Den har också en självläkande lagringskapacitet. Datablock och skivor kontrolleras för fel och åtgärdas automatiskt.

Eftersom Amazon är värd för tjänsten täcks de flesta regler. Den uppfyller många standarder, inklusive PCI DSS och ISO 9001. Den uppfyller även SOC 1, SOC 2, SOC 3 och HIPAA.

Fördelar med DocumentDB

#1. MongoDB-kompatibel

Amazon DocumentDB fungerar med MongoDB 3.6 och 4.0 drivrutiner. Kunder kan använda många av samma appar, drivrutiner och verktyg med Amazon DocumentDB.

Amazon DocumentDB använder Apache 2.0 öppen källkod MongoDB 3.6 och 4.0 API:er för att simulera en MongoDB-server. Prestanda, skalbarhet och tillgänglighet som krävs av affärskritiska MongoDB-applikationer är nu tillgängliga.

#2. Övervakning

Amazon DocumentDB tillhandahåller Amazon CloudWatch-analys för molndatabasservrar. Med hjälp av AWS Management Console kan du övervaka ditt kluster prestanda inom områden som beräkning och minne. Query throughput, MongoDB operation counts och aktiva anslutningar ingår.

#3. Latens

Amazon DocumentDB stöder JSON-dokument, flera datatyper och snabb indexering. En in-memory-arkitektur gör att tjänsten snabbt kan bedöma frågor över stora dokument.

#4. Åtkomstkontroll

Amazon DocumentDB stöder RBAC med inbyggda och definierade roller. RBAC låter dig implementera minsta privilegium genom att begränsa vad användare kan göra.

Som en del av AWS Identity and Access Management (IAM) kan du hantera vad AWS IAM-användare och -grupper kan göra med Amazon DocumentDB-resurser, inklusive kluster, instanser, ögonblicksbilder och parametergrupper. Du kan också tagga dina Amazon DocumentDB-resurser och reglera dina IAM-användare och grupper.

#5. Kryptering

Med hjälp av AWS Key Management Service kan du kryptera dina Amazon DocumentDB (KMS)-databaser.

Datan i den underliggande lagringen är skyddad, liksom automatiska säkerhetskopior, ögonblicksbilder och repliker i ett kluster som använder Amazon DocumentDB-kryptering. Client-to-Amazon DocumentDB-anslutningar krypteras automatiskt med TLS.

#6. Efterlevnadscertifieringar

Amazon DocumentDB byggdes enligt de högsta säkerhetsstandarderna för att hjälpa dig att tillfredsställa dina egna regler och efterlevnadsbehov. Amazon DocumentDB är PCI DSS, ISO 9001, 27001, 27017 och 27018-kompatibel, SOC 1, 2 och 3-kompatibel och HIPAA-kompatibel.

#7. Globala kluster med hög tillgänglighet

Amazon DocumentDB Global Clusters möjliggör global läsning och katastrofåterställning. Den duplicerar din data över upp till fem AWS-webbplatser med minimal prestandapåverkan.

#8. Multi-AZ-distributioner med repliker

Med upp till 15 repliker i tre tillgänglighetszoner ändrar Amazon DocumentDB automatiskt instanser när en misslyckas. I händelse av misslyckande kommer Amazon DocumentDB att försöka skapa ett nytt exempel för en.

#9. Feltolerant och självläkande förvaring

Lagringsvolymen kopieras sex gånger över tre AZ (AZ). Amazon DocumentDB erbjuder feltolerant lagring för att hantera dataförlust på upp till två kopior utan att påverka skrivtillgängligheten. Amazon DocumentDBs lagring är också självläkande och ersätter misslyckade datablock och skivor.

AWS DocumentDB FAQ

Är AWS DocumentDB samma som MongoDB?

Förutom att vara snabb, skalbar och helt hanterad, är Amazon DocumentDB (med MongoDB-kompatibilitet) en helt hanterad dokumentdatabastjänst som kan användas med MongoDB-arbetsbelastningar.

JSON-data kan lagras i Amazon DocumentDB som en dokumentdatabas. Du kan enkelt lagra, söka efter och indexera data.

Kunder kan använda AWS Database Migration Service (DMS) gratis i sex månader för att snabbt och enkelt flytta sina lokala eller Amazon Elastic Cloud (EC2) MongoDB icke-relationella databaser till AWS Database Migration Service (DMS) nästan utan driftstopp .

Hur fungerar Amazon DocumentDB?

Amazon DocumentDB interagerar med Apache 2.0 öppen källkod MongoDB 3.6 och 4.0 API:er som en dokumentdatabas. Som ett resultat kan man använda samma MongoDB-drivrutiner, applikationer och verktyg med Amazon DDocumentDB med små eller inga ändringar.

Hur skalas Amazon DocumentDB?

Amazon DocumentDB är en webbskalig databas som kan skalas från 10 GB till 64 TB i steg om 10 GB. Amazon DocumentDB:s lagrings- och beräkningskapacitet kan skalas vertikalt och horisontellt (för större läskapacitet) genom att lägga till ytterligare replikinstanser (upp till 15) till klustret.

När det gäller design, vad är de viktigaste sakerna med Amazon DocumentDB?

En moln-först-arkitektur har använts för att bygga Amazon DocumentDB från grunden. Det betyder att JSON-arbetsbelastningar enkelt kan skalas.

En viktig del av DocumentDBs design är att separera lagring och bearbetning, så att var och en kan växa i sin egen takt. DocumentDB har ett lagringssystem som är distribuerat, feltolerant och självläkande. Varje databaskluster kan lagra upp till 64 TB data utan att dela upp det.

Slutsats

DocumentDB är Amazons enda hanterade MongoDB-kompatibla tjänst. Amazon säger att DocumentDB har dubbelt så stor genomströmning som för närvarande tillgängliga MongoDB-lösningar. Alternativet skulle vara att hantera databaser på EC2/EBS, vilket är utmanande.

Om du behöver dessa garantier, välj DocumentDB eller håll dig till MongoDB. En annan anledning till att välja DocumentDB är att behålla allt i AWS.