Een NoSQL-database wordt gebruikt om ongestructureerde data op te slaan. Ongestructureerde data is informatie die niet in een beperking past. NoSQL-databases slaan data op in een niet-relationeel formaat, wat betekent dat u ze niet in vooraf gedefinieerde kolommen hoeft te plaatsen. Een NoSQL-database wordt vaak gebruikt wanneer ontwikkelaars de datastructuur van een bron niet kennen, dus slaan ze data op in een NoSQL-database zonder relationele databasebeperkingen. In plaats van data in velden op te slaan, kunnen ontwikkelaars deze bijvoorbeeld opslaan in een JSON-document.
Ongestructureerde formaten zijn er in hun eigen typen, zoals document, sleutelwaarde, grafiek en kolomfamilie. De NoSQL-leverancier die u kiest, slaat data op in een van deze formaten, maar ze schalen allemaal op in opslagsilo's voor ondernemingen die grote hoeveelheden data kunnen verwerken. Afhankelijk van de NoSQL-leverancier maakt query's gebruik van een andere querysyntaxis dan standaard SQL-databases.
Er zijn verschillende NoSQL-databases beschikbaar binnen het AWS-ecosysteem, dus we behandelen een paar veelvoorkomende databases om u te helpen de juiste oplossing voor uw project te kiezen.
Overzicht van AWS NoSQL-databases
Amazon Web Services (AWS) heeft verschillende NoSQL-databases waaruit u kunt kiezen. Het is belangrijk om elke leverancier te onderzoeken en te onderzoeken wat een database biedt om ervoor te zorgen dat het geschikt is voor uw bedrijfsproject, inclusief open source-toepassingen. We hebben verschillende AWS NoSQL-databases opgenomen met hun voor- en nadelen.
Amazon DynamoDB
Amazon DynamoDB is een cloudgebaseerde serverloze database. In een serverloze omgeving draaien het databaseprogramma en de hardware volledig in de cloud. Dit betekent dat uw bedrijf geen virtuele machine, dedicated server of configuraties voor een on-premise hybride omgeving hoeft te beheren. Het is gunstig voor open source-applicaties.
Ontwikkelaars gebruiken een API om query's naar de serverloze DynamoDB-database te sturen. De database stuurt vervolgens een JSON-reactie op de applicatie van de ontwikkelaar. Beheerders kunnen de database dynamisch en automatisch horizontaal schalen, wat betekent dat servers worden toegevoegd, naarmate de belasting toeneemt. Gebruik DynamoDB wanneer u applicaties hebt die grote hoeveelheden data moeten opslaan en u vermoedt dat het gebruikersbestand van de applicatie en de vereisten voor dataopslag snel zullen toenemen.
Amazon DocumentDB
Voor ontwikkelaars die bekend zijn met MongoDB is Amazon DocumentDB vergelijkbaar en gemodelleerd naar de MongoDB-structuur. Amazon DocumentDB draait in een virtuele cloud, zodat het kan worden gescheiden van andere servers in uw omgeving met behulp van dataabstractie. U kunt bijvoorbeeld Amazon DocumentDB gebruiken voor een op het publiek gerichte applicatie waar u een gedemilitariseerde zone (DMZ) nodig hebt om u te beschermen tegen internetverkeer. Amazon DocumentDB zou een goede bron zijn voor deze architectuur.
Amazon DocumentDB slaat data op als een JSON-object, waardoor het voor ontwikkelaars gemakkelijker is om ze te ontleden. In plaats van data opnieuw te formatteren om in de database in te voegen, kunnen ontwikkelaars het oorspronkelijke JSON-object gebruiken dat uit een bron is verzameld. Berekeningsvermogen wordt losgekoppeld van opslag, zodat beheerders opslag kunnen schalen zonder het rekenvermogen te verhogen, waardoor kosten worden bespaard.
Amazon Neptune
De Amazon Neptune NoSQL-database werkt met een grafiekstructuur. Een grafiekdatabase slaat data op in nodes en bouwt vervolgens relaties op tussen elke node om ze op te vragen en met elkaar te verbinden. Social media-applicaties maken gebruik van een grafiekdatabase. Elke profielopmerking kan worden gekoppeld aan verschillende datapunten om te bepalen of uw project op de een of andere manier is gekoppeld aan anderen, waaronder categorieën van interesses.
Bedrijven met enorme wereldwijde databases kunnen profiteren van Amazon Neptune. Het is ook gunstig voor AI- (AI Intelligence) en GenAI-applicaties (Generative AI). Amazon beweert dat Neptune meer dan 100.000 query's per seconde kan verwerken en kan schalen naar 128TiB per cluster.
Amazon Keyspaces
Net als Amazon Neptune is Amazon Keyspaces ook een grafiekdatabase. Bedrijven met IoT-dataverzameling of massale data die uit verschillende bronnen worden verzameld, kunnen profiteren van Amazon Keyspaces. Een fabrikant met IoT-data die zijn verzameld om machines te bewaken, kan bijvoorbeeld Amazon Keyspaces gebruiken om data sneller op te slaan, te analyseren en op te halen. De gamingindustrie gebruikt Amazon Keyspaces ook om spelersgegevens te verzamelen en applicaties te beheren die nodig zijn voor een snelle reactie op gamerinvoer.
Tijdreeksdata worden vaak opgeslagen in Amazon Keyspaces-databases, en dit type data wordt gebruikt in realtime applicaties. Elke AWS-databaseoplossing biedt snelle responstijden, maar Amazon Keyspaces heeft de laagste latency met responsen binnen een milliseconde. Het schaalt ook naarmate rekenkracht nodig is en er meer opslagcapaciteit nodig is.
AWS NoSQLAWSdatabases vergelijken
Alle AWS NoSQL-databases ondersteunen grote dataopslag, maar het belangrijkste verschil is de manier waarop data worden opgeslagen. Een documentdatabase zoals DynamoDB en DocumentDB slaat informatie op in een JSON-formaat. Documentdatabases zijn het meest intuïtief voor de meeste ontwikkelaars die bekend zijn met relationele databases. Grafiekdatabases zijn gunstig wanneer u een grote hoeveelheid gerelateerde data hebt, en de tijdreeks Amazon Keyspaces-database is het beste voor realtime toepassingen.
Alle vier AWS-databases ondersteunen schaalbaarheid en draaien in de cloud, maar serverloze DynamoDB vereist minder overhead voor personeelsbeheer. AWS ondersteunt ook beveiliging en monitoring die nodig zijn voor databases die gevoelige data opslaan en nalevingsvoorschriften.
Conclusie
Voor het bouwen van een applicatie is meestal een database nodig, en AWS heeft een oplossing voor alle grootschalige enterprise storage-vereisten. Omdat ze in de cloud draaien, weten bedrijven dat hun databases een hoge beschikbaarheid hebben met weinig latency, op voorwaarde dat uw bedrijf voldoende resources inzet om query's en opslag af te handelen. Pure Storage heeft de opslagcapaciteit voor elke bedrijfsapplicatie met zijn cloud block storage en ondersteunt de AWS-databases die in dit artikel worden genoemd.