Baze de date in-memory vs. Discuri solid state (SSD)

Bazele de date in-memory au devenit de curând un subiect intrigant în industria bazelor de date. O dată ce pe piaţă sunt disponibile la scară largă servere de 64 de biţi cu mulţi GB de memorie, o soluţie de baze de date construită complet pe RAM este o perspectivă tentantă pentru mult mai mulţi clienţi. Cu toate astea, pentru mulţi utilizatori de baze de date din sferele guvernamentale, financiare sau de telecomunicaţii, SSD-urile au oferit soluţii pentru baze de date pe RAM de decenii întregi. Performanţa unei soluţii de baze de date construite pe  memorie eclipsează performanţa unei baze de date de pe HDD.

SSD-urile fac procesul de implementare a unei soluţii complete bazate pe memorie nu mai complicat decât transferul tabelelor de baze de date de pe mediul de stocare curent pe un SSD şi ca pornirea acestei baze de date. În plus, SSD-urile oferă o serie de caracteristici pe care bazele de date in-memory nu le pot egala:

Siguranţă

SSD-urile încorporează elemente de siguranţă a sistemului de stocare la nivel de corporaţie, oferind scheme de protecţie avansată a memoriei, cum ar fi ECC sau Chipkill (ce permite unui cip de memorie să se defecteze fără pierdere de date). SSD-urile profesionale au baterii şi discuri redundante cu capacitatea de a menţine datele în siguranţă pe disc. Acest fapt oferă încrederea într-un sistem nevolatil pe care simplele soluții bazate numai pe memoriile din server nu-l pot egala.

Disponibilitate

Folosirea SSD-urilor ca parte a unei baze de date de mare performanţă permite componentelor de stocare ale unei aplicații şi să fie decuplate de componentele sale de server. Acest lucru permite la rândul lui protecție la căderi ale serverului şi la erorile de programare ale aplicaţiilor prin implementarea unor grupuri cu mai multe noduri. O dată cu folosirea SSD-urilor, în detrimentul bazelor de date in-memory, se poate atinge o performanţă mare prin implementarea de noduri cu resurse mari CPU dar cu volum obișnuit de memorie evitând astfel creşterile exponenţiale de preţ cauzate de memoria de gabarit mare. De asemenea, acest fapt reduce acţiunea complexă de a menţine cache-urile din fiecare nod al grupului în coerență unele cu celelalte, pentru că cu cât este mai mare memoria locală a fiecarui nod, cu atât mai dificilă devine problema coerenţei. Testele au arătat că folosirea SSD-urilor RAMSAN cu clustere de baze de date având noduri cu memorii locale mici oferă o performanţă mai mare decât păstrarea bazei de date într-un cluster de baze de date cu noduri cu memorie mare din cauza acestei probleme de coerenţă. Într-un sistem cu disponibilitate extrem de mare, SSD-urile pot fi oglindite pentru a oferi un nivel suplimentar de protecţie la utilizarea unei arhitecturi in-memory de mare performanţă și complet total redundantă.

Scalabilitate

SSD-urile oferă o abordare cu adevărat scalabilă a bazelor de date de mare performanţă. Mediul de stocare suplimentar poate fi adăugat uşor întrucât sistemul se scalează, cu capacități de producţie desfăşurate în aria terabiţilor. În contrast violent cu preţul memoriei de server, preţul pentru a adăuga capacitate la SSD-uri scade pe măsură ce creşte capacitatea totală.

Costuri reduse

La prima vedere, s-ar părea că un SSD este mai scump decât o soluție de bază de date in-memory. Cu toate acestea, cele mai multe implementări de baze de date in-memory sunt de fapt mai scumpe decât implementările SSD, în special dacă se creşte capacitatea. Pe măsură ce creşte densitatea memoriei în servere, costurile de memorie suplimentară cresc în mod dramatic. Pe măsură ce cantitatea de memorie necesară creşte, creşte de obicei şi numărul de procesoare necesare (în majoritatea sistemelor de operare cu mai multe procesoare, există o limitare a cantităţii de memorie pe procesor). Pe măsură ce creşte numărul de procesoare şi capacitatea memoriei, creşte şi preţul licenţei pentru baza de date in-memory. Costurile licenţei pentru baze de date in-memory şi întreţinerea anuală subsecventă pot afecta în mod decisiv comparaţia de preţ. În plus, costurile asociate cu bazele de date in-memory vor creşte proporţional cu numărul serverelor achiziţionate, fapt ce duce la soluţii cluster neplăcute. Un singur SSD poate susţine un grup sau chiar un grid de servere de baze de date fără costuri adiţionale, ceea ce permite scalare independentă a nevoilor de procesor şi de memorie ale unei aplicaţii. În fine, costurile şi acţiunile complexe asociate cu dezvoltarea, testarea şi desfăşurarea bazelor de date in-memory sunt mult mai mari decât costurile de instalare ale unui SSD.

 


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *