En introduktionsguide till AWS DocumentDB

By rik

Som svar på ett växande behov hos kunder som söker storskalig hantering av MongoDB, har Amazon introducerat DocumentDB som en lösning.

DocumentDB möjliggör enkel skalning från 10 GB upp till 64 TB genom automatisk datahantering. Låt oss undersöka hur detta fungerar.

Vad är DocumentDB?

AWS DocumentDB representerar en vidareutveckling av MongoDB version 3.6. Amazon identifierade ett behov av en lösning som är specialdesignad för omfattande datamängder och affärskritiska arbetsbelastningar. Noterbart är att DocumentDB inte använder MongoDBs källkod, utan är en egenutvecklad produkt från Amazon.

I likhet med MongoDB är DocumentDB en databasmotor för dokumentlagring, en så kallad NoSQL-databas. Denna typ av motor är optimerad för att hantera data i JSON-format, vilket innebär att den indexerar JSON-datastrukturer. Amazon DocumentDB kan ses som en alternativ lösning till MongoDB inom AWS-ekosystemet, trots dess distinkta implementering.

Innan vi går djupare in i Amazon DocumentDB, är det viktigt att förstå vad en NoSQL-databas innebär och varför den har blivit alltmer populär.

Vad är en NoSQL-databas?

NoSQL-databaser skiljer sig från traditionella relationsdatabaser genom att de inte använder tabeller som är länkade till varandra, därav namnet ”inte bara SQL”. De huvudsakliga datatyperna som används är dokument och grafer, vilket gör dem lämpliga för hantering av stora datamängder och höga användarbelastningar.

Utvecklare väljer ofta NoSQL-databaser för deras prestanda snarare än för lagring i sig. NoSQL-data är semistrukturerad och kan anpassa sig till olika former, vilket gör det lättare att hantera stora mängder ostrukturerad data.

NoSQL-databaser är generellt sett mer konsekventa än relationsdatabaser och är enklare att skala samtidigt som de kräver färre resurser. Till skillnad från SQL-databaser, kan NoSQL-databaser skalas horisontellt. Dessutom tillåter de så kallade schemalösa NoSQL-databaserna att databasobjekt kan ha varierande strukturer.

Allt fler utvecklare väljer att hosta sina applikationer och data i publika moln. Möjligheten att skala ut istället för upp och att placera data geografiskt strategiskt har blivit allt viktigare, vilket är funktioner som MongoDB erbjuder.

NoSQL-databaser används flitigt inom en mängd olika branscher. Exempelvis är finansiella och medicinska data, samt data från IoT-enheter, vanliga användningsområden.

Vad ledde till DocumentDB?

Amazon utvecklade DocumentDB som ett svar på de problem många användare upplevde med att hantera MongoDB i stor skala. Amazon ansåg att de befintliga lösningarna, inklusive MongoDB Atlas, inte fullt ut adresserade dessa utmaningar, vilket motiverade dem att skapa en egen lösning.

DocumentDB erbjuder möjligheten att automatiskt skala en databas från 10 GB till 64 TB, vilket eliminerar behovet av manuell hantering. Tidigare var det en stor utmaning att hantera sådana datamängder på ett effektivt sätt.

Amazons lösning inkluderar även inbyggd feltolerans. Lagringsutrymmet delas automatiskt upp i segment om 10 GB, som sedan distribueras över flera diskar. Varje segment replikeras sex gånger inom tre tillgänglighetszoner för att säkerställa datasäkerhet.

Detta innebär att upp till två kopior av data kan gå förlorade utan att skrivfunktioner påverkas, och upp till tre kopior utan att läsfunktioner påverkas. Dessutom har systemet självläkande kapacitet, med automatisk kontroll och korrigering av eventuella fel i datablock och diskar.

Eftersom Amazon hostar tjänsten, omfattas den av många regelverk. Den uppfyller flera standarder, inklusive PCI DSS och ISO 9001, samt SOC 1, SOC 2, SOC 3 och HIPAA.

Fördelar med DocumentDB

#1. MongoDB-kompatibilitet

Amazon DocumentDB är kompatibelt med MongoDB 3.6 och 4.0 drivrutiner. Detta möjliggör för användare att fortsätta använda många av sina befintliga applikationer, drivrutiner och verktyg.

DocumentDB använder Apache 2.0 öppen källkod MongoDB 3.6 och 4.0 API:er för att efterlikna en MongoDB-server. Detta ger prestanda, skalbarhet och tillgänglighet som krävs för affärskritiska MongoDB-applikationer.

#2. Övervakning

Amazon DocumentDB erbjuder Amazon CloudWatch-analys för molndatabasservrar. Genom AWS Management Console kan du övervaka prestandan hos dina kluster, inklusive beräkning och minnesanvändning. Information som frågeflöde, MongoDB-operationsräknare och aktiva anslutningar ingår.

#3. Latens

Amazon DocumentDB stöder JSON-dokument, olika datatyper och snabb indexering. Med en in-memory-arkitektur kan tjänsten snabbt hantera frågor även över stora dokument.

#4. Åtkomstkontroll

Amazon DocumentDB stöder rollbaserad åtkomstkontroll (RBAC) med inbyggda och definierade roller. Med RBAC kan du implementera principen om 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 vilka AWS IAM-användare och -grupper som har tillgång till dina Amazon DocumentDB-resurser, som kluster, instanser, ögonblicksbilder och parametergrupper. Du kan även tagga dina DocumentDB-resurser och reglera åtkomst via IAM.

#5. Kryptering

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

Data i den underliggande lagringen är skyddad, liksom automatiska säkerhetskopior, ögonblicksbilder och repliker. Anslutningar mellan klienter och Amazon DocumentDB krypteras automatiskt med TLS.

#6. Efterlevnadscertifieringar

Amazon DocumentDB är byggt enligt de högsta säkerhetsstandarderna för att hjälpa dig att uppfylla dina egna regler och krav på efterlevnad. Tjänsten är kompatibel med PCI DSS, ISO 9001, 27001, 27017 och 27018, samt SOC 1, 2 och 3 och HIPAA.

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

Amazon DocumentDB Global Clusters erbjuder global läsaccess och katastrofåterställning. Datareplikering sker över upp till fem AWS-webbplatser med minimal inverkan på prestandan.

#8. Multi-AZ-distributioner med repliker

Med upp till 15 repliker i tre tillgänglighetszoner ändrar Amazon DocumentDB automatiskt instanser vid eventuella fel. Systemet försöker omedelbart skapa en ny instans om en befintlig misslyckas.

#9. Feltolerant och självläkande lagring

Lagringsvolymen replikeras sex gånger över tre tillgänglighetszoner. Amazon DocumentDB erbjuder feltolerant lagring som kan hantera dataförlust på upp till två kopior utan att påverka skrivfunktionaliteten. Lagringssystemet är även självläkande, vilket innebär att felaktiga datablock och diskar ersätts automatiskt.

Vanliga frågor om AWS DocumentDB

Är AWS DocumentDB samma som MongoDB?

Amazon DocumentDB är en fullt hanterad dokumentdatabastjänst som är kompatibel med MongoDB och kan användas för MongoDB-arbetsbelastningar. Den erbjuder snabbhet, skalbarhet och enkel hantering.

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

Kunder kan även använda AWS Database Migration Service (DMS) kostnadsfritt i sex månader för att enkelt flytta sina lokala eller Amazon Elastic Cloud (EC2) MongoDB-databaser till AWS DMS med minimal driftstopp.

Hur fungerar Amazon DocumentDB?

Amazon DocumentDB samverkar med Apache 2.0 öppen källkod MongoDB 3.6 och 4.0 API:er som en dokumentdatabas. Det gör att du kan använda samma MongoDB-drivrutiner, applikationer och verktyg med Amazon DocumentDB, 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. Både lagrings- och beräkningskapaciteten kan skalas vertikalt och horisontellt (för högre läskapacitet) genom att lägga till ytterligare repliker (upp till 15) till klustret.

Vilka är de viktigaste designfunktionerna hos Amazon DocumentDB?

Amazon DocumentDB är byggt från grunden med en moln-först-arkitektur, vilket gör det möjligt att enkelt skala JSON-arbetsbelastningar.

En viktig del av DocumentDBs design är att separera lagring och beräkning så att var och en kan växa individuellt. DocumentDB har ett lagringssystem som är distribuerat, feltolerant och självläkande. Varje databaskluster kan lagra upp till 64 TB data utan att behöva delas.

Slutsats

DocumentDB är Amazons fullt hanterade tjänst som är kompatibel med MongoDB. Amazon hävdar att DocumentDB har dubbelt så hög genomströmning som nuvarande MongoDB-lösningar. Alternativet vore att hantera databaser på EC2/EBS, vilket kan vara komplicerat.

Om du behöver dessa garantier är DocumentDB ett bra val, men du kan även välja att fortsätta använda MongoDB. Ett annat argument för att välja DocumentDB är att samla alla dina tjänster inom AWS-ekosystemet.