Noi valori de stocare a obiectelor

Noi valori de stocare a obiectelorCetatea Zburătoare de Nele-Diel

Comanda de stocare a obiectelor S3 Stocare în cloud Mail.ru a tradus un articol despre ce criterii sunt importante atunci când alegeți un depozit de obiecte. Mai jos este textul din perspectiva autorului.

Când vine vorba de stocarea obiectelor, oamenii se gândesc de obicei la un singur lucru: prețul pe TB/GB. Desigur, această măsurătoare este importantă, dar face abordarea unilaterală și echivalează stocarea obiectelor cu un instrument de stocare a arhivei. În plus, această abordare reduce importanța stocării obiectelor pentru tehnologia întreprinderii.

Atunci când alegeți depozitarea obiectelor, ar trebui să acordați atenție cinci caracteristici:

  • performanță;
  • scalabilitate;
  • compatibil S3;
  • răspuns la eșecuri;
  • integritate.

Aceste cinci caracteristici sunt noi valori pentru stocarea obiectelor, împreună cu costul. Să le privim pe toate.

productivitate

Depozitele tradiționale de obiecte nu au performanță. Furnizorii de servicii au sacrificat-o constant în căutarea prețurilor mici. Cu toate acestea, cu depozitarea modernă a obiectelor lucrurile stau diferit.

Diverse sisteme de stocare se apropie sau chiar depășesc viteza lui Hadoop. Cerințe moderne pentru viteze de citire și scriere: de la 10 GB/s pentru hard disk, până la 35 GB/s pentru NVMe. 

Acest debit este suficient pentru Spark, Presto, Tensorflow, Teradata, Vertica, Splunk și alte cadre de calcul moderne din stiva de analiză. Faptul că bazele de date MPP sunt configurate pentru stocarea obiectelor sugerează că acestea sunt din ce în ce mai folosite ca stocare primară.

Dacă sistemul dvs. de stocare nu oferă viteza de care aveți nevoie, nu puteți utiliza datele și nu puteți extrage valoare din ele. Chiar dacă recuperați date din stocarea obiectelor într-o structură de procesare în memorie, veți avea totuși nevoie de lățime de bandă pentru a transfera datele în și din memorie. Depozitele de obiecte vechi nu au suficient.

Acesta este punctul cheie: noua măsurătoare de performanță este debitul, nu latența. Este necesar pentru datele la scară și este norma în infrastructura modernă de date.

Deși benchmark-urile sunt o modalitate bună de a determina performanța, aceasta nu poate fi măsurată cu precizie înainte de a rula aplicația în mediu. Abia după ea poți spune unde se află exact blocajul: în software, discuri, rețea sau la nivel de calcul.

Scalabilitate

Scalabilitatea se referă la numărul de petaocteți care se potrivesc într-un spațiu de nume. Ceea ce susțin furnizorii este scalabilitate ușoară, ceea ce nu spun este că, pe măsură ce se scalează, sistemele monolitice masive devin fragile, complexe, instabile și costisitoare.

Noua măsurătoare pentru scalabilitate este numărul de spații de nume sau de clienți pe care îi puteți servi. Valoarea este preluată direct de la hiperscalare, unde elementele de bază ale stocării sunt mici, dar se ridică la miliarde de unități. În general, aceasta este o metrică cloud.

Atunci când elementele de bază sunt mici, ele sunt mai ușor de optimizat pentru securitate, controlul accesului, managementul politicilor, managementul ciclului de viață și actualizările fără perturbări. Și, în cele din urmă, asigurați productivitatea. Dimensiunea blocului de construcție este o funcție a controlabilității regiunii de defecțiune, care este modul în care sunt construite sistemele de înaltă rezistență.

Multi-tenancy are multe caracteristici. În timp ce dimensiunea vorbește despre modul în care organizațiile oferă acces la date și aplicații, se referă, de asemenea, la aplicațiile în sine și la logica din spatele izolării lor unele de altele.

Caracteristicile unei abordări moderne a multi-client:

  • În scurt timp, numărul clienților poate crește de la câteva sute la câteva milioane.
  • Clienții sunt complet izolați unul de celălalt. Acest lucru le permite să ruleze versiuni diferite ale aceluiași software și să stocheze obiecte cu diferite configurații, permisiuni, caracteristici, niveluri de securitate și întreținere. Acest lucru este necesar atunci când scalați la noi servere, actualizări și zone geografice.
  • Stocarea este scalabilă elastic, resursele sunt furnizate la cerere.
  • Fiecare operațiune este controlată de un API și este automatizată fără intervenție umană.
  • Software-ul poate fi găzduit în containere și poate utiliza sisteme standard de orchestrare, cum ar fi Kubernetes.

Compatibil S3

API-ul Amazon S3 este standardul de facto pentru stocarea obiectelor. Fiecare furnizor de software de stocare a obiectelor pretinde compatibilitate cu acesta. Compatibilitatea cu S3 este binară: fie este complet implementată, fie nu este.

În practică, există sute sau mii de scenarii marginale în care ceva nu merge bine atunci când se utilizează stocarea obiectelor. În special de la furnizorii de software și servicii proprietare. Principalele sale cazuri de utilizare sunt arhivarea directă sau backupul, așa că există puține motive pentru a apela la API, cazurile de utilizare sunt omogene.

Software-ul open source are avantaje semnificative. Acesta acoperă majoritatea scenariilor de vârf, având în vedere dimensiunea și varietatea aplicațiilor, sistemelor de operare și arhitecturilor hardware.

Toate acestea sunt importante pentru dezvoltatorii de aplicații, așa că merită să testați aplicația cu furnizorii de stocare. Open Source facilitează procesul — este mai ușor să înțelegeți ce platformă este potrivită pentru aplicația dvs. Furnizorul poate fi folosit ca punct unic de intrare în stocare, ceea ce înseamnă că vă va satisface nevoile. 

Open source înseamnă: aplicațiile nu sunt legate de un furnizor și sunt mai transparente. Acest lucru asigură un ciclu lung de viață al aplicației.

Și alte câteva note despre open source și S3. 

Dacă rulați o aplicație de date mari, S3 SELECT îmbunătățește performanța și eficiența cu un ordin de mărime. Face acest lucru folosind SQL pentru a prelua doar obiectele de care aveți nevoie din stocare.

Punctul cheie este suportul pentru notificări de grup. Notificările de tip bucket facilitează calculul fără server, o componentă importantă a oricărei arhitecturi de microservicii care este furnizată ca serviciu. Având în vedere că stocarea obiectelor este efectiv stocare în cloud, această capacitate devine critică atunci când stocarea obiectelor este utilizată de aplicații bazate pe cloud.

În cele din urmă, implementarea S3 trebuie să accepte API-urile de criptare pe partea serverului Amazon S3: SSE-C, SSE-S3, SSE-KMS. Și mai bine, S3 acceptă protecția împotriva manipulării, care este cu adevărat sigură. 

Răspuns la eșecuri

O măsură care este probabil adesea trecută cu vederea este modul în care sistemul gestionează eșecurile. Eșecurile apar din mai multe motive, iar stocarea obiectelor trebuie să se ocupe de toate.

De exemplu, există un singur punct de eșec, metrica acestuia este zero.

Din păcate, multe sisteme de stocare a obiectelor folosesc noduri speciale care trebuie activate pentru ca clusterul să funcționeze corect. Acestea includ noduri de nume sau servere de metadate - acest lucru creează un singur punct de eșec.

Chiar și acolo unde există mai multe puncte de eșec, capacitatea de a rezista la eșec catastrofal este primordială. Discurile eșuează, serverele eșuează. Cheia este să creați software conceput pentru a gestiona eșecul ca o condiție normală. Dacă un disc sau un nod eșuează, un astfel de software va continua să funcționeze fără modificări.

Protecția încorporată împotriva ștergerii datelor și a degradării datelor vă asigură că puteți pierde atât de multe discuri sau noduri câte blocuri de paritate aveți - de obicei jumătate din discuri. Numai atunci software-ul nu va putea returna date.

Defecțiunea este rareori testată sub sarcină, dar o astfel de testare este obligatorie. Simularea unei defecțiuni de sarcină va afișa costurile totale suportate după defecțiune.

Consecvență

Un scor de consistență de 100% se mai numește și consistență strictă. Consecvența este o componentă cheie a oricărui sistem de stocare, dar consistența puternică este rară. De exemplu, Amazon S3 ListObject nu este strict consecvent, este consecvent doar la sfârșit.

Ce se înțelege prin consistență strictă? Pentru toate operațiunile care urmează unei operațiuni PUT confirmate, trebuie să aibă loc următoarele:

  • Valoarea actualizată este vizibilă la citirea din orice nod.
  • Actualizarea este protejată împotriva redundanței defecțiunilor nodului.

Aceasta înseamnă că, dacă trageți ștecherul în mijlocul unei înregistrări, nimic nu se va pierde. Sistemul nu returnează niciodată date corupte sau învechite. Acesta este un nivel ridicat care contează în multe scenarii, de la aplicații tranzacționale la backup și recuperare.

Concluzie

Acestea sunt noi valori de stocare a obiectelor care reflectă modelele de utilizare în organizațiile de astăzi, unde performanța, consistența, scalabilitatea, domeniile de erori și compatibilitatea cu S3 sunt elementele de bază pentru aplicațiile cloud și analiza datelor mari. Recomand să folosiți această listă în plus față de preț atunci când construiți stive moderne de date. 

Despre stocarea obiectelor Mail.ru Cloud Solutions: Arhitectura S3. 3 ani de evoluție a Mail.ru Cloud Storage.

Ce altceva de citit:

  1. Un exemplu de aplicație bazată pe evenimente bazate pe webhook-uri în stocarea obiectelor S3 Mail.ru Cloud Solutions.
  2. Mai mult decât Ceph: stocare în cloud MCS 
  3. Lucrul cu stocarea obiectelor Mail.ru Cloud Solutions S3 ca sistem de fișiere.
  4. Canalul nostru Telegram cu știri despre actualizările stocării S3 și alte produse

Sursa: www.habr.com

Adauga un comentariu