NoSQL (y SQL): Algunas nociones           Algunas definiciones, tipos           y su rol en la web moderna
NoSQL (y SQL): Algunas nociones
NoSQL (y SQL): Algunas nociones                                  vs.
NoSQL (y SQL): Algunas nociones  ENTERING
NoSQL (y SQL): Algunas nociones                                  sTRUCTURATED qUERY lANGUAGE                              ...
NoSQL (y SQL): Algunas nociones                          SQL es un manera de construir,                          manipular...
NoSQL (y SQL): Algunas nociones                      Data Types                          Cada columna debe tener un tipo d...
NoSQL (y SQL): Algunas nociones                          Joins                          Los (joins) son usados para combin...
NoSQL (y SQL): Algunas nociones                             Usando SQL en la Web                             Para hacer un...
NoSQL (y SQL): Algunas nociones                             Ejemplo de una Condición WHERE en SQL:                        ...
NoSQL (y SQL): Algunas nociones ...entering:                                  (or Harry Tuttle [aka De Niro] , Brazil 1985)
NoSQL (y SQL): Algunas nociones                                  Una definición (o dos):                                  ...
NoSQL (y SQL): Algunas nociones                                  Una definición (o dos):                                  ...
NoSQL (y SQL): Algunas nociones                                  Peeero.. si [My]SQL hace lo que necesito,                ...
NoSQL (y SQL): Algunas nociones                                  Los sistemas NoSQL típicamente                           ...
NoSQL (y SQL): Algunas nociones                                  Porqué .. AHORA??                                  Tamaño...
NoSQL (y SQL): Algunas nociones                                      Tamaño de los Datos (Data Size)                      ...
NoSQL (y SQL): Algunas nociones                                                                            Conectividad (C...
NoSQL (y SQL): Algunas nociones                                  Semi- Estructura                                  Individ...
NoSQL (y SQL): Algunas nociones                                                 Arquitectura (de las bases de datos)      ...
NoSQL (y SQL): Algunas nociones                                  Y de qué gustos viene?
NoSQL (y SQL): Algunas nociones                                  CUATRO categorías emergentes:
NoSQL (y SQL): Algunas nociones                                  Key-Value (Llaves-Valor)                        Hace foco...
NoSQL (y SQL): Algunas nociones                                  Big Table (clones) (o Column Stores)                     ...
NoSQL (y SQL): Algunas nociones                                  Document Databases                         Similares a lo...
NoSQL (y SQL): Algunas nociones                                  DataBase Gráfica (Graph DB)                        Se enf...
NoSQL (y SQL): Algunas nociones                                  OK! No es una DB...                                  Y CO...
NoSQL (y SQL): Algunas nociones                                  Estee...                                  Y COMO MANIPULO...
NoSQL (y SQL): Algunas nociones                                  Quiénes trabajan con NoSQL?                              ...
NoSQL (y SQL): Algunas nociones                                  Mmm.. Y si atamos cabos?                                 ...
NoSQL (y SQL): Algunas nociones                                  Hasta ahora , (era) la única Database.             RDBMS ...
NoSQL (y SQL): Algunas nociones... incluso podemos usar múltiples basesde datos en conjunto, y dejar que cadauna se encarg...
NoSQL (y SQL): Algunas nociones  Ahora, hay que usar el mejor envase para cada tipo de dato.                              ...
NoSQL (y SQL): Algunas nociones Persistencia políglota (Polyglot persistence)     DataBase    Todas las bases de datos    ...
NoSQL (y SQL): Algunas nociones                             Conclusiones:                             Dos pasos adelante (...
NoSQL (y SQL): Algunas nociones                             Fuentes:                             NoSQL for Dummies        ...
Upcoming SlideShare
Loading in …5
×

Conceptos de NoSoloSQL

3,733 views

Published on

Presentación para Experiencias Web HTML5, P2PU

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

No Downloads
Views
Total views
3,733
On SlideShare
0
From Embeds
0
Number of Embeds
106
Actions
Shares
0
Downloads
213
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Conceptos de NoSoloSQL

  1. 1. NoSQL (y SQL): Algunas nociones Algunas definiciones, tipos y su rol en la web moderna
  2. 2. NoSQL (y SQL): Algunas nociones
  3. 3. NoSQL (y SQL): Algunas nociones vs.
  4. 4. NoSQL (y SQL): Algunas nociones ENTERING
  5. 5. NoSQL (y SQL): Algunas nociones sTRUCTURATED qUERY lANGUAGE (M.O.I. aka Ministery Of Information, Brazil 1985)
  6. 6. NoSQL (y SQL): Algunas nociones SQL es un manera de construir, manipular y accesar una base de datos relacional. Tabla Tiene columnas y filas Relaciones Llaves primarias [keys] ( única columna o combinación de columnas) Llaves foráneas [foreign] (una col. que referencia una llave primaria u otra tabla) Normalización Cada tabla describe solamente una cosa nada más
  7. 7. NoSQL (y SQL): Algunas nociones Data Types Cada columna debe tener un tipo de data válida Los tipos de datos están (parcialmente) estandarizados. Por ej: Numeric, Decimal, Float, Char, Varchar, Text, etc. Create Tables/ Alter Tables Define / Modifica la estructura de la tabla Limitadores son usados para forzar data válida en las columnas NOT NULL / CHECK / PRIMARY KEY UNIQUE / FOREIGN KEY (especifica una relaciuón entre tablas) Hay índices (Indexes) (como una tabla virtual con punteros a una tabla física) Modificar data INSERT / UPDATE /DELETE Transacciones Un set de instrucciones INSERT, DELETE, UPDATE que pertenecen a una unidad lógica de trabajo
  8. 8. NoSQL (y SQL): Algunas nociones Joins Los (joins) son usados para combinar información de múltiples tablas. Pueden ser INNER o OUTER Joins. Inner Join [Left] Outer Join Set operators Operaciones con tablas o partes de ellas... etc, etc... UNION EXCEPT INTERSECT
  9. 9. NoSQL (y SQL): Algunas nociones Usando SQL en la Web Para hacer un sitio que utilice una base de datos SQL nos hará falta: * un programa de base de datos tipo RDBMS (P.ej, MS Access, SQL Server, MySQL) * Un lenguaje de programación server-side tal como PHP o ASP * SQL * HTML / CSS RDBMS es la sigla de Relational Database Manage- ment System. RDBMS es la base de SQL y de todos los sistemas modernos de base de datos, como MS SQL Server, IBM DB2, Oracle, MySQL, y Microsoft Access. Los datos en RDBMS se guardan en objetos de la base de datos llamados tablas. Las tablas son colecciones de entradas de datos relacionadas y consiste en columnas y filas.
  10. 10. NoSQL (y SQL): Algunas nociones Ejemplo de una Condición WHERE en SQL: Dada una tabla llamada “Personas” P_Id LastName FirstName Address City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendson Tove Borgvn 23 Sandnes 3 Pettersen Kari Storgt 20 Stavanger Sólo seleccionamos las personas de la ciudad Sandnes Debemos usar entonces el siguiente comando SELECT : SELECT * FROM Personas WHERE City=Sandnes El resultado que arrojará será algo parecido a esto. P_Id LastName FirstName Address City 1 Hansen Ola Timoteivn 10 Sandnes 2 Svendson Tove Borgvn 23 Sandnes
  11. 11. NoSQL (y SQL): Algunas nociones ...entering: (or Harry Tuttle [aka De Niro] , Brazil 1985)
  12. 12. NoSQL (y SQL): Algunas nociones Una definición (o dos): Otra forma es definirlo por lo que quiere decir No : “cualquier base de datos que NO es relacional” El término se acuñó en un encuentro con los creadores de algunas importantes/emergentes bases de datos “Bases de datos No-Relacionales” hubiera sido más correcto, ... pero era un bocado! ...luego hubo una conferencia, una lista de correo, ... el nombre prendió, hubieron más conferencias... ... y aquí estamos!
  13. 13. NoSQL (y SQL): Algunas nociones Una definición (o dos): NoSQL es un concepto genérico usado para descri- bir almacenamiento estructurado que no necesita de apoyarse en SQL para ser accesado de manera útil” “NoSQL is a blanket term used to describe structured storage that doesn’t rely on SQL to be accessed in a useful way”. Chris Lea “NoSQL” NO significa que “SQL es MALO” ... sino simplemente Not Only SQL (No sólo SQL)
  14. 14. NoSQL (y SQL): Algunas nociones Peeero.. si [My]SQL hace lo que necesito, para qué necesito otra cosa?? RDBMS NoSQL Diseñado para Diseñado para cargas genéricas resolver problemas (workloads) específicos Grandes (y cada vez más grandes) Cambia funciones sets de funciones por perfomance
  15. 15. NoSQL (y SQL): Algunas nociones Los sistemas NoSQL típicamente NO hacen trasacciones ni JOIN´s • si realmente necesita transacciones, manténgase al lado de RDBMS •no tener joins termina por no tener grandes efectos Cuál es el foco del NoSQL? ..más que modelos de datos, es la escalabilidad:Escalab. horizontal Transparente a la aplicación No hay un sólo punto de falla:más servidores crean la lógica de negociación de No UN solo servidor, que si semás capacidad la aplicaciónse debe separar cae, cause un fuera de servicio de temas de escalado de de la aplicación recursos de servidor
  16. 16. NoSQL (y SQL): Algunas nociones Porqué .. AHORA?? Tamaño de los Datos (Data Size) Conectividad (Conectedness) Semi-Estructuras Arquitectura (de las bases de datos)
  17. 17. NoSQL (y SQL): Algunas nociones Tamaño de los Datos (Data Size) ExaBytes (10 ) de datos almacenados por año 1000 988 Cada año se crea más data digital En dos años 750 hemos creado más datos digitales que toda los datos creados en la 623 historia antes de ello. 500 397 397 250 253 161 0 2006 2007 2008 2009 2010 Fuente: IDC 2007
  18. 18. NoSQL (y SQL): Algunas nociones Conectividad (Conectedness) A lo largo del tiempo la data Giant ha evolucionado y se ha vuelto Global más interenlazada y conectada. Graph (GGG) El hipertexto tiene links, Ontologies Conectividad de la información Los blogs tienen pingbacks, Grupos de etiquetas de RDF datos relacionados... Folksonomies Tagging User- Wikis generated content Blogs RSS Hypertext Text documents web 1.0 web 2.0 1990 2000 2010 2020
  19. 19. NoSQL (y SQL): Algunas nociones Semi- Estructura Individualización de contenido: En las listas de salarios de los 70´s todos los el- ementos tenían UN solo trabajo. En las listas del 2000, necesitamos 5 columnas de trabajo! O bien 8? O 15...? Todo busca “visiones enteras del mundo” Se almacena más data de cada entidad Hay una tendencia acelerada a la desentra- lización de la generación de contenido ... que es la marca de la Edad de la Participación (o de la web 2.0)
  20. 20. NoSQL (y SQL): Algunas nociones Arquitectura (de las bases de datos) 80´s: Aplicaciones Application tipo “MainFrame” 90´s: Base de datos como centro integrador DB Application Application Application 2000´s: (y al futuro) Servicios desconectados con sus propios back-ends Application Application Application DB DB DB DB
  21. 21. NoSQL (y SQL): Algunas nociones Y de qué gustos viene?
  22. 22. NoSQL (y SQL): Algunas nociones CUATRO categorías emergentes:
  23. 23. NoSQL (y SQL): Algunas nociones Key-Value (Llaves-Valor) Hace foco en escalar grandes cantidades de data Diseñado para manejar cargas masivas Basado en DynamoPaper de Amazon Modelo de datos: Colección (global) de pares de llaves-valor (key-value) Replicación y partición basado en un anillo Dynamo Ejemplos: •Dynomite •Voldemort •Tokyo{Tyrant, Cabinet, etc...}
  24. 24. NoSQL (y SQL): Algunas nociones Big Table (clones) (o Column Stores) Como si fuera “como DB Relacionales orientadas a co- lumnas”, pero con un giro extra Tablas similares a las RDBMS, pero que manejan datos semiestructurados Basados en “BigTable” de Google Modelo de datos: Columnas Familias de cols. ACL Datos marcados por: fila, col, tiempo e index Rango de filas: tablet distribución Ejemplos: •HBase •Hypertable •Cassandra (Facebook, Twitter, Digg...)
  25. 25. NoSQL (y SQL): Algunas nociones Document Databases Similares a los de almacenamiento por valor-Llave, pero en este caso la DB sabe cuál es el Valor. Similar to Key-Value stores, but the DB knows what the Inspirado en Lotus Notes Modelo de datos: Colecciones de colecciones de Llave- Valor ( Key-Value) Los documentos son bastante versionados/replicados Ejemplos: •CouchDB •MongoDB •Redis •JackRabbit
  26. 26. NoSQL (y SQL): Algunas nociones DataBase Gráfica (Graph DB) Se enfocan en modelar la estructura datos-interconectividad Se escala a la complejidad de los datos Inspirado por la Teoría Grafo-matemática ( G=(E,V) ) Modelo de datos: “grafo de propiedad” Nodos Relaciones/ Bordes entre Nodos (primera clase) Pares Llave-valor en ambos Posibilidad de etiquetas de Borde y/o Tipos de Nodo/Borde. Ejemplos: •Neo4j •AllegroGraph •Sones graphDB
  27. 27. NoSQL (y SQL): Algunas nociones OK! No es una DB... Y COMO LA CONSULTO? Interfaces REST (HTTP como API de acceso) Otros lenguajes de consulta que el SQL •GQL - SQL-like QL para Google BigTable •SPARQL - Query language para la Web Semántica •Gremlin - Lenguaje trasnversal gráfico •Sones Graph Query Language APIs de consulta •La Google BigTable DataStore API •La API transversal Neo4j QUERY
  28. 28. NoSQL (y SQL): Algunas nociones Estee... Y COMO MANIPULO LOS DATOS? Otra vez, interfaces REST (http PUT, POST, DELETE) APIs de Manipulación de Datos •Google BigTable DataStore API •Neo4j GraphDatabase API Formatos de Serialización •JSON •Thrift •ProtoBuffers •RDF DATAHandle
  29. 29. NoSQL (y SQL): Algunas nociones Quiénes trabajan con NoSQL? (qué jugadores!)
  30. 30. NoSQL (y SQL): Algunas nociones Mmm.. Y si atamos cabos? ( o sea.. SQL o NoSQL? Cuál?)
  31. 31. NoSQL (y SQL): Algunas nociones Hasta ahora , (era) la única Database. RDBMS (Dream is Over...Finale, Brazil 1985)
  32. 32. NoSQL (y SQL): Algunas nociones... incluso podemos usar múltiples basesde datos en conjunto, y dejar que cadauna se encargue de las cosas que manejamejor!
  33. 33. NoSQL (y SQL): Algunas nociones Ahora, hay que usar el mejor envase para cada tipo de dato. 38 (o lo que es igual, la mejor base de datos para el problema que se presente)
  34. 34. NoSQL (y SQL): Algunas nociones Persistencia políglota (Polyglot persistence) DataBase Todas las bases de datos son bienvenidas! SQL y NoSQL... No es sólo SQL!!
  35. 35. NoSQL (y SQL): Algunas nociones Conclusiones: Dos pasos adelante (pero antes uno atrás...) La era de una sola base de datos terminó Use la herramienta justa para cada trabajo La persistencia políglota ya está en marcha, y cada vez se volverá más cotidiana Resuelve varios problemas de escalabilidad: •Escalar por tamaño - grandes cantidades de datos, muchas muchas máquinas •Escalar por complejidad - maneja esquemas complicados - evita ser ”lastrado” por profundos JOINs Jugado por grandes compañías y empresas in- dependientes (una dupla saludable :)
  36. 36. NoSQL (y SQL): Algunas nociones Fuentes: NoSQL for Dummies http://slidesha.re/boJDgs What Does NoSQL Mean for You? http://slidesha.re/bacCWC NoSQL: An introduction http://slidesha.re/bBuApG SQL Overview http://slidesha.re/i7uIWJ Images: Google Images Brazil (1985), de Terry Gilliam. (un capo) Mauro Ramón, para HTML5 Experiencia Web, 2011 P2PU / Profesor Dany Bautista.

×