Your SlideShare is downloading. ×
0
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Cloud Computing
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Cloud Computing

876

Published on

Seminar on cloud computing focusing on data management in the cloud, solutions and limitations

Seminar on cloud computing focusing on data management in the cloud, solutions and limitations

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
876
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
45
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Data Management in The Cloud
    J. Xavier Herrero JavaloySGBDO
  • 2. Índex
    • ¿Què és el “CloudComputing”?
    • 3. Característiques del “CloudComputing”
    • 4. Capes de l’ arquitectura del CloudComputing
    • 5. Data management in theCloud
    • 6. Possibles implementacions de serveis DaaS
    • 7. Implementacions comercials
    • 8. Altres opcions
    • 9. Conclusions
    • 10. Bibliografia
    1
  • 11. ¿ Que és el „Cloud Computing“ ?
    ¿ Que é el "Cloud Computing" ?
    ¿ Que és el "Cloud Computing" ?
    • Definició
    El “cloud computing” o “computació en núvol”, és un paradigma que permet oferir recursos dinàmicament escalables com a serveis a través d’ Internet (on Internet representa aquest núvol).
    Els usuaris no necessiten tenir coneixements o ser experts en el control de la infraestructura dins el núvol que els dona suport, i en cas de necessitar més recursos, aquests no han d’ invertir en l’adquisició de nou hardware o software degut a que els recursos són aprovisionats a través del núvol.
    2
  • 12. Característiques del "Cloud Computing"
    • A favor
    • 13. Agilitat per a adquirir una ampliació de serveis ràpidament i de forma econòmica.
    • 14. Reducció del cost de les TI convertint el gasto de capital en gasto operacional.
    • 15. Independència de localització, multi-plataforma i multi-dispositiu.
    • 16. Multi-arrendament(permet augmentar la gestió de “peek-loads”, ...).
    • 17. Escalabilitat, via aprovisionament sota demanda.
    3
  • 18. Característiques del "Cloud Computing" II
    • En Contra
    • 19. L’augment de la capacitat de computació és elàstica només si la càrrega de treball és paral·lelitzable.
    • 20. Les dades s’ emmagatzemen en màquines no fiables (per exemple si les dades s’emmagatzemen a USA, la “US Patriot Act” permet al govern accedir sota demanda a qualsevol dada emmagatzemada a qualsevol màquina).
    • 21. Les dades estan replicades, a vegades a través de grans distàncies geogràfiques.
    4
  • 22. Capes de l‘arquitectura del Cloud Computing I
    • Software as a Service (SaaS)
    La capa SaaS és la de major nivell i ofereix aplicacions completes com a serveis multi-arrendats sota demanda (on entenem serveis multi-arrendats per serveis on una sola instància del proveïdor, dona servei a diverses organitzacions client).
    Hi ha molts exemples coneguts, com per exemple els Google Apps.
    • Platform as a Service (PaaS)
    La capa d’ enmig o PaaS, es l’ encapsulació d’una abstracció de l’entorn de desenvolupament i l’ empaquetament d’ un conjunt de serveis.
    Per exemple una imatge Xen (part del servei AWS), contenint una pila bàsica web (una distro de linux, un servidor web i un ambient de programació com Ruby).
    5
  • 23. Capes de l‘arquitectura del Cloud Computing II
    • Infrastructure as a Service (IaaS)
    La capa inferior o IaaS, es un mitjà per entregar emmagatzemament bàsic i capacitats de computació com a serveis estandaritzats dins la xarxa. És a dir:
    • Servidors
    • 24. Sistemes d'emmagatzemament
    • 25. Enrutadors
    • 26. Sistemes concentrats com per exemple els serveis EC2 i S3 d’ Amazon Web Services (AWS).
    6
  • 27. Data Management In the Cloud I
    • Introducció
    A partir d’aquest punt, ens centrarem en les aplicacions DaaS (Database as a Service), el subconjunt de les aplicacions IaaS que ens interessa.
    Existeixen dos grans components en el mercat de la gestió de dades:
    • Gestió de dades transaccionals (Transactional data management)
    • 28. Gestió de dades Analítiques (Analytical Data Management)
    Però, quin dels dos es podria beneficiar d’ executar-se en el núvol?
    7
  • 29. Data Management In the Cloud II
    • Transactional Data Management
    • 30. Característiques:
    • 31. Necessiten les garanties de les regles ACID
    • 32. Executen moltes operacions d’escriptura (write-intensive)
    • 33. Es un possible candidat ?
    • 34. La majoria de sistemes no utilitzen una arquitectura shared-nothing (nodes distribuïts i independents entre sí) o només la utilitzen per DW.
    • 35. Difícil de garantir les propietats ACID amb dades replicades per tot el món.
    • 36. Es corre un alt risc al emmagatzemar les dades en màquines no fiables.
    No! per les següents raons.
    8
  • 37. Data Management In the Cloud III
    • Analytical Data Management (Data WareHouse)
    • 38. Característiques:
    • 39. Normalment no necessiten garantir les regles ACID ja que la informació no s’ escriu en temps real.
    • 40. Normalment són read-only o read-mostly, exceptuant procediments batch ocasionals per efectuar els inserts.
    • 41. Es un possible candidat ? Sí, es un bon candidat
    • 42. L’ arquitectura shared-nothing és una bona opció.
    • 43. Les dades particularment sensibles es poden quedar fora del núvol.
    9
  • 44. Data Analysis In the Cloud I
    • Que hauria de proporcionar un servei DaaS?
    • 45. Com hem vist, els serveis DaaS que ens interessen (almenys amb la tecnologia actual) seran DataWarehouse. Tot servei DaaS vol arribar a aconseguir les següents propietats:
    • 46. Eficiència(El preu s’incrementa al necessitar més capacitat d’emmagatzemament...)
    • 47. Tolerància (davant de fallades d’un dels nodes involucrat en una query).
    • 48. Habilitat per funcionar sobre entorns heterogenis.
    • 49. Habilitat per operar amb informació encriptada.
    • 50. Habilitat per interactuar amb aplicacions de BI (Business Intelligence).
    10
  • 51. Possibles implementacions de serveisDaaS I
    • Introducció
    Ara ja sabem quines propietats haurien de complir els serveis DaaS, però quina arquitectura podríem utilitzar per a la implementació d’aquests serveis ? Actualment existeixen dues arquitectures per a :
    • Map-Reduce like Software
    És un framework introduït per Google, per donar suport a la computació paral·lela sobre grans col·leccions de dades.
    • Shared-nothingParallelArchitecture
    És una arquitectura distribuïda on cada node és independent i autosuficient i que permet computació paral·lela.
    11
  • 52. Possibles implementacions de serveisDaaS II
    • Map-Reduce like software
    • 53. Característiques:
    • 54. Eficiència:
    • 55. Més lent que altres sistemes alternatius.
    • 56. No dissenyat en un principi per a la gestió de DW
    • 57. El rendiment és dependent de l’aplicació.
    • 58. Tolerància d’error:
    • 59. Dissenyat amb aquesta prioritat.
    • 60. Entorns Heterogenis:
    • 61. També dissenyat per a executar-se en sistemes heterogenis.
    • 62. Encriptació de dades:
    • 63. No disposa de suport d’ encriptació. Ha de definir-lo l’usuari.
    12
  • 64. Possibles implementacions de serveisDaaS III
    • Map-Reduce like software
    • 65. Característiques:
    • 66. DataWareHouse:
    • 67. Com que el frameworkmap-reduce no està dissenyat per a funcionar com un SGBD, no disposa de suport SQL.
    13
  • 68. Possibles implementacions de serveisDaaS IV
    • Shared-NothingParallelArchitecture (SN)
    • 69. Característiques:
    • 70. Eficiència:
    • 71. Té un alt rendiment per aplicacions de BI.
    • 72. Tolerància d’error:
    • 73. Les fallades són rares, però s’ha de reiniciar la query.
    • 74. Entorns Heterogenis:
    • 75. Pobre. Típicament dissenyades per a entorn homogenis.
    • 76. Encriptació de dades:
    • 77. Pobre. Suport per a accions bàsiques, però no per a accions més complexes com agregacions amb dades encriptades... Es pot codificar a mà.
    14
  • 78. Possibles implementacions de serveisDaaS V
    • Shared-NothingParallelArchitecture (SN)
    • 79. Característiques:
    • 80. Data WareHouse:
    • 81. Molt bona, disposa de connectors ODBC, JDBC, ...
    15
  • 82. Possibles implementacions de serveisDaaS VI
    • Taula Comparativa
    Caracterítiques:BonaRegular DolentaNo soportada
    16
  • 83. Implementacions comercials I : SDB
    • Amazon SimpleDB (SDB)
    Es un servei DaaS reduït, via Web Services, preparat per a funcionar conjuntament amb els altres dos serveis de AWS (el EC2 i el S3).
    Aquest WS permet a les aplicacions fer les crides a les operacions bàsiques per al manteniment d’ un DW, mitjançant una API implementada en diversos llenguatges de programació. Les operacions disponibles són:
    • Operacions sobre els dominis:
    CreateDomain, DeleteDomain, ListDomains, DomainMetadata
    • Inserir o esborrar informació:
    Put, Batch Put, Delete
    • Obtenir informació:
    GetAttributes, Select.
    17
  • 84. Implementacions comercials II : SDB
    • Exemple Amazon SimpleDB
    Veiem un exemple pràctic de com interaccionaria una aplicació Java amb SDB:
    • Inicialització:
    Primer cal importar les llibreries de la API:
    importcom.amazonaws.sdb.*;import com.amazonaws.sdb.model.*;
    A continuació cal instanciar el client HTTP del Amazon SDB
     AmazonSimpleDB service = 
    new AmazonSimpleDBClient(“accessKeyId”, “secretAccessKey”);
    Nota:Les llibreries es poden descarregar desde la següent direcció:
    http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1132
    18
  • 85. Implementacions comercials III : SDB
    • Dominis en Amazon SimpleDB
    Abans de crear un nou domini, anem a entendre QUÈ és un domini.
    • Les bases de dades com Amazon SDB, BigTable de Google, ... Formen part del moviment NoSQL.
    • 86. La base de dades està formada per un conjunt de dominis.
    • 87. Cada domini està format per un conjunt de registres.
    • 88. Cada registre, té un i només un ID que l’identifica, i una llista d’atributs (que és opcional).
    • 89. Cada registre s’indexa automàticament per tots els atributs.
    • 90. La operació principal és llegir/escriure un registre, o buscar un conjunt de registres per un o més atributs.
    19
  • 91. Implementacions comercials IV : SDB
    • Crear un nou domini :
    A continuació crearem un nou domini al SDB mitjançant la instància del client HTTP que em creat anteriorment i capturarem el missatge del servidor .
    //Creem la “request “ per a fer la crida
    CreateDomainRequest request = new CreateDomainRequest();
    //Com a mínim configurem el nom del domini
    request.withDomainName(“MyBrandNewFreackStoreOverSDB");
    //Fem la crida capturant la resposta del servidor SDB
    CreateDomainResponse response = service.createDomain(request);
    20
  • 92. Implementacions comercials V : SDB
    • Introduir dades:
    Ara veurem com introduir registres al nostre nou domini.
    //Variables comunes
    StringdomainName = " MyBrandNewFreackStoreOverSDB “;
    StringrecordID;
    List<ReplaceableAttribute> attributeList = new ArrayList<ReplaceableAttribute>(7);
    //Afegir atributs al primer registre
    recordID = “SW_Laser_ID”;
    attributeList.add(new ReplaceableAttribute("Category", “Sword", false)); attributeList.add(new ReplaceableAttribute("Subcategory", “StarWars", false)); attributeList.add(new ReplaceableAttribute("Name", “Laser Sword", false)); attributeList.add(new ReplaceableAttribute("Color", “Light Green", false)); attributeList.add(new ReplaceableAttribute("Size", “Medium ", false));
    attributeList.add(new ReplaceableAttribute("Size", " Large ", false));
    attributeList.add(new ReplaceableAttribute("Size", “Awesome", false));
    PutAttributesRequestrequest=new PutAttributesRequest(domainName, recorID, attributeList); PutAttributesResponse response = service.putAttributes(request);
    21
  • 93. Implementacions comercials VI : SDB
    • Realitzar una consultes:
    Finalment, veurem com fer consultes sobre les dades introduïdes.
    //Creem la request i afegim la select
    SelectRequest request = new SelectRequest();
    String selectExpression = "Select * From MyStore Where Category = 'Clothes' "; request.withSelectExpression(selectExpression);
    //Fem la crida i capturem els resultats de la resposta del servidor
    SelectResponse response = service.select(request);
    SelectResult  selectResult = response.getSelectResult();            List<Item> itemList = selectResult.getItem();
    for (Attribute item : itemList) {
    doSomething(item.getAttribute());
    }
    //Fi
    22
  • 94. Implementacions comercials VII : SDB
    • Preus
    Els preus es calculen segons els tres factors següents:
    • Utilització de les màquines:
    • 95. First 25 Amazon SimpleDB Machine Hours consumed per month are free
    • 96. $0.154 per Amazon SimpleDB Machine Hour consumed thereafter
    • 97. Transferència de dades:
    First 1 GB of data transferred out per month is free
    thereafter:
    • $0.170 per GB – first 10 TB / month data transfer out
    • 98. $0.130 per GB – next 40 TB / month data transfer out
    • 99. $0.110 per GB – next 100 TB / month data transfer out
    • 100. $0.100 per GB – data transfer out / month over 150 TB
    • 101. Dades Emmagatzemades:
    • 102. First 1 GB stored per month is free
    • 103. $0.275 per GB-month thereafter
    23
  • 104. Implementacions comercials VIII
    • Altres implementacions comercials
    • 105. Avantatges:
    Disposem de processadors més potents que els d’ AWS.
    • Inconvenients:
    S’ha d’adquirir tota la infraestructura en comptes de, per exemple, només els serveis de DataWarehousing.
    • Finalment, existeixen moltes altres empreses conegudes que ofereixen serveis IaaS, però només a nivell de hosting i capacitat de computació:
    • 106. GoGrid:
    • 107. AT&T:
    • 108. Rackspace
    • 109. Amazon EC2 i S3:
    • 110. Arsys.es:
    • 111. ...
    24
  • 112. Altres opcions
    • SGBDR in thecloud
    • 113. Amazon RDS (RelationalDatabase Service)
    Amazon RDS proveeix un servei d’ instanciació de bases de dades relacionals MySQL a través del núvol, fàcilment escalables i configurables, accessibles mitjançant Web Services.
    • Oracle 11g (or IBM DB2) on Amazon Escalable ComputeCloud (EC2)
    També tenim la opció d’ utilitzar els servidors EC2 (per a deployar la instància i aprofitar la escalabilitat) i Amazon Simple Storage Service S3 (per als serveis de backups), per tal de dotar el nostre SGBD d’escalabilitat i poder de computació i emmagatzemament il·limitat.
    Nota: En el cas de DB2, s’utilitza DB2 Express-C (XML híbrid) sobre Hadoop.
    25
  • 114. Conclusions
    • Coses a favor
    • 115. Els serveis DaaS són especialment interessants per a Data Warehousing, tot i que és possible millorar el rendiment i el cost de les BD relacionals (Amazon RDS, Oracle on EC2...).
    • 116. Permeten reduir les inversions en software i hardware de les empreses TIC.
    • 117. Són sistemes escalables y flexibles, que permeten cobrir peek-loads i ajustar-se a sistemes amb càrregues de treball variables.
    • 118. Són sistemes multi-plataforma i multi-dispositiu.
    26
  • 119. Conclusions
    • Coses en contra
    • 120. Les implementacions actuals no desenvolupen tota la capacitat de les aplicacions DaaS. Necessitat d’una solució híbrida amb encriptació.
    • 121. En el cas de les BDR, seguretat insuficient i alta complexitat.
    • 122. Limitacions de NoSQL Data Base:
    27
  • 123. Bibliografia
    • CloudComputing
    http://blog.appirio.com/2009/04/cloud-computing-savings-real-or.html
    http://www.mercadeo.com/72_cloud_computing.htm
    http://www.oracle.com/us/technologies/cloud/index.htm
    http://en.wikipedia.org/wiki/Cloud_computing
    Cloud_computing_Guide.pdf (from Sun)
    • Data Manegement in thecloud
    Data management in thecloud – Limitations and opportunities (YaleUniversity - Daniel J. Abadi)
    http://cs-www.cs.yale.edu/homes/dna/talks/abadi-nedbday09.pdf
    • Altres definicions
    Map-reduce: http://es.wikipedia.org/wiki/MapReduce
    SN Parallel DB: http://en.wikipedia.org/wiki/Shared_nothing_architecture
    SimpleDB: http://blog.adaptiveblue.com/?p=1145
    Amazon SDB:http://docs.amazonwebservices.com
    28
  • 124. ¿ Preguntes ?
    Gràcies per la vostra atenció!!
    29
  • 125. Annex I: Funcionament Map-Reduce
    • Funcionament del framework Map-Reduce
    • 126. El funcionament del Map-Reduce és molt simple i es composa de dues parts diferenciades, la funció “Map” i la funció “Reduce”.
    • 127. La funció Map [Map(k1,v1) -> list(k2,v2)], es on el “master node” separa el problema en diferents subproblemes més petits i els envia als “worker nodes”. Per a fer-ho, separa tots els elements de la col·lecció de dades d’ entrada, estructurant les dades en parells <Clau,Valor> com les taules de dispersió.
    • 128. La funció Reduce [Reduce(k2, list (v2)) -> list(v3)], es la encarregada d’ agafar la informació processada als “worker nodes” i recomposar-la, per a obtenir la solució al problema plantejat originàriament.
    • 129. Vegem l’ exemple de la transparència següent.
    29
  • 130. Annex I: Funcionament Map-Reduce II
    • Exemple: Codi
    • 131. A l’exemple farem un comptador de paraules amb el software map-reduce. A continuació, teniu el codi que passarem a explicar a la próxima transparència.
    voidmap(Stringname, Stringdocument)
    foreachword w in document:
    EmitIntermediate(w, 1);
    voidreduce(Stringword, IteratorpartialCounts)
    intresult = 0;
    foreachpc in partialCounts:
    result+= ParseInt(pc);
    Emit(result);
    29
  • 132. Annex I: Funcionament Map-Reduce III
    • Exemple: Funció Map
    • 133. La funció map(Stringword, Stringdocument) té dos paràmetres d’entrada, un és el nom del document (que farà de clau) i l’altre el document complet (que correspon al valor).
    • 134. Dins la funció, convertim l’ entrada (k1 = name, v1 = document) a una llista d’entrades per a ser tractada a cada “worker node” list(k2 = wordi, v2 = 1). On wordi és una paraula del document i l’ 1 correspon a la concurrència parcial de la paraula, que pel moment correspon a 1.
    • 135. Per a cada parell clau valor generat des de l’entrada de la funció map, s’ emet el resultat intermig que es repartirà en als “worker nodes” mitjançant una funció de hash o una funció de balanceig de carga.
    29
  • 136. Annex I: Funcionament Map-Reduce IV
    • Exemple: Funció Reduce
    • 137. La funció reduce(Stringword, IteratorpartialCounts) té dos paràmetres d’entrada, un és la paraula a trobar (que farà de clau) i l’altre és la llista de valors que tenen com a clau la paraula del primer paràmetre .
    • 138. El framework ajunta tots els parells amb la mateixa clau i fa la crida a la funció “reduce”. Aquesta agafa els resultats parcials de cada “worker node” i els re composa sumant la concurrència parcial de cada paraula.
    • 139. Finalment, aquesta funció emet el resultat final al “master node”.
    29

×