Cum putem folosi Amazon S3 ca bază de date?


Cel mai bun răspuns

Pentru început, există teorii mixte cu privire la faptul dacă Amazon S3 poate fi utilizat ca bază de date. Personal, cred că Amazon S3 poate fi folosit ca bază de date cu un pic de transformare arhitecturală. Dar acest lucru nu este pentru cei cu inima slabă și trebuie luat cu un vârf de sare! Chiar dacă reușiți să faceți acest lucru și să realizați ceea ce căutați, acesta va veni cu propriile neajunsuri.

Architectural Insight: Pentru a explica abordarea transformării S3 într-o bază de date, să înțelegem mai întâi arhitectura subiacentă a S3. Amazon S3, în sine, este mai degrabă un sistem de fișiere decât să fie doar o platformă de stocare a obiectelor vanilată. De fapt, Amazon S3 în sine este în esență o bază de date NoSQL. Este un depozit masiv de valori-cheie, unde cheia este numele fișierului, în timp ce valoarea este conținutul fișierului.

Ca S3 ” Cazul principal de utilizare este stocarea obiectelor, arhitectura subiacentă în sine este în principal un sistem de fișiere. Acesta vă partiționează automat datele într-o bucket și menține un index principal pentru cheie.

Abordare: Cu S3 considerat ca un pseudo-sistem de fișiere , îi puteți modifica scopul de a acționa perfect ca un ACID Baza de date, deși nu ați putea fi interogată la fel ca orice altă bază de date. Dar atunci nu ați putea executa interogări aleatorii pe lacuri masive de date, oricum ar fi sofisticate platforma este.

Pe de altă parte, pe AWS S3, veți putea extrage valori inteligente prin utilizarea inteligentă a Elastic MapReduce s susținut cu o conductă Hadoop . Această abordare necesită, în esență, să stocați toate datele generate de OpenHeatMap ca fișiere JSON în cupe S3 . Cel mai critic, în funcție de modul în care vă structurați datele, ar trebui să puteți solicita datele dvs. fie prin Athena , fie prin S3 Select . În cazul în care aveți nevoie de orice alt serviciu AWS pentru a accesa baza de date, va trebui să aveți un script API care permite tranzacții SQL .

Oferiți este o încercare și sunt sigur că veți câștiga ceva din asta.

Sper că acest lucru vă va ajuta!

Dacă sunteți în căutarea ajutorului în învățarea S3 și doriți să vă configurați propriul Cupe S3 vă rugăm să mă contactați.

Răspundeți

Puteți? Sigur. Ar trebui să te? Absolut nu.

AWS S3 este un serviciu excelent pentru stocarea fișierelor. Cu toate acestea, atunci când doriți să editați un fișier, va trebui să îl descărcați integral, să schimbați ceea ce doriți și apoi să îl încărcați din nou; suprascrierea oricăror modificări efectuate între timp.

O bază de date beneficiază de deschiderea fișierelor în permanență, posibilitatea de a sări și căuta date și de a scrie în mod incremental. Deci, orice bază de date care se va aștepta la multi-utilizatori și chiar performanță lentă nu va funcționa în acest context. Și acest lucru presupune că utilizați „fuse” sau alt software mount-S3-as-a-file-system.

Există totuși o modalitate de a utiliza S3 ca bază de date, în cazuri de utilizare specifice. În unele cazuri, ar putea avea sens să aveți un fișier stocat în S3, cu un „fișier sidecar”. Asta înseamnă că aveți, de exemplu, imagine123.jpg stocată și apoi alături aveți image123.json cu informații despre acest fișier.

De exemplu, copii de rezervă sau alte date unde puteți verifica dacă fișierul există, utilizând un schemă de denumire, inclusiv o dată, de exemplu, și, dacă se întâmplă, preluați și fișierul sidecar, cu informații suplimentare despre fișier. În acest fel puteți scala la infinit, fără a implica o bază de date reală.

În funcție de proiectul dvs., fișierul sidecar poate chiar și o bază de date SQLite, care este bazată pe un singur fișier și este compatibilă cu SQL (în mare parte). Rețineți doar avertismentele menționate mai sus.

Simțiți-vă liber să comentați mai jos.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *