Hvordan kan vi bruke Amazon S3 som en database?


Beste svaret

Til å begynne med er det blandede teorier om Amazon S3 kan brukes som en database. Jeg tror personlig at Amazon S3 kan brukes som en database med litt arkitektonisk transformasjon. Men dette er ikke for svakhjertede, og må tas med en klype salt! Selv om du er i stand til å gjøre det og oppnå det du leter etter, vil det muligens komme med sine egne mangler.

Architectural Insight: For å forklare tilnærmingen til å snu S3 i en database, la oss først forstå den underliggende arkitekturen til S3. Amazon S3 er i seg selv et filsystem i stedet for bare å være en vaniljelagringsplattform. Faktisk er Amazon S3 i seg selv en NoSQL-database. Det er en massiv nøkkelverdi-butikk, hvor nøkkel er filnavnet, mens verdi er filinnhold.

Som S3 » s primære brukstilfelle er lagring av objekter, selve den underliggende arkitekturen er hovedsakelig et filsystem. Den partisjonerer automatisk dataene dine i en bøtte og opprettholder en primær indeks for nøkkelen.

Tilnærming: Med S3 betraktet som et pseudofilsystem , kan du justere formålet med det å fungere perfekt som et ACID Database, selv om du ikke ville være i stand til å spørre om den akkurat som alle andre databaser. Men da vil du ikke kunne utføre tilfeldige spørsmål på massive Data Lakes uansett, uansett sofistikert plattformen er.

På AWS S3 vil du derimot kunne trekke ut innsiktsfulle beregninger gjennom intelligent bruk av Elastisk MapReduce s opported med en Hadoop-rørledning . Denne tilnærmingen krever i hovedsak at du lagrer all data generert av OpenHeatMap som JSON-filer i S3-bøtter . Mest kritisk, avhengig av hvordan du strukturerer dataene dine, bør du kunne spørre dataene dine enten gjennom Athena eller S3 Velg . Hvis du trenger en annen AWS-tjeneste for å få tilgang til databasen, må du ha et API-skript som tillater SQL-transaksjoner .

Gi det er et forsøk, og jeg er sikker på at du vil få noe ut av det.

Håper dette hjelper!

Hvis du leter etter hjelp til å lære S3 og vil sette opp din egen S3 skuffer vennligst kontakt meg.

Svar

Kan du? Sikker. Burde du? Absolutt ikke.

AWS S3 er en flott tjeneste for lagring av filer. Når du vil redigere en fil, må du imidlertid laste den ned i sin helhet, endre hva du vil og laste den opp igjen. overskrive eventuelle endringer som er gjort i mellomtiden.

En database har fordeler av å ha filene åpne hele tiden, kunne hoppe rundt og søke etter data og skrive trinnvis. Så enhver database som forventer flerbruker og til og med langsom ytelse, vil ikke fungere i denne sammenhengen. Og dette forutsetter at du bruker «sikring» eller annen mount-S3-som-en-fil-systemprogramvare.

Det er imidlertid en måte å bruke S3 som en database, i spesifikke bruksområder. I noen tilfeller kan det være fornuftig å ha en fil lagret i S3, med en «sidevognfil». Det betyr at du for eksempel har image123.jpg lagret og deretter ved siden av har image123.json med informasjon om denne filen.

For eksempel sikkerhetskopier eller andre data der du kan sjekke om filen eksisterer, ved hjelp av en navneskjema inkludert en dato for eksempel, og hvis den gjør det, hente sidevognfilen også, med ekstra informasjon om filen. På den måten kan du skalere på ubestemt tid, uten å involvere en faktisk database.

Avhengig av prosjektet ditt, kan sidevognfilen til og med være en SQLite-database, som er enkeltfilbasert og SQL (for det meste) kompatibel. Bare vær oppmerksom på forbeholdene nevnt ovenfor.

Kommenter gjerne nedenfor.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *