Hvordan kan vi bruge Amazon S3 som en database?


Bedste svar

Til at begynde med er der blandede teorier om, hvorvidt Amazon S3 kan bruges som en database. Jeg tror personligt, at Amazon S3 kan bruges som en database med lidt arkitektonisk transformation. Men dette er ikke for svaghjertede og skal tages med en knivspids salt! Selv hvis du er i stand til at gøre det og opnå det, du leder efter, vil det muligvis komme med sine egne mangler.

Architectural Insight: For at forklare tilgangen til at dreje S3 i en database, lad os først forstå den underliggende arkitektur af S3. Amazon S3 er i sig selv et filsystem i stedet for kun at være en vanilje-objektlagringsplatform. Faktisk er Amazon S3 i sig selv i det væsentlige en NoSQL-database. Det er en massiv nøgleværdibutik, hvor nøgle er filnavnet, mens værdi er filindhold.

Som S3 ” s primære brugssag er lagring af objekter, selve den underliggende arkitektur er hovedsageligt et filsystem. Det partitionerer automatisk dine data i en bucket og opretholder et primært indeks for nøglen.

Tilgang: Med S3 betragtet som et pseudofilsystem , kan du tilpasse dets formål til perfekt at fungere som et ACID Database, selvom du ikke ville være i stand til at forespørge på den ligesom enhver anden database. Men så ville du alligevel ikke være i stand til at udføre tilfældige forespørgsler på massive Data Lakes, uanset hvilken sofistikeret platformen er.

På den anden side ville du på AWS S3 være i stand til at udtrække indsigtsfulde målinger gennem intelligent brug af Elastisk MapReduce s opgraderet med en Hadoop-rørledning . Denne tilgang kræver i det væsentlige, at du gemmer alle data genereret af OpenHeatMap som JSON-filer i S3-spande . Afhængigt af hvordan du strukturerer dine data, skal du være i stand til selv at spørge dine data enten via Athena eller S3 Vælg . Hvis du har brug for en anden AWS-tjeneste for at få adgang til databasen, skal du have et API-script, der tillader SQL-transaktioner .

Giv det er et forsøg, og jeg er sikker på, at du får noget ud af det.

Håber det hjælper!

Hvis du leder efter hjælp til at lære S3 og vil oprette din egen S3 skovle kontakt mig.

Svar

Kan du? Jo da. Skulle du? Absolut ikke.

AWS S3 er en god service til lagring af filer. Men når du vil redigere en fil, skal du downloade den i sin helhed, ændre det, du vil have, og derefter uploade den igen; overskrive ændringer foretaget i mellemtiden.

En database har fordel af at have filerne åbne hele tiden, være i stand til at springe rundt og søge efter data og skrive trinvist. Så enhver database, der forventer flerbruger og endda langsom ydeevne, fungerer ikke i denne sammenhæng. Og dette forudsætter, at du bruger “sikring” eller anden mount-S3-som-en-fil-systemsoftware.

Der er dog en måde at bruge S3 som en database i specifikke brugssager. I nogle tilfælde kan det give mening at have en fil gemt i S3 med en “sidevognfil”. Det betyder, at du for eksempel har image123.jpg gemt og derefter ved siden af ​​har image123.json med oplysninger om denne fil.

For eksempel sikkerhedskopier eller andre data, hvor du kan kontrollere, om filen findes ved hjælp af en navngivningsskema inklusive en dato for eksempel, og hvis det gør det, skal du også hente sidevognfilen med ekstra information om filen. På den måde kan du skalere på ubestemt tid uden at involvere en egentlig database.

Afhængigt af dit projekt kan sidevognfilen endda en SQLite-database, som er enkeltfilbaseret og SQL (for det meste) kompatibel. Bare vær opmærksom på de ovennævnte forbehold.

Du er velkommen til at kommentere nedenfor.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *