HADOOP, FIBONACCI SI BAZE DE DATE DISTRIBUITE IN … · de maximizare a dimensiunii problemei de...

9
1 HADOOP, FIBONACCI SI BAZE DE DATE DISTRIBUITE IN SPRIJINUL PROCESĂRII BIG DATA IN PUBLICITATE ONLINE (Hadoop, Fibonacci and Distributed Databases Supporting Big Data Processing in Online Advertising) drnd. ing. Isabela A. ILIESCU Facultatea de Automatică şi Calculatoare, Universitatea Politehnica Bucureşti Abstract Big Data este o provocare tehnologică pentru toate aplicaţiile ce procesează date de dimensiuni mari, tratată cu soluții atât din punct de vedere software, hardware și de networking. Aplicațiile din domeniul financiar se confruntă zilnic cu creșteri ale numărului de date, de utilizatori, de analize și comparații ce lucrează in timp real pentru a facilita acțiuni imediate pentru îmbunătățirea metricilor, respectiv a rezultatelor financiare. La ora actuală, aplicațiile financiare se contruiesc progresiv de către echipe de dezvoltatori ce lucrează într-un mediu de dezvoltare agil, cu management de proiect organizat specific metodologiei Agile - Scrum în cele mai multe cazuri. Fiecare versiune de aplicație trebuie să ia in calcul aportul nou dat de big data, dat de creșterea volumului de date, de utilizatori, de numărul de conexiuni și de interogări catre servere interconectate într-o rețea în continuă dezvotare. Cuvinte cheie: Big Data, baze de date, Hadoop, Fibonacci, publicitate, online, advertising, processing, fast Introducere Big Data este analizată din mai multe puncte de vedere. Principalii parametri luați în considerare la analiză sunt: volumul datelor, varietatea acestora, viteza de creare a datelor în timp, veridicitatea datelor primite, încrederea pe care o acordăm acestora după procesul de validare a datelor. Fig. 1 Evoluția în timp a elementelor in legătura cu Big Data [Sursa: www.businessleadership.com] Fig. 2 -Marimea impactului in procente ale componentelor de marketing asupra rezultatelor [sursa: www.smartinsights.com] Surse de Big Data Datele provin din multiple tipuri de surse, în continuă extindere:- aplicații software (ex. sisteme de facturare, sisteme ERP, sisteme CRM - Customer Relationship Management);- sisteme hardware (ex. de la etichetele RFID, senzori);- sisteme de networking (ex. de la comutatoare de rețea);- oameni – date introduse pe site-uri web, social media, etc. A utiliza Big Data nu este facil, însă este posibil și se obțin avantaje considerabile, dacă avem la dispoziție tehnologia necesară. Multitudinea de surse de Big Data face destul de dificilă analiza tuturor tipurilor de date, maparea, extragerea, structurarea și stocarea acestora pe mii servere interconectate. În analiza aplicațiilor ce folosesc Big Data, pe langă volumul datelor, trebuie luate în considerare și formatul și complexitatea acestora, respectiv modul de interacțiune cu alte date. Big Data apare la orice set de informații ce prezintă complexitate, în absența unui model repetabil şi de dimensiuni mari, nepretându-se gestionarii în cadrul bazelor de date tradiţionale relaţionale. (Filip F. G, 2014).

Transcript of HADOOP, FIBONACCI SI BAZE DE DATE DISTRIBUITE IN … · de maximizare a dimensiunii problemei de...

1

HADOOP, FIBONACCI SI BAZE DE DATE DISTRIBUITE IN SPRIJINUL PROCESĂRII

BIG DATA IN PUBLICITATE ONLINE

(Hadoop, Fibonacci and Distributed Databases Supporting Big Data Processing in Online Advertising)

drnd. ing. Isabela A. ILIESCU

Facultatea de Automatică şi Calculatoare, Universitatea Politehnica Bucureşti

Abstract

Big Data este o provocare tehnologică pentru toate aplicaţiile ce procesează date de dimensiuni mari, tratată cu soluții atât din punct de vedere software, hardware și de networking. Aplicațiile din domeniul financiar se confruntă zilnic cu creșteri ale numărului de date, de utilizatori, de analize și comparații ce lucrează in timp real pentru a facilita acțiuni imediate pentru îmbunătățirea metricilor, respectiv a rezultatelor financiare. La ora actuală, aplicațiile financiare se contruiesc progresiv de către echipe de dezvoltatori ce lucrează într-un mediu de dezvoltare agil, cu management de proiect organizat specific metodologiei Agile - Scrum în cele mai multe cazuri. Fiecare versiune de aplicație trebuie să ia in calcul aportul nou dat de big data, dat de creșterea volumului de date, de utilizatori, de numărul de conexiuni și de interogări catre servere interconectate într-o rețea în continuă dezvotare.

Cuvinte cheie: Big Data, baze de date, Hadoop, Fibonacci, publicitate, online, advertising, processing, fast

Introducere

Big Data este analizată din mai multe puncte de vedere. Principalii parametri luați în considerare la analiză sunt: volumul datelor, varietatea acestora, viteza de creare a datelor în timp, veridicitatea datelor primite, încrederea pe care o acordăm acestora după procesul de validare a datelor.

Fig. 1 Evoluția în timp a elementelor in legătura cu Big Data [Sursa: www.businessleadership.com]

Fig. 2 -Marimea impactului in procente ale componentelor de marketing asupra rezultatelor [sursa: www.smartinsights.com]

Surse de Big Data

Datele provin din multiple tipuri de surse, în continuă extindere:- aplicații software (ex. sisteme de facturare, sisteme ERP, sisteme CRM - Customer Relationship Management);- sisteme hardware (ex. de la etichetele RFID, senzori);- sisteme de networking (ex. de la comutatoare de rețea);- oameni – date introduse pe site-uri web, social media, etc. A utiliza Big Data nu este facil, însă este posibil și se obțin avantaje considerabile, dacă avem la dispoziție tehnologia necesară.

Multitudinea de surse de Big Data face destul de dificilă analiza tuturor tipurilor de date, maparea, extragerea, structurarea și stocarea acestora pe mii servere interconectate. În analiza aplicațiilor ce folosesc Big Data, pe langă volumul datelor, trebuie luate în considerare și formatul și complexitatea acestora, respectiv modul de interacțiune cu alte date. Big Data apare la orice set de informații ce prezintă complexitate, în absența unui model repetabil şi de dimensiuni mari, nepretându-se gestionarii în cadrul bazelor de date tradiţionale relaţionale. (Filip F. G, 2014).

2

Obiectivul Big Data

Obiectivul aplicațiilor ce utilizează Big Data îl reprezintă analiza datelor în timp real și posibilitatea disponibilitătii indiferent de cantitate. Big Data se dezvoltă și se analizează în domeniile puternic sprijinite de aplicații software, în care datele trebuie stocate și vizualizate în timp rapid. Printre cele mai cunoscute aplicații ce utilizează Big Data sunt: Google, Facebook, Linkedin, Paypal, Ebay, etc. Companiile software continuă sa dezvolte aplicații și limbaje dedicate utilizării Big Data. Bazele de date Non SQL vin cu soluții în întâmpinarea Big Data, având viteze de rulare mult îmbunătățite comparativ cu bazele de date tip SQL. Se dorește ca aplicațiile ce rulează Big Data să permită utilizatorilor să îşi administreze singuri datele, asemănător tehnologiei Cloud, ce stocheaza date de dimensiuni mari pe mașini virtuale.

1. Big Data în domeniul financiar

În domeniul financiar, Big Data provine în primul rând din creșterea volumului de date determinat de înregistrarile tranzacțiilor, de creșterile financiare, de numărul de rapoarte construit regulat și în continuă extindere, din analizele financiare stocate pe servere din ce in ce mai numeroase ce colaborează cu o multitudine de alte aplicații și utilizatori.

Aplicaţiile financiare si soluţiile software pentru Big Data Soluțiile software pentru Big Data impactează atât latura software, cât și partea hardware și de networking. În marea majoritate a cazurilor, aplicațiile financiare interacționează permanent între ele, pentru actualizări în timp real, ținând seama însă de setările de securitate și de caracterul confidențial al datelor. De cele mai multe ori, aplicațiile financiare sunt site-uri web, având o interfață online cu avantajul rulării pe oricare sistem de operare, fără multe configurații și programe preinstalate inițial. Printre aplicațiile financiare cele mai renumite, ce sunt conectate la infrastructuri ce operează cu Big data, sunt: Google Finance, Yahoo Finance, Morning Star, Trade View.

Fig. 3 - Soluții pentru Big Data [sursa: plus.google.com]

Fig. 4 - Aplicația financiară Google Finance [sursa: https://www.google.com/finance]

2. Influenţa Big Data în IT Project Management

Analizând evoluția Big Data în timp, putem face o estimare privind direcția de creștere a acesteia, volumul cu aproximație ce va fi procesat și impactul ce poate apărea pe parcurs.

Soluțiile dedicate operațiilor cu Big data, cât și aplicațiile ce se confruntă cu date de dimensiuni mari și utilizatori în continuă creștere sunt în continuă dezvoltare. Bazele de date de tip nonSQL au performanțe deosebite privind viteza de rulare în cazul interogărilor asupra volumelor mari de date. Arhitecturile aplicațiilor sunt proiectate având ca focus rularea proceselor cu un runtime scazut, rularea pe servere proxi, utilizând blocuri de date și baze de date distribuite. Pentru dezvoltarea unui proiect, fie se utilizează Agile Project Management, prin Scrum, Kanban sau Extreme Programming, fie se realizează o dezvoltare în baza unei planificări waterfall. De asemenea, putem avea un management de proiect hibrid, in cadrul căruia sunt îmbinate elemente de project management Agile cu project management Waterfall.Arhitectura proiectului trebuie adaptată permanent la Big Data deoarece proiectele in domeniul IT sunt împactate de lucrul cu fișiere de dimensiuni mari și un numar de utilizatori în creștere.

Big data intervine în toate fazele proiectului: cercetarea soluției de implementat, in funcție de dimensiune, număr de utilizatori, de volumul estimativ de date ce va fi generat în timp, în faza de conturare a arhitecturii, în faza de dezvoltare și de test. Daca aplicația va avea un miliard de utilizatori, datorită numarului limitat de testeri, se vor crea utilizatori virtuali și se va testa cu un număr de conexiuni deschise simultan, analizându-se viteza de rulare în milisecunde pentru căutari ce returnează miliarde de itemuri.

3

3. Impactul Big Data prin Digital Media

Digital Media reprezintă una din cele mai mari surse de date create pe secundă la ora actuală. Numarul de ore petrecut pe internet de utilizatori implică creșterea volumului de date stocate pe servere, date ce in mod obișnuit nu se șterg, dar se arhivează. Pentru analizarea acestor date, pentru realizarea interogărilor și oferirea unui răspuns pe ecran userului se utilizează tehnologii dezvoltate pentru o manipulare de date rapidă, permițând scalări în fracțiuni de secundă.

Fig. 5 - Timpul petrecut de utilizatori pe zi utilizand Digital Media [sursa: https://blog.infogr.am/adult-digital-media-usage-

per-hour/]

Fig. 6 - Big Data Analytics – Marimea pietei dupa categoria de business [sursa: www.forbes.com]

Digital Media, respectiv online advertsing, este una dintre cele cunoscute și utilizate arii de aplicații web internaționale. Informațiile furnizate prin intermediul Digital și Social Media sunt prețioase pentru departamentul de marketing și ulterior celui financiar.

4. Optimizări pentru Big Data

Data Center-ele sunt în continuă expansiune, stocarea informațiilor se realizează din ce in ce mai mult cu ajutorul tehnologiei Cloud, crearea de mașini virtuale, dezvoltarea și scalarea aplicațiilor la dimensiuni din ce in ce mai mari, crearea conexiunilor între milioane de servere și creșterea exponențială a numărului de date, creșterea numărului de utilizatori, cât și alti parametri demonstrează importanța ce trebuie acordată dezvoltării zilnice în domeniul IT a datelor de tip Big Data. Din perspectiva managementului de proiect, Big Data impactează calitatea și viteza raspunsurilor aplicațiilor, factori decisivi in succesul unui proiect. Asigurarea calitătii și îmbunătațirea continuă, deosebit de importante pentru aplicațiile software, fac parte din planificarea proiectului, însă pot fi și sursa unor faze ale proiectului dedicate creșterii performanțelor. Big Data, datorită răspândirii și actualității utilizării acesteia, trebuie luată în considerare atât la începerea unor noi proiecte, cât și in cadrul noilor versiuni ale aplicațiilor, optimizările reprezentând soluții în continuă căutare.

Fig. 7 - Evoluția în timp a căutarilor privind soluțiile pentru Big Data [sursa: Google Trends]

Fig. 8 Volumul comparativ al căutărilor „Big Data” și „Cloud Computing” [sursa: Google Trends]

Graficul de mai sus prezintă creșterea interesului arătat de specialiști în privința big data și a soluțiilor create pentru aceasta – Hadoop, baze de date No SQL, Apache Pig. Direcții de optimizare pentru Big Data

Pentru a adapta aplicațiile software la Big Data putem realiza optimizări, respectiv a îmbunătăți performanțele de rulare, având în vedere resursele avute la dispoziție. Datorită confruntării cu creșteri exponențiale de date, echipele de programare iau în calcul impactul Big Data din momentul conturării arhitecturii și al încărcării informațiilor, cât și în versiunile de scalare și de optimizare ale aplicației.

4

Dezvolatarea de versiuni noi ale aplicațiilor dedicate optimizarilor vin ca urmare a intenției de a rezolva și îmbunătăți viteza de rulare pentru procese ce din punct de vedere al uzabilității ar trebui sa se încarce aproape instant. Optimizarea aplicațiilor pentru Big Data este o optimizare software, ce se poate realiza prin îmbunatățirea cel puțin a unui parametru de performanță privind rularea aplicațiilor informatice. Principalele direcții de optimizare pentru adaptarea aplicaţiilor la Big Data sunt: - Minimizarea volumului de procesări de date, prin evitarea folosirii buclelor repetitive și a verificării respectarii acelorași condiții de mai multe ori, gruparea și operarea cu blocuri de date, nu cu milioane de siruri de caractere, evitarea determinărilor redundante. De asemenea, numarul de conexiuni și numărul de verificări produse în cadrul aplicației înaintea rulării influențeaza timpul de rulare. Distanța fizică între mașini pentru conexiuni și transmiterea de date trebuie luată în considerare mai ales în cazul aplicațiilor ce necesită conexiune la internet. - Maximizarea preciziei rezultatelor. Precizia este un parametru important în special în aplicațiile dedicate domeniului economic și proiectărilor tehnologice industriale. Precizia este determinată de conditiile specificate în cod, de limitarile aplicațiilor interconectate și de limitele limbajelor de programare și ale tipurilor de fișiere. - Maximizarea dimensiunilor arhitecturilor si a datelor. Scalabilitatea aplicațiilor. Scalabilitata aplicațiilor prezintă o importanță deosebită în cazul aplicațiilor în continuă dezvoltare. Confruntarea cu Big Data necesită o scalabilitate bună a programelor. Un exemplu de maximizare a dimensiunii problemei de rezolvat îl reprezintă utilizarea de date de intrare într-un volum în continuă creștere, atât prin mărimea fișierelor de input, cât și prin numărul acestora. În practică, se dezvoltă algoritmi ce prezintă o vitezã de prelucrare cât mai redusă, deși volumul de scripturi și procesări pe parcursul diferitelor versiuni. Scopul optimizărilor este dat și de o gestiune mai bună a instrucțiunilor, stocând în același timp rezultate intermediare în zone de memorie cache pentru o accesare și rulare mai rapidă. Big Data nu este în continuă evoluție de când acest concept a apărut, datele fiind în continuă expansiune cu foarte mult timp în urmă, însă necesitatea de stocare electronică ordonată a acestora în vederea procesării este tratată cu maximă atenție de tehnologiile software avansate.În fiecare secundă apar date semnificative la nivelul mai multor aplicații ce comunică permanent. Cantitatea de date, sursele de date și conexiunile între acestea sunt în continuă creștere.

5. Evoluția Big Data urmează modelul matematic Fibonacci

Utilizat în extrapolari și estimări ale evoluției volumului de date, cât și a unor metrici sau indicatori financiari, sirul lui Fibonacci prezinta un model matematic analizat in multiple domenii. Șirul lui Fibonacci poate fi prezentat și geometric în diferite moduri de reprezentare. De exemplu, forma unui melc este cea mai cunoscută.

Fig. 9 - Reprezentarea geometrica a sirului lui Fibonacci [sursa:

https://matematicasiteologie.wordpress.com]

Formula lui Binet se poate reduce la urmatoarea ecuație și este utilizată la identificarea poziției unui numar în cadrul șirului lui

Fibonacci:

În programare, șirul lui Fibonacci este utilizat în funcții recursive și algoritmi si presupun combinarea de elemente.1

Fracția de aur, în baza numărului de aur al lui Fibonacci este

urmatoarea: , obținem relația recurentă

,

Utilizarea șirului lui Fibonacci în cadrul scripturilor de anticipare a evoluției metricilor financiari este cunoscută mai ales în domeniul investițional pe acțiuni. Pentru a construi scriptul șirului lui Fibonacci, inițial analizăm formula matematică, și setăm valorile matricei porivit relațiilor dintre elementele șirului. În cazul în care nu este scris corespunzător, algoritmul poate genera o buclă infinită pentru server. Șirul începe cu valorile 1 și 1, apoi noile valori se obțin prin adunarea ultimelor două valori: F(1)=1 ; F(2)=1 ; F(n)=F(n-1)+F(n-2)

1 https://en.wikipedia.org/wiki/Fibonacci_number

5

Scriptul următor determină numarul N din șirul lui Fibonacci.

<HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- Begin function f(n) { var s = 0; if(n == 0) return(s); if(n == 1) { s += 1; return(s);} else { return(f(n - 1) + f(n - 2)); }} function show(n) { var i; for(i = 0; i <= n; i++) {f1.s.value += " " + f(i);}} // End --> </script> </HEAD> <BODY><form name=f1> Computations: <input type=text size=11 name="n"> <input type=button value="Compute" onClick="show (f1.n.value);"> <input type=reset value="Reset"><br>Sequence: <input type=text size="10" name="s"> </form> 2

Fig. 10 - Șirul lui Fibonacci – utilizat în scalabilitatea

aplicațiilor [sursa: http://www.matematicon.ro/calea/stiati-ca/Sirul%20lui%20Fibonacci.pdf]

Scriptul alaturat de determinare a numerelor lui Fibonacci este realizat utilizând JavaScript ca limbaj de programare, script ce poate fi inclus în corpul HTML al unui website și rulat. 3

Analizând evoluția Big Data și ecuațiile ce includ numărul lui Fibonacci, putem considera că Big Data se dezvoltă similar șirului lui Fibonacci. (Iliescu A. Isabela, 2016). Acest lucru este demonstrat de reprezentarea geometrică a șirului lui Fibonacci, asemănătoare cu evoluţia Big Data în timp. 6. Soluții software pentru Big Data În timp au fost dezvoltate soluții pentru ca aplicațiile software să ruleze cu performanțe ridicate și în cazul procesării Big Data. Printre aceste soluții identificăm:

- Cloud Computing (virtualizare, alegerea mașinii virtuale pentru rularea optimă, stocare în cantități mari de date) - Baze de date distribuite - Baze de date non-SQL - Aplicații de monitorizare a creșterii Big Data și a performanțelor realizate în baza utilizării Big Data - Utilizarea limbajelor de programare create special pentru rulări rapide cu Big Data, bazate în special pe operări cu fișiere, nu cu

tabele relaționale. De-a lungul timpului, s-au dezvoltat limbaje ce au dovedit că au o viteza de rulare bună în prelucrări de date de dimensiuni de tip Big Data. Printre acestea, la ora actuală, meționăm:

- Hadoop - HQL, Hadoop Query Language - Cassandra - Apache Pig

- limbaje de baze de date de tip non-SQL

7. Hadoop în sprijinul procesării Big Data Hadoop are la bază crearea unui filesystem distribuit (HaDoopFileSystem) și a unei paradigme de calcul distribuit Map Reduce, similar documentelor publicate de aplicațiile Google. Implică procesarea datelor într-un cluster ce poate fi reprezentat drept component dintr-o colecție de rackuri, ce conţin maşini virtuale, asemănator unui datacenter, în vederea setării și rulării de sarcini recurente, job-uri, utile și în procesare financiară. Hadoop are comenzi apropiate de programarea Unix, ce pot fi accesate din consolă sau prin intermediul altor limbaje, cum ar fi Java, Python sau C#.4

2 http://www.javascriptsource.com/math-related/fibonacci.html 3 http://www.javascriptsource.com/math-related/fibonacci.html 4 https://devforum.ro/t/hadoop-architecture/2399

6

Fig. 11 - Soluții pentru Big Data prezentate de Google Trends

Fig. 12 - Arhitectura Hadoop (Robert Enyedi, 2016)

[sursa: http://www.todaysoftmag.ro/article/84/big-data-apache-hadoop]

APACHE PIG

Apache Pig este o platformă utilizată pentru a procesa și analiza date de dimensiuni mari, implicând un limbaj la nivel înalt ce colaborează cu alte infrastructuri, având în vedere evaluarea complexității acestora.

Avantajul Pig Programs este dat de paralelizarea prelucrărilor de date de dimensiuni de tip Big Data.5

Arhitectura infrastructurii Pig are ca rol producerea de succesiuni de programe Map-Reduce prin intermediul unui compilator.

Pentru aceasta, script-uri voluminoase de execuție paralelă sunt create, inclusiv prin intermediul Hadoop. Pig Latin este limbajul utilizat pentru execuția comenzilor.

Apache Hadoop, un software open source, inițial rulat și dezvoltat în Java și are doi constituenți de bază:

1. HDFS (Hadoop Distributed File System) 2. MapReduce6

Scripturi pentru procesarea de fișiere mari si arhive

Opțiunile fișierelor și arhivelor Apache Hadoop permit setarea acestora pentru a fi disponibile rulării sarcinilor.

Argumetul Hadoop este un URL la fișierul, respectiv arhiva ce în prealabil a fost salvată online la HDFS (Hadoop Distributed File System).

Ca orice limbaj de programare, Hadoop are variabile și obiecte predefinite pentru a fi apelate rapid. Hostul și Portul pot fi preluate din variabila fs.default.name config.În timpul rulării sarcinilor, aceste fișiere și arhive sunt salvate în cache. Operarea cu fișiere presupune timp mult mai redus decât operarea cu tabele de tip SQL.7Cu o impotanță deosebită, -files și -archives options sunt opțiuni generice. Obligatoriu, opțiunile generice Hadoop trebuie menționate înainte de comenzile options, altfel comezile vor aduce erori. Exemplu de implementare a Hadoop Command Options8:

bin/hadoop command [genericOptions] [streamingOptions]

- Setări pentru a face fișierele să fie disponibile pentru sarcini

Un symlink este creat de catre –files option în folderul curent al sarcinii și pointează către copia locală a fișierului

În exemplul de mai jos, Hadoop crează automat un symlink denumit testfile.txt. Symlink-ul pointază către copia locală a fișierului testfile.txt. -files hdfs://host:fs_port/user/testfile.txt

5 https://pig.apache.org/ 6 http://www.todaysoftmag.ro/article/25/big-data-reprezentarea-datelor 7 http://hadoop.apache.org/docs/r1.2.1/streaming.html 8 http://hadoop.apache.org/docs/r1.2.1/streaming.html#The+-archives+Option

7

Există posibilitatea specificării unui nume diferit de symlink pentru fișierele ce utilizează #. Un exemplu este precizat mai jos: -files hdfs://host:fs_port/user/testfile.txt#testfile In cazul mai multor intrări, acestea pot si mentionate astfel: -files hdfs://host:fs_port/user/testfile1.txt,hdfs://host:fs_port/user/testfile2.txt

- Setarea arhivelor pentru a disponibile preluării sarcinilor9

Pentru a copia un jar local, în folderul curent al sarcinilor și pentru a dezarhiva un jar, vom folosi –archives option. 10

Securitatea datelor de tip big data, valoarea şi vulnerabiliatea datelor De cele mai multe ori, pentru date de tip Big Data se utilizează tehnologia Cloud ce oferă securitatea datelor pentru un computing privat. Mentenanța securității și verificarea siguranței datelor private reprezintă de asemenea o provocare tehnologică.

Fig. 13 - Evoluția comparativă a căutarilor [sursa: Google Trends]

Fig. 15 - Valoarea Big Data Analytics este în continuă creștere [sursa: wikibon.org]

Fig. 14 - Traseul parcus de date de tip Big data prin intermediul aplicatiilor pentru a fi interpretate [sursa: repositorio.unb.br]

Fig. 16 - Hadoop Ecosystem și componentele sale11 [sursa: www.edupristine.com]

8. Baze de date distribuite - soluție pentru Big Data

Bazele de date distribuite implică prezența mai multor baze de date pe același server sau pe servere diferite, cooperând permanent, utilizând copii, snapshot-uri și replicări cu transferuri de date, având ca obiectiv central rularea cu viteze cât mai mari. Un exemplu de script ce utilizează baze de date distribuite SQL Server este prezentat în continuare.

Fig. 17 - Codul pentru replicarea bazei de date ‘Bee’

9 http://hadoop.apache.org/ 10 http://hadoop.apache.org/docs/r1.2.1/streaming.html#The+-archives+Option 11 www.edupristine.com

8

CONCLUZII

La ora actuală, domeniul financiar este puternic sprijinit de aplicații software. Pentru performanțe deosebite, este indicat ca aplicațiile sa aibă implementate tehnologii cât mai noi, având în vedere confruntarea cu datele de tip Big Data și evolutia în timp a acestora.Calitatea nu este un parametru absolut, aceasta depinzând întotdeauna de cerinţele externe organizatiei, respectiv ale clientilor şi de standardele interne de dezvolatare, respectiv cele din specificaţiile tehnice. Simpla respectare a cerinţelor în sine nu reprezintă calitatea, impactul rezulatului final evidentiaza nivelul calitativ obţinut. Produsele software devin din ce în ce mai complexe, iar testele trebuie sa acopere toate funcţionalităţile şi variantele de testare.

Operarea cu date în continuă creștere reprezintă o provocare tehnologica în primul rand pentru a menține şi imbunatati continuu calitatea software.Optimizările realizate în cadrul aplicaţiilor au ca scop asigurarea unei calități sporite a programelor, obținandu-se astfel beneficii financiare, de timp, beneficii de imagine şi de alegere și de încredere a clienților în utilizarea unei aplicaţii.

Lucrul cu Big Data în cadrul aplicaţiilor nu este facil, însa este perfect posibil, companiile IT orientandu-se în direcţia dezvoltarii de tehnologii şi platforme care sa susțină date în cantități enorme şi în continuă creștere.Daca aplicaţiile nu sunt realizate având o perspectivă de funcţionare îndelungată şi o calitate în continuă îmbunatăţire, trebuie avut în vedere că nu e indicat să investim foarte mult în proiecte ce nu aduc un beneficiu foarte mare în timp.

Succesul dezvoltarii aplicaţiilor ce utilizează frecvent Big Data depinde indirect și de scalabilitate, de arhitectură şi algoritmi ce stau la baza unei viteze de rulare ce surprind în mod plăcut utilizatorii.Cloud, baze de date non-SQL, limbaje dedicate, interoperabilitate în infrastructura utilizată, conexiuni bine monitorizate, securitate, baze de date distribuite, servere cu performanțe înalte, sunt soluții pentru Big Data, componente ce conduc la un Business intelligence aplicat și actualizat zilnic, au ca rezultat îmbunatățirea metricilor financiari, având Big Data drept avantaj, nu numai provocare tehnologică.

BIBLIOGRAFIE

Big Data

1. BANGE, C., GROSSER, T, JANOSHEK, N. (2013), “Big Data Survey Europe”, BARC Institute GMBH, Weerzburg; 2. BOLLIER, D. (2010), “The Promise and Peril of Big Data”, The ASPEN Institute, Queenstown, MA; 3. BUGHIN, J. CHUI, M., MANYIKA, J. (2013), “Clouds Big Data and Smart Assets: Ten Tech-enabled Business Trends to Watch”,

McKinsey Quarterly; 4. CHEN H, CHIANG RHL, STOREY V. (2012), “Business intelligence and analytics:From big data to big import”, MIS Quarterly

36(4):1165–1188; 5. CRAIG, T. LUDLOFF Mary (2011), “Privacy and Big Data”, O’Reilley Media, Sebastopol. 6. DAVENPORT Thomas H. (2014), “Enterprise Analytics: Optimize Performance, Process, and Decisions Throught Big Data”, New

Jersey, USA; 7. DITTMAR, C., OSSENDOTH, V., SCHULTZER, K.-D. (2013), “Business Intelligence. Are European Companies Ready for Big

Data”, European biMA, a Steria report; 8. FILIP Florin. G., BORNE Pierre, DUMITRU Popescu, STEFANOIU Dan (2013), “Optimization in Engineering Scieces. Exact

Methods.”, Hoboken, USA; 9. FILIP, Florin. G., & HERRERA-VIEDMA (2014), E., “Big Data in the European Union”,The Bridge – National Acadamy of

Engineering, 44(4), 33-37, Washington, USA; 10. FRANKS, B. (2012), “Taming the Big Data: Tidal Wave Finding Opportunities in the data Structures with Advanced Analytics”, J.

Wiley & Sons, Hoboken, New Jersey. 11. HALL, R. E. (2013), “In Big Data We Hope and Distrust”, DSSResources. COM, 04/14/2013 ( www.dssresources.com accessed on

01.12.2013) 12. KROES, Neelie (2013), “Big Data for Europe”, European Commission-SPEECH /13/893 07/11/2013 13. KUAN-CHING Li, JIANG Hai, YANG Laurence T., CUZZOCREA Alfredo (2015), “Big Data: Algorithms, Analytics, and

Applications”, Danvers, USA,. 14. POWER, D. J. (2002), “Decision Support Systems. Concepts and Resources for managers”, Greenwood /Quorum Press, Westpoint,

CT. 15. SCHÖNBERGER Viktor Mayer, CUKIER Kenneth (2013), “Big Data: A Revolution that Will Transform how We Live, Work, and

Think”, New York,; 16. TENE, O. POLONETSKY, J. (2012), “Big Data for all. Privacy and user conflict în the Age of Analytics. 11 Northwestern Journal

of Intellectual Property” 2, The Bridge – National Acadamy of Engineering, 44(4), 33-37, Washington, USA; 17. World Economic Forum (2013), “Unlocking the Value of Personal Data: From Collection to Usage”, World Economic Forum. Algoritmi şi Optimizari 1. ALTER, S. L. (1975), “A Study of Computer Aided Decision Making in Organizations”, Ph.D. dissertation, MIT; 2. ALTER, S. L. (1980), “Decision Support Systems. Current Practice and Continuing Challenge”, Addison Wesley, Reading, MA; 3. BORNE Pierre, FILIP Florin. G., POPESCU Dumitru, STEFANOIU Dan (2013) “Optimization în Engineering Scieces. Exact

Methods.”, Hoboken, USA;

9

4. BRASSARD, G., BRATLEY, P. (1988) “Algorithmics - Theory and Practice”, Prentice-Hall, Englewood Cliffs; 5. CHEN, H., CHIANG, R. H. L., STOREY, V. (2012), “Business Intelligence and Analytics: from Big Data to Big Import”, MIS

Quarterly; 6. CORMEN, T.H., LEISERSON, C.E., RIVEST, R.L. (1992), “Introduction to Algorithms”, The MIT Press, Cambridge,

Masshusetts, Editia a 8-a; 7. DUMITRESCU D. , LAZZERINI B. , JAIN L. C. , DUMITRESCU A. (2000), “Evolutionary computation”, CRC Press; 8. DUMITRESCU D.(2000), “Algoritmi Genetici fi Strategii Evolutive - aplicaţii tn Inteligenţa Artificială fi tndomenii conexe”, Ed

Albastră, Cluj Napoca; 9. ELLIS, M., STROUSTRUP, B.(1991) “The Annotated C++ Reference Manual”, Addison-Wesley, Reading; 10. GOLDBERG D. E. (1989), “Genetic Algorithms în Search, Optimization, and Learning”, Addison-Wesley Publishing Company,

Inc.; 11. GRAHAM, R.L., KNUTH, D.E., PATASHNIK, O. (1989), “Concrete Mathematics”, Addison-Wesley, Reading. 12. HOROWITZ, E., SAHNI, S. (1978), “Fundamentals of Computer Algorithms”, Computer Science Press, Rockville; 13. IONESCU, V., POPEEA C. (1981), “Optimizarea sistemelor”, Editura Didactică şi Pedagogică, Bucureşti; 14. IVAN, I., BOJA, C. (2005), “Empirical Software Optimization”, Revista Informaticã, ISSN 1453 – 1305, vol. IX, nr. 2/2005,

Editura Inforec, Bucuresti; 15. KNUTH, D.E. (1974), “Tratat de programarea calculatoarelor. Algoritmi fundamentali”, Editura Tehnică, Bucuresti; 16. LICKLIDER, J. C. R. (1960). Man-Computer Symbiosis. IRE Transactions on Human factors în Electronics; 17. LIVOVSCHI, L., GEORGESCU, H. (1986), “Sinteza şi analiza algoritmilor”, Editura Stiintifica şi Enciclopedica, Bucuresti; 18. NECULAI, A. (1999), “Programarea Matematica Avansata. Teorie, Metode Computationale, Aplicaţii”, Editura Tehnică, Bucuresti; 19. P. J. ANGELINE (1993), “Evolutionary Algorithms and Emergent Intelligence”, Dissertation, The Ohio State University; 20. POWER, D. J. (2002), “Decision Support Systems. Concepts and Resources for managers”, Greenwood /Quorum Press, Westpoint,

CT.; 21. SEDGEWICK, R. (1990), “Algorithms în C”, Addison-Wesley, Reading. Publicații online 1. http://www.computerworld.ro/2012/07/13/ceea-ce-urmeaza-dupa-big-data-este-consumer-intelligence/ 2. http://www.javascriptsource.com/math-related/fibonacci.html 3. https://devforum.ro/t/hadoop-architecture/2399 4. https://pig.apache.org/ 5. http://www.todaysoftmag.ro/article/25/big-data-reprezentarea-datelor 6. http://hadoop.apache.org/docs/r1.2.1/streaming.html 7. http://www.edupristine.com 8. http://hadoop.apache.org/docs/r1.2.1/streaming.html#The+-archives+Option 9. www.pnas.org/egi.doi/10.1073/pnas.1218772110 10. www.madariaga.org - MR (2013), Madariaga Report. “Big Data: Where Does Europe Stand?” 11. http://www.todaysoftmag.ro/article/ro/12/Big_Data,_Big_Confusion_388 12. http://old.utcluj.ro/download/doctorat/Rezumat_Maria_Viorela_Filimon.pdf 13. http://www.clubitc.ro/big-data/big-data-ca-provocare-universal-valabila 14. http://www.wall-street.ro/tag/3d+europa+sua.html 15. http://star.rosa.ro/downloads/C2_2013/STAR_C2-2013_CCTS_PropuseFinantare.pdf 16. http://www.eurocloud.ro/big-data-week/#.UtRzzvQW2lY 17. http://www8.hp.com/us/en/business-solutions/big-data.html - Business | 11 Decembrie 2012 18. www.hp.com/go/HPDiscoverFrankfurt2012.P 19. http://ec.europa.eu/digital-agenda/sites/digital-agenda/files/H2020%20LEIT-ICT%20WP%202014-15%20-

%2031%2010%202013.pdf 20. http://ec.europa.eu/programmes/horizon2020/ 21. http://www.marketwatch.ro/articol/10907/Ce_inseamna_big_data/ 22. http://www.utgjiu.ro/revista/ec/pdf/2010-04.I/17_NICOLETA_IACOB.pdf 23. http://www.ace.tuiasi.ro/users/103/rezumat_teza_alex_archip.pdf 24. www.Steria.com/our-solutions/enterprise 25. http://ro.wikipedia.org/wiki/Optimizare 26. http://www.aut.upt.ro/staff/diercan/data/PIPPS/curs-01.pdf 27. fmi.unibuc.ro/ro/pdf/2008/curs_master/informatica/1AlgoritmiBioinformaticaMitranaSite.pdf