ACADEMIA DE STUDII ECONOMICE FACULTATEA DE CIBERNETICĂ, STATISTICĂ ȘI INFORMATICĂ ECONOMICĂ Master Informatică Economică Integrarea Sistemelor Informatice Problemele integrării pentru big data Student : Bogdan PREDA - București, 2013 -
Cuprins 1. Introducere... 3 2. Integrare cu Hadoop... 3 3. Integrare cu baze de date NoSQL... 4 4. Ecosistemul pentru integrare... 5 5. Concluzii personale... 7 6. Bibliografie... 7 2
1. Introducere Big data reprezintă o colecție de seturi de date complexă și de dimensiune foarte mare și care nu poate fi procesată cu ajutorul aplicațiilor standard fiind necesare aplicații capabile să ruleze în mod paralel pe un număr foarte mare de servere. Printre dificultățile întâlnite în procesarea acestor date se numără: captura, curățarea, stocarea, căutarea, partajarea, transferul, analiza și vizualizarea. Din cauza complexității sistemelor big data, a fost necesară dezvoltarea unei arhitecturi specializate. The BDAF (Big Data Arhitecture Framework) are ca scop implementarea unei colecții specifice de elemente de design, de a asigura o abordarea unui design consistent, de a reduce complexitatea sistemului, maximizarea reutilizării, loosecoupling, reducerea dependențelor și creșterea productivității. 2. Integrare cu Hadoop Pentru integrarea datelor cu ajutorul framework-ului Hadoop există mai multe variante, printre care Apache Hadoop, Cloudera, MapR, HortonWorks și Amazon Elastic MapReduce. Apache Hadoop este un framework software open-source dezvoltat în limbajul Java care oferă suport pentru aplicații distribuite destinate procesării intensive a datelor și permite rularea aplicațiilor pe clustere de calculatoare. Figura 1 Pentru stocarea datelor Apache Hadoop utilizează sistemul de fișiere HDFS (Hadoop Distributed File System) (Figura 1) care creează copii ale datelor și le distribuie pe mai multe 3
noduri din cadrul unui cluster pentru a permite acces rapid și fiabil la informațiile stocate. Unele distribuții de Hadoop oferă alternative la HDFS cum ar fi NFS (pentru MapR) și Apache Cassandra (pentru DataStax). Aceste sisteme de fișiere oferă avantaje precum performanțe mai bune și posibilitate de accesare a informațiilor prin intermediul unor sisteme de operare ca Windows, OS X și Linux. Printre tehnologiile oferite în cadrul suitei Hadoop se numără: Apache Hive, Apache MapReduce, Apache Pig, Apache Sqoop. Apache Hive este o aplicație pentru data warehouse construită pe baza tehnologiei Hadoop și care permite accesarea datelor utilizând limbajul Hive QL, un limbaj bazat pe SQL. Apache MapReduce (Figura 1,2) este un model de programare pentru procesarea unor seturi foarte mari de date utilizat în special pentru procesare distribuită în cadrul unor clustere de calculatoare. Aplicația este împărțită în fragmente mici, fiecare putând fi executat sau reexecutat pe orice nod din cluster. Figura 2 Apache Pig este un limbaj de tip script utilizat pentru crearea de programe MapReduce paralelizabile ceea ce permite procesarea unor seturi mari de date. Apache Sqoop este un utilitar care permite transferul unor mari cantități de date între Apache Hadoop și baze de date relaționale. Acest utilitar permite transferul unor tabele sau ale unei întregi baze de date în fișiere compatibile HDFS, generează clase Java pentru interacțiunea cu datele importate și oferă posibilitatea de transfer al unor baze de date de tip SQL în depozite de date de tip Hive. 3. Integrare cu baze de date NoSQL Pentru integrarea datelor cu tehnologia NoSQL, principalele baze de date suportate sunt MongoDB, Cassandra și HBase. 4
Soluțiile de integrare prin baze de date de tip NoSQL oferă: Mediu de dezvoltare vizual care permite stocarea, manipularea și accesarea unor cantități foarte mari de date Integrare hibridă care permite utilizarea bazelor de date NoSQL ca surse de date pentru rapoarte sau integrarea cu alte date din cadrul unor depozite de date Cea mai utilizată soluție de baze de date de tip NoSQL este sistemul de baze de date open-source MongoDB. Spre deosebire de sistemele de baze de date relaționale care stochează datele în tabele, MongoDB utilizează pentru stocarea datelor structurate documente de tip JSON cu scheme dinamice (BSON), permițând integrarea datelor in diferite aplicații mai ușor și mai rapid. Principalele facilități oferite de MongoDB sunt: Interogări Ad hoc Indexare Replicare Balansare Stocare de fișiere Agregare cu ajutorul MapReduce Execuție de scripturi Java pe server Colecții de dimensiune fixă 4. Ecosistemul pentru integrare Figura 3 5
Arhitectura unui ecosistem pentru integrarea big data (Figura 3) include următoarele componente: A. Sursele de date structurate și nestructurate. Odată cu introducerea bazelor de date stocate în cloud și a infrastructurii mobile, dimensiunea și complexitatea seturilor de date a crescut semnificativ, acestea devenind componenta principală a ecosistemelor de integrare a datelor. Astfel arhitectura de integrare a datelor trebuie să includă strategii multiple pentru accesarea și stocarea unei cantități foarte mari și diversificate de date. B. Big Data Storage În timp ce sistemele de stocare a datelor foarte mari precum Hadoop asigură mijloace de stocare și organizare a unor volume mari de date, procesarea acestora pentru extragerea de informații utile rămâne în continuare o activitate dificilă. Arhitectura MapReduce a acestor sisteme dă posibilitatea de stocare rapidă a unor cantități foarte mari de date și oferă suport pentru realizarea de analize pe baza acestor date. Platforma pentru integrarea datelor trebuie să construiască structura pentru stocarea datelor și să realizeze conexiunile cu celelalte surse de date ale companiei. C. Data Discovery Platform Platforma pentru descoperirea datelor reprezintă un set de instrumente și tehnici pentru lucrul cu sisteme de fișiere pentru big data pentru găsirea de modele și răspunsuri la întrebări de business. În prezent acesta este mai mult o activitate Adhoc iar organizațiile întâmpină dificultăți în dezvoltarea unor procese în jurul ei. În cadrul activității de descoperire a datelor, informațiile obținute își pot pierde valoarea într-un timp foarte scurt, și pot deveni uneori neutilizabile după doar câteva ore. Arhitectura pentru integrarea datelor trebuie să țină cont de aceste informații volatile pentru asigurarea calității datelor. Infrastructura pentru integrarea datelor trebuie să fie capabilă răspundă rapid la cerințele utilizatorilor. D. Enterprise Data Warehouse Depozitele de date tradiționale vor continua să ofere necesarul de informații de bază, dar vor trebui să includă noi funcționalități pentru o mai bună integrare a surselor de date nestructurate și pentru a satisface nivelul de performanțe solicitat de platformele de analiză. Organizațiile au început să dezvolte noi modalități de separare a analizelor operaționale de analizele în profunzime pe baza istoricului pentru deciziile strategice. Platforma pentru integrarea datelor trebuie să fie capabilă să separeu informațiile operaționale de sursele de date utilizate în elaborarea strategiilor pe termen lung. Totodată infrastructura de integrare a datelor trebuie să permită un acces rapid la datele accesate la scară largă și cel mai des. E. Business Inteligence Portofolio Portofoliul pentru inteligența afacerii va continua să se concentreze pe rezultatele și performanțele din trecut chiar dacă va exista o creștere a cererii pentru rapoarte și performanțe operaționale. Evoluția necesității de autoservire a inteligenței afaceri și inteligenței afacerii pe dispozitive mobile va continua să genereze probleme arhitecturale platformelor de integrare a datelor. Un alt aspect foarte important îl reprezintă capacitatea portofoliului de inteligentă a 6
afacerii de integrare cu portofoliul de analiză. Această nevoie poate conduce la o creștere a cererilor pentru integrarea informațiilor. F. Data Analytics Portofolio Activitatea de analiză din cadrul acestui portofoliu trebuie să gestioneze atât problemele legate de activitatea de business a companiei cât și cu cele legate de date, și este necesară construirea unor modele predictive care sa crească valoarea organizației. Platformele de integrare a datelor joacă două roluri în ceea ce privește asigurarea suportului necesar portofoliului de analiză. În primul rând ecosistemul de integrare a datelor trebuie să asigure accesul la date structurate și nestructurate pentru activitatea de analiză. În al doilea rând, trebuie să permită reutilizarea analizelor efectuate anterior, reducând astfel situațiile care ar necesita repetarea unor pași. În viitor ecosistemul de integrare a datelor va trebui să includă posibilitatea de procesare a unor volume foarte mari de date și să facă față unor solicitări de a lucra cu o varietate mare de surse de date. 5. Concluzii personale Datorită volumelor din ce in ce mai mari de date din cadrul organizațiilor, stocarea și procesarea acestora cu ajutorul sistemelor de baze de date clasice a devenit din ce în ce mai dificilă. Astfel a fost necesară dezvoltarea unor tehnologii care să stocheze cât mai eficient datele, cu o redundanță cât mai mică și care sa aplice tehnici de procesare paralelă pentru reducerea timpului necesar extragerii informațiilor dorite. Printre problemele legate de integrarea big data se numără varietatea surselor de date, calitatea datelor ce urmează a fi integrate și vizualizarea datelor. Una dintre cele mai utilizate tehnologii de integrare big date este MapReduce, fiind utilizată de companii precum Google, Yahoo sau Facebook deoarece oferă o serie de avantaje: suport pentru seturi foarte mari de date distribuite în clustere de computere și posibilitatea de procesare atât a datelor structurate cât și a celor nestructurate. 6. Bibliografie 1. http://slashdot.org/topic/bi/how-to-be-successful-with-big-data-integration/ 2. http://en.wikipedia.org/wiki/big_data 3. http://smartdatacollective.com/raju-bodapati/103326/data-integration-ecosystembig-data-and-analytics 4. http://en.wikipedia.org/wiki/hadoop 7