WhatDB?Com triar una base de dades pel teu properprojecte.Marc Mauri Alloza (@opengeek)President de LinuxUPC
0 fail - Però si {$whatever}SQLserveix per tot ...ONE SIZE DOES NOT FIT ALL
1r fail - POO - Problema - Complexitat
1r fail - POO - Problema - ImpedanceMismatch
1r fail - POO - Solucions - ORMAvantatges● Funciona amb les BD lliures méspopulars.● Només cal aprendre com definir lescor...
Primer fail - La POO - Solucions -OODBAvantatges● No hi ha practicament traducció.(eficiència)● Persistència transparent. ...
2n fail - Problema -"The free lunch is over"
2n fail - Esperança -No tot són males notícies
2n fail - Escenari OLTP -Colls dampollaLocksDiscs lents Gestió delmultithreadingBaixadisponibilitatOptimitzaciómanualLog d...
2n fail - Escenari OLTP - Solucions -NewSQLNodes Single-threadedParticióhoritozontal ireplicacióautomàticaLog decomandesIn...
2n fail - Escenari OLAP -Colls dampollaETL costós Càlculs costosos Pre-calcularocupa espai
2n fail - Escenari OLAPPrimera Solució - MOLAPAvantatges● Són per rapides que elROLAP perquè pre-calculenles agregacions i...
2n fail - Escenari OLAPSegona solució - Column StoresParticióverticalautomàticaAvantatges● SQL com a llenguatgede consulte...
2n fail - Escenari OLAPEl factor humà - ETLInconvenients● Shan de descobrir totesels fonts de dades de laorganització.○ BD...
Segon fail - Escenari OLAP/OLTPFi de lETL - In-memory hybrid storeParticióverticalhíbridaMinimitza "miss"a cacheCompressió...
3r fail - Explosió de dadesFonaments - CAP Theorem
3r fail - Explosió de dadesFonaments - BASEBasicallyAvailable Soft-stateEventually -consistentÉs el contrari dACID:● Avail...
Tercer fail - Explosió de dadesSolucions - Key Value (CP) - HadoopDistributed B+ treeAvantatges● Suporta petabytesde dades...
Tercer fail - Explosió de dadesSolucions - Key Value (AP) -CassandraConsistent hashingAvantatges● Menys costósde distribui...
3r fail - Explosió de dadesLlenguatges - Map-ReduceÉs la API de consulta per Key-Value Stores.Una consulta es realitza a p...
3r fail - Explosió de dadesLlenguatges - Consulta, anàlisi i aprenentatgeHive Pig R MahoutAvantatges Tradueix HiveQL aMap-...
3r fail - Explosió de dades- Document Stores- Key + semi-structured value (tree)Indexos enarbremultiatributServeisRESTfulM...
4t fail - "Database hugging" -- Graph Databases and Open DataConnectadaamb altres BDMoltes einesde creació,adminstració ie...
5è fail - Posant-ho tot junt- Persistència poliglota
Algunes persones que han influït enaquesta presentacióBio"I am an author, speaker… essentially aloud-mouthed pundit on the...
Algunes persones que han influït enaquesta presentacióBio"Herb Sutter is a leading authority onsoftware development. Herb ...
Algunes persones que han influït enaquesta presentacióHasso PlattnerBio"Prof. Dr. h.c. mult. Hasso C. Plattner is aCo-foun...
Algunes persones que han influït enaquesta presentacióMichael StonebrakerBio"Michael Stonebraker has been a pioneer ofdata...
Algunes persones que han influït enaquesta presentacióEric BrewerBio"Dr. Brewer focuses on all aspects ofInternet-based sy...
Algunes persones que han influït enaquesta presentacióTim Berners-LeeBio"A graduate of Oxford University, TimBerners-Lee i...
Algunes persones que han influït enaquesta presentacióOscar RomeroBio"My main interests are databases, data integrationand...
Algunes organitzacions que haninfluït en aquesta presentació
AgraïmentsPer lespai i per la formació rebudaPer la organitzacióPer ser-hi quan els necessitesPer la difusió de la xerrada
Altres fonts● Anna Queralt - BSC - Introduction to Object Databases● Seminar on MongoDB - Telefónica R&D - Pablo Enfedaque...
FI
What DB?
Upcoming SlideShare
Loading in …5
×

What DB?

410 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
410
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

What DB?

  1. 1. WhatDB?Com triar una base de dades pel teu properprojecte.Marc Mauri Alloza (@opengeek)President de LinuxUPC
  2. 2. 0 fail - Però si {$whatever}SQLserveix per tot ...ONE SIZE DOES NOT FIT ALL
  3. 3. 1r fail - POO - Problema - Complexitat
  4. 4. 1r fail - POO - Problema - ImpedanceMismatch
  5. 5. 1r fail - POO - Solucions - ORMAvantatges● Funciona amb les BD lliures méspopulars.● Només cal aprendre com definir lescorrespondències● Per sota hi ha una BD de les de tota lavida.Inconvenients● Limitacions en la traducció automàtica delesquema dobjectes a taules.● Traducció ineficient dobjectes a SQL.● Mala gestió dels canvis en lesquema(NULLs).Projectes lliures● Hibernate (Java i C#) - LGPL v2.1● QxORM (Qt/C++) - GPLv3● Doctrine (PHP) - MIT● SQL Alchemy (Python) - MIT● DataMapper (Ruby) - MIT
  6. 6. Primer fail - La POO - Solucions -OODBAvantatges● No hi ha practicament traducció.(eficiència)● Persistència transparent. (netedat)● El codi es lesquema (lazy evolution)● Query By Example● Pot executar-se en servidor o acoblada.Inconvenients● Cada OODB esta feta a la seva manera.● No hi ha un model matemàtic darrere.● Menys suport de la industria.Projectes lliures● db4o (Java i C#) - GPL v3● Eyedb (Java i C++) - LGPL● ZODB (Python) - Zope Public License● PicoLisp (Lisp) - MIT
  7. 7. 2n fail - Problema -"The free lunch is over"
  8. 8. 2n fail - Esperança -No tot són males notícies
  9. 9. 2n fail - Escenari OLTP -Colls dampollaLocksDiscs lents Gestió delmultithreadingBaixadisponibilitatOptimitzaciómanualLog delbuffer
  10. 10. 2n fail - Escenari OLTP - Solucions -NewSQLNodes Single-threadedParticióhoritozontal ireplicacióautomàticaLog decomandesIn-memoryAvantatges● Transaccions ACID● Shared-nothingInconvenients● Infraestructura cara● Procediments Java.● EsquemadagregacionsLlicència● GNU AGPL v3
  11. 11. 2n fail - Escenari OLAP -Colls dampollaETL costós Càlculs costosos Pre-calcularocupa espai
  12. 12. 2n fail - Escenari OLAPPrimera Solució - MOLAPAvantatges● Són per rapides que elROLAP perquè pre-calculenles agregacions icomprimeixen dades.Inconvenients● Problemes gestionant moltesdimensions.● No hi ha llenguatge estàndardde consultes. MDX vs SDXLlicència● GNU GPLv2
  13. 13. 2n fail - Escenari OLAPSegona solució - Column StoresParticióverticalautomàticaAvantatges● SQL com a llenguatgede consultes● Consultesdinàmiques i en tempsreals.Inconvenients● No té bitmaps(encara).● El disc es un colldampollaLlicència● Mozilla Public LicensePipeliningCompressió decolumnesDisc
  14. 14. 2n fail - Escenari OLAPEl factor humà - ETLInconvenients● Shan de descobrir totesels fonts de dades de laorganització.○ BDs○ Fulls de càlcul■ XLS■ CSV■ ...○ XML○ ...● Escriure lectures● Escriure transformacions● Escriure al DW● Projectes llargs i carsEines ETL lliures● Pentaho Kettle - Apache● Palo ETL Server - GPL
  15. 15. Segon fail - Escenari OLAP/OLTPFi de lETL - In-memory hybrid storeParticióverticalhíbridaMinimitza "miss"a cacheCompressió decolumnes ibitmapsIn-memoryRS/WSHybrid StorageOpenSource Licenceof the Hasso-PlattnerInstitute
  16. 16. 3r fail - Explosió de dadesFonaments - CAP Theorem
  17. 17. 3r fail - Explosió de dadesFonaments - BASEBasicallyAvailable Soft-stateEventually -consistentÉs el contrari dACID:● Availability● Consistency● Isolation● Durability- Consistència+ DisponibilitatEs podria construiruna BD que triésentre CP o APsegons la situació(Yahoo PNUTS)
  18. 18. Tercer fail - Explosió de dadesSolucions - Key Value (CP) - HadoopDistributed B+ treeAvantatges● Suporta petabytesde dadesInconvenients● No accepta SQL● Temps llargdinicialització● Els B+ són moltcostosos dedistribuirLlicència● Apache License
  19. 19. Tercer fail - Explosió de dadesSolucions - Key Value (AP) -CassandraConsistent hashingAvantatges● Menys costósde distribuirInconvenients● Obliga a unatopologia dexarxa en anellLlicència● ApacheLicense
  20. 20. 3r fail - Explosió de dadesLlenguatges - Map-ReduceÉs la API de consulta per Key-Value Stores.Una consulta es realitza a partir de 2 funcionsque shan de programar:● La funció de Map (obté valors interessants)○ Sexecuta per cada element de la store i genera unkey-value a partir de cada key-value.● La funció de Reduce (els sumaritza)○ Sexecuta a partir de al sortida del Map i genera unnou key-value per cada key-value que entra.Lexecució daquestes funcions es reparteix enMappers i Reducers.
  21. 21. 3r fail - Explosió de dadesLlenguatges - Consulta, anàlisi i aprenentatgeHive Pig R MahoutAvantatges Tradueix HiveQL aMap-Reduce.El llenguatgeHiveQL és similara SQL.Defineix un fluxede dades itransformacions.Llenguatgeestadístic popular.Bibliotecadalgorismesdaprenentatgeautomàticdistribuits.Inconveninets No és utils quanshan de fer moltestransformacionssobre els dades.Loptimitzador nosempre dona elsplans òptims.Llenguatge pocfamiliar.Diversesintegracions ambHadoop possibles.Massa aparatós sino fa faltaestadística.Només útil enprogrames quehan daprendre.Agents intel·ligentsdeliberatius,Llicència Apache License Apache License GPL Apache License
  22. 22. 3r fail - Explosió de dades- Document Stores- Key + semi-structured value (tree)Indexos enarbremultiatributServeisRESTfulMemorymapped filesÚs dellenguatges webAvantatges● Infraestructura barata.● Els valors no ocupen tant com en unSGBDR.● Llenguatges de consulta i dades familiar.Inconvenients● Per ser eficient sha de des-normalitzar.● Fragmentació per canvi de mida.● Funciona millor en esquema dagregats.MongoDB CouchDB eXistConsulta JavascriptAPIJavascript MapReduceXQueryDades BSON JSON XMLExtres RESTful,JavascriptproceduresMaster tomasterreplicationPluginsLlicència Apache Apache LGPL
  23. 23. 4t fail - "Database hugging" -- Graph Databases and Open DataConnectadaamb altres BDMoltes einesde creació,adminstració iexplotacióBasat en lateoria de grafsBase de dadessemànticaAvantatges● Expressen les relacions millor que capaltre tipus de BD● Eviten hi ha joins sinó enllaços directes.● Molt eficient per trobar elementsrelacionats a partir dun inicial.Inconvenients● Molt ineficient quan es fa cerca sobre unvalor dun atribut que no esta com a node.● Poc (però més) escalable.● Projectes lliures○ Bases de dades en graf:■ Neo4j (RESTful i més) - GPL■ Virtuoso Open-Source - GPL○ Creació de portals■ Linked Media Framework - Apache○ Refinar dades■ Open refine - BSD○ Visualitzar dades■ R - GPL■ Processing - GPL■ Gephi - CDDL o GPL
  24. 24. 5è fail - Posant-ho tot junt- Persistència poliglota
  25. 25. Algunes persones que han influït enaquesta presentacióBio"I am an author, speaker… essentially aloud-mouthed pundit on the topic ofsoftware development. I’ve been working inthe software industry since the mid-80’swhere I got into the then-new world ofobject-oriented software. I spent much ofthe 90’s as a consultant and trainer helpingpeople develop object-oriented systems,with a focus on enterprise applications. In2000 I joined ThoughtWorks."Conceptes● Domain Layer Patterns● Polyglot persistence○ First Scott LeberkingLlibres● Paterns of Enterprise ApplicationArchitecture● NoSQL DistilledWeb http://martinfowler.comMartin Fowler
  26. 26. Algunes persones que han influït enaquesta presentacióBio"Herb Sutter is a leading authority onsoftware development. Herb is a consultantand trainer, has served for a decade aschair of the ISO C++ standards committee,and is a software architect at Microsoftwhere he has been the lead designer ofC++/CLI, C++/CX, C++ AMP, and othertechnologies."Publicacions● The free lunch is over http://www.gotw.ca/publications/concurrency-ddj.htmWeb● http://herbsutter.comHerb Sutter
  27. 27. Algunes persones que han influït enaquesta presentacióHasso PlattnerBio"Prof. Dr. h.c. mult. Hasso C. Plattner is aCo-founder of SAP AG. He had beenresponsible for SAPs strategy and businessdevelopment, product and technologystrategy as well as for marketing and globalcommunications."Conceptes● In-memory databases● HYRISELlibres● In-memory Data ManagementWeb● hhttp://dschool.stanford.edu/bio/hasso-plattner/
  28. 28. Algunes persones que han influït enaquesta presentacióMichael StonebrakerBio"Michael Stonebraker has been a pioneer ofdata base research and technology for morethan 25 years. He was the main architect ofthe object-relational DBMS, POSTGRES,developed at the University of California atBerkeley where Stonebraker was professor.He is the founder of three successfulstartups, whose objective was tocommercialize POSTGRES and otherprototypes."Publicacions i projectes● The End of an Architechtural Era○ With Daniel Abadi et. al.● VoltDBWeb● http://www.csail.mit.edu/user/1547
  29. 29. Algunes persones que han influït enaquesta presentacióEric BrewerBio"Dr. Brewer focuses on all aspects ofInternet-based systems, includingtechnology, strategy, and government. As aresearcher, he has led projects on scalableservers, search engines, networkinfrastructure, sensor networks, andsecurity. His current focus is (high)technology for developing regions, withprojects in India, Ghana, and Ugandaamong others, and includingcommunications, health care, education,and e-government. "Conceptes● CAP Theorem● BASEPublicacions● CAP Twelve Years Later: How the"Rules" Have ChangedWeb● http://www.cs.berkeley.edu/~brewer/
  30. 30. Algunes persones que han influït enaquesta presentacióTim Berners-LeeBio"A graduate of Oxford University, TimBerners-Lee invented the World Wide Web,an internet-based hypermedia initiative forglobal information sharing while at CERN,the European Particle Physics Laboratory,in 1989. He wrote the first web client andserver in 1990. His specifications of URIs,HTTP and HTML were refined as Webtechnology spread."Conceptes● Open Data● Linked DataWeb● http://www.w3.org/People/Berners-Lee/
  31. 31. Algunes persones que han influït enaquesta presentacióOscar RomeroBio"My main interests are databases, data integrationand business intelligence. My PhD thesis focusedon data warehousing but since then, I have beenworking on many other topics such as NOSQL (andany technology beyond relational databases), opendata platforms (mostly at the database level),recommendation systems and semantic-awaresystems (based or exploiting semantic formalismssuch as ontology languages or RDF)."Idees● Estructura de la presentació● DIY databasesAssignatures● Diseeny de Bases de Dades● Conceptes de Bases de DadesEspecialitzadesWeb● http://www.essi.upc.edu/~oromero/
  32. 32. Algunes organitzacions que haninfluït en aquesta presentació
  33. 33. AgraïmentsPer lespai i per la formació rebudaPer la organitzacióPer ser-hi quan els necessitesPer la difusió de la xerrada
  34. 34. Altres fonts● Anna Queralt - BSC - Introduction to Object Databases● Seminar on MongoDB - Telefónica R&D - Pablo Enfedaque,● Josep Jordana - Catalunya Dades Obertes - Seminar on OpenData and Linked Data● Cristina Gómez - FIB - ESSI - Contingut de lassignatura AS● Jorge Fernàndez - FIB - ESSI - Contingut de lassignatura CSI● Oscar Romero - FIB - ESSI - Contingut de lassignatura CBDE● Infography. "Every Minute of the Day"
  35. 35. FI

×