Procesare în memorie - In-memory processing

În informatică , procesarea în memorie este o tehnologie emergentă pentru prelucrarea datelor stocate într-o bază de date în memorie . Sistemele mai vechi s-au bazat pe stocarea pe disc și bazele de date relaționale care utilizează limbajul de interogare SQL , dar acestea sunt din ce în ce mai considerate ca fiind inadecvate pentru a satisface nevoile de business intelligence (BI). Deoarece datele stocate sunt accesate mult mai rapid atunci când sunt plasate în memoria cu acces aleatoriu (RAM) sau în memoria flash , procesarea în memorie permite analizarea datelor în timp real , permițând raportarea și luarea mai rapidă a deciziilor în afaceri.

Business Intelligence bazat pe disc

Structuri de date

Cu tehnologia bazată pe disc, datele sunt încărcate pe hard diskul computerului sub formă de tabele multiple și structuri multidimensionale pe care se execută interogări. Tehnologiile bazate pe disc sunt sisteme de gestionare a bazelor de date relaționale (RDBMS), adesea bazate pe limbajul de interogare structurat ( SQL ), cum ar fi SQL Server , MySQL , Oracle și multe altele. RDBMS sunt proiectate pentru cerințele procesării tranzacționale . Folosind o bază de date care acceptă inserții și actualizări, precum și efectuarea de agregări, îmbinările (tipice în soluțiile BI) sunt de obicei foarte lente. Un alt dezavantaj este că SQL este conceput pentru a prelua în mod eficient rânduri de date, în timp ce interogările BI implică de obicei preluarea de rânduri parțiale de date care implică calcule grele.

Pentru a îmbunătăți performanța interogării, sunt construite baze de date multidimensionale sau cuburi OLAP - numite și procesare analitică online multidimensională (MOLAP). Proiectarea unui cub este un proces elaborat și îndelungat, iar schimbarea structurii cubului pentru a se adapta nevoilor de afaceri în schimbare dinamică poate fi greoaie. Cuburile sunt pre-populate cu date pentru a răspunde la interogări specifice și, deși cresc performanța, nu sunt încă potrivite pentru a răspunde la interogări ad-hoc.

Personalul din tehnologia informației (IT) petrece un timp substanțial de dezvoltare pentru optimizarea bazelor de date, construirea de indici și agregate , proiectarea de cuburi și scheme stelare , modelarea datelor și analiza interogărilor.

Viteză de procesare

Citirea datelor de pe hard disk este mult mai lentă (posibil de sute de ori) în comparație cu citirea acelorași date din RAM. Mai ales atunci când se analizează volume mari de date, performanța este grav degradată. Deși SQL este un instrument foarte puternic, interogările complexe necesită un timp relativ lung de executare și deseori duc la reducerea performanțelor procesării tranzacționale. Pentru a obține rezultate într-un timp de răspuns acceptabil, multe depozite de date au fost proiectate pentru a pre-calcula rezumate și pentru a răspunde numai la interogări specifice. Pentru creșterea performanței sunt necesari algoritmi de agregare optimizați.

Instrumente de procesare în memorie

Procesarea memoriei poate fi realizată prin baze de date tradiționale precum Oracle , DB2 sau Microsoft SQL Server sau prin oferte NoSQL , cum ar fi grila de date în memorie , cum ar fi Hazelcast , Infinispan , Oracle Coherence sau ScaleOut Software. Atât cu baza de date în memorie, cât și cu grila de date , toate informațiile sunt încărcate inițial în memoria RAM sau în memoria flash în loc de hard disk-uri . Cu o grilă de date, procesarea are loc cu trei ordine de mărime mai rapid decât bazele de date relaționale, care au funcționalități avansate, cum ar fi ACID, care degradează performanța în compensarea funcționalității suplimentare. Sosirea bazelor de date centrate pe coloane , care stochează împreună informații similare, permit stocarea datelor mai eficient și cu rapoarte de compresie mai mari. Acest lucru permite stocarea unor cantități uriașe de date în același spațiu fizic, reducând cantitatea de memorie necesară pentru a efectua o interogare și mărind viteza de procesare. Mulți utilizatori și furnizori de software au integrat memoria flash în sistemele lor pentru a permite sistemelor să se extindă la seturi de date mai mari într-un mod mai economic. Oracle a integrat memoria flash în produsele Oracle Exadata pentru performanțe sporite. Software-ul Microsoft SQL Server 2012 BI / Data Warehousing a fost cuplat cu matrice de memorie flash Violin Memory pentru a permite procesarea în memorie a seturilor de date mai mari de 20TB.

Utilizatorii interogă datele încărcate în memoria sistemului, evitând astfel accesul mai lent la baza de date și blocajele de performanță. Acest lucru diferă de stocarea în cache , o metodă foarte utilizată pentru a accelera performanța interogării, deoarece cache-urile sunt subseturi de date organizate foarte predefinite. Cu instrumentele din memorie, datele disponibile pentru analiză poate fi la fel de mare ca o piață de date sau mic depozit de date , care este în întregime în memorie. Acest lucru poate fi accesat rapid de mai mulți utilizatori simultani sau aplicații la un nivel detaliat și oferă potențialul pentru analize îmbunătățite și pentru scalarea și creșterea vitezei unei aplicații. Teoretic, îmbunătățirea vitezei de acces la date este de 10.000 până la 1.000.000 de ori comparativ cu discul. De asemenea, minimizează necesitatea reglării performanței de către personalul IT și oferă servicii mai rapide pentru utilizatorii finali.

Avantajele tehnologiei de procesare în memorie

Anumite evoluții în tehnologia computerelor și nevoile de afaceri au avut tendința de a spori avantajele relative ale tehnologiei în memorie.

  • Hardware-ul devine progresiv mai ieftin și mai performant, conform legii lui Moore . Puterea de calcul se dublează la fiecare doi până la trei ani, în timp ce scade în costuri. Procesarea procesorului, memoria și stocarea pe disc sunt toate supuse unor modificări ale acestei legi. De asemenea, inovațiile hardware, cum ar fi arhitectura multi-core , memoria flash NAND , serverele paralele și capacitatea sporită de procesare a memoriei, pe lângă inovațiile software, cum ar fi bazele de date centrate pe coloane, tehnicile de compresie și manipularea tabelelor agregate, au contribuit la cererea de memorii produse.
  • Apariția sistemelor de operare pe 64 de biți , care permit accesul la mult mai multă memorie RAM (până la 100 GB sau mai mult) decât cei 2 sau 4 GB accesibili pe sistemele pe 32 de biți. Prin furnizarea de terabiți (1 TB = 1.024 GB) de spațiu pentru stocare și analiză, sistemele de operare pe 64 de biți fac scalarea procesării în memorie. Utilizarea memoriei flash permite sistemelor să se adapteze la mai mulți Terabyte mai economic.
  • Creșterea volumelor de date a însemnat că depozitele de date tradiționale nu mai sunt capabile să prelucreze datele în timp util și corect. Procesul de extragere, transformare, încărcare (ETL) care actualizează periodic depozitele de date cu date operaționale poate dura de la câteva ore până la săptămâni. Deci, în orice moment dat, datele au cel puțin o zi. Procesarea în memorie permite accesul instant la terabyte de date pentru raportare în timp real.
  • Procesarea în memorie este disponibilă la un cost mai mic comparativ cu instrumentele BI tradiționale și poate fi implementată și întreținută mai ușor. Conform sondajului Gartner, implementarea instrumentelor tradiționale de BI poate dura până la 17 luni. Mulți furnizori de depozite de date aleg tehnologia în memorie decât BI-ul tradițional pentru a accelera timpul de implementare.

Aplicarea în afaceri

O gamă de produse în memorie oferă posibilitatea de conectare la sursele de date existente și accesul la tablouri de bord interactive bogate din punct de vedere vizual. Acest lucru permite analiștilor de afaceri și utilizatorilor finali să creeze rapoarte și interogări personalizate fără prea multă pregătire sau expertiză. Navigarea ușoară și capacitatea de a modifica interogările din mers sunt benefice pentru mulți utilizatori. Deoarece aceste tablouri de bord pot fi populate cu date noi, utilizatorii au acces la date în timp real și pot crea rapoarte în câteva minute. Prelucrarea în memorie poate fi de un beneficiu deosebit în centrele de apeluri și gestionarea depozitelor.

Cu procesarea în memorie, baza de date sursă este interogată o singură dată în loc să acceseze baza de date de fiecare dată când se execută o interogare, eliminând astfel procesarea repetitivă și reducând sarcina asupra serverelor de baze de date. Programând să populați baza de date în memorie peste noapte, serverele de baze de date pot fi utilizate în scopuri operaționale în timpul orelor de vârf.

Adoptarea tehnologiei în memorie

Cu un număr mare de utilizatori, este necesară o cantitate mare de memorie RAM pentru o configurație în memorie, care la rândul său afectează costurile hardware. Este mai probabil ca investiția să fie adecvată în situațiile în care viteza răspunsului la interogare este o prioritate ridicată și în care există o creștere semnificativă a volumului de date și o creștere a cererii pentru facilități de raportare; s-ar putea să nu fie încă rentabil atunci când informațiile nu sunt supuse unor schimbări rapide. Securitatea este un alt aspect, deoarece instrumentele din memorie expun cantități uriașe de date utilizatorilor finali. Producătorii recomandă să se asigure că numai utilizatorii autorizați au acces la date.

Vezi si

Referințe