Not only SQL
¿Y este quién es? <ul><li>Luis Lavena </li><ul><li>Director de tecnología en AREA 17
Consultor y desarrollador en el area de video profesional (TV/Cable) por mas de 12 años.
Maintainer de RubyInstaller (for Windows)
http://www.area17.com </li></ul></ul>
¿Y qué es NoSQL? <ul><li>Aquellos sistemas que no poseen un schema fijo.
Aquellos sistemas que no almacenan la infomación de una manera estructurada. </li></ul>
¿Qué?
RDBMS <ul><li>MySQL, PostgreSQL, Oracle, MSSQL
Un registro esta formado por N cantidad de columnas que son consistentes para cada registro
Esos registros pueden ser incluidos o usados de referencia para otras consultas (join, etc) </li></ul>
Ahora... NoSQL es... <ul><li>Todo lo que no es RDBMS (Relational Database Management System)
Hay mas de un tipo de solución (siempre hay mas de un tipo de problema) </li></ul>
Tipos de sistemas NoSQL <ul><li>Document (CouchDB, MongoDB)
Key/Value (memcached, redis, Tokyo Cabinet, SimpleDB) – RAM o Disco
Graph (AllegroGraph, Neo4j)
Muchos más (http://nosql-databases.org/) </li></ul>
Document Store
Document Store <ul><li>Hay un base o tipo de documento
Cada documento tiene sus propios atributos
Cada documento puede contener otros documentos propios de si. </li></ul>
CouchDB <ul><li>Usa standard de comunicación (HTTP)
Representacion de recursos (REST)
Fácil expansión usando proxy y load balancing)
http://couchdb.apache.org/ </li></ul>
Upcoming SlideShare
Loading in …5
×

Nosql tucumanvalley-10

1,064 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,064
On SlideShare
0
From Embeds
0
Number of Embeds
101
Actions
Shares
0
Downloads
10
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Nosql tucumanvalley-10

  1. 1. Not only SQL
  2. 2. ¿Y este quién es? <ul><li>Luis Lavena </li><ul><li>Director de tecnología en AREA 17
  3. 3. Consultor y desarrollador en el area de video profesional (TV/Cable) por mas de 12 años.
  4. 4. Maintainer de RubyInstaller (for Windows)
  5. 5. http://www.area17.com </li></ul></ul>
  6. 6. ¿Y qué es NoSQL? <ul><li>Aquellos sistemas que no poseen un schema fijo.
  7. 7. Aquellos sistemas que no almacenan la infomación de una manera estructurada. </li></ul>
  8. 8. ¿Qué?
  9. 9. RDBMS <ul><li>MySQL, PostgreSQL, Oracle, MSSQL
  10. 10. Un registro esta formado por N cantidad de columnas que son consistentes para cada registro
  11. 11. Esos registros pueden ser incluidos o usados de referencia para otras consultas (join, etc) </li></ul>
  12. 12. Ahora... NoSQL es... <ul><li>Todo lo que no es RDBMS (Relational Database Management System)
  13. 13. Hay mas de un tipo de solución (siempre hay mas de un tipo de problema) </li></ul>
  14. 14. Tipos de sistemas NoSQL <ul><li>Document (CouchDB, MongoDB)
  15. 15. Key/Value (memcached, redis, Tokyo Cabinet, SimpleDB) – RAM o Disco
  16. 16. Graph (AllegroGraph, Neo4j)
  17. 17. Muchos más (http://nosql-databases.org/) </li></ul>
  18. 18. Document Store
  19. 19. Document Store <ul><li>Hay un base o tipo de documento
  20. 20. Cada documento tiene sus propios atributos
  21. 21. Cada documento puede contener otros documentos propios de si. </li></ul>
  22. 22. CouchDB <ul><li>Usa standard de comunicación (HTTP)
  23. 23. Representacion de recursos (REST)
  24. 24. Fácil expansión usando proxy y load balancing)
  25. 25. http://couchdb.apache.org/ </li></ul>
  26. 26. MongoDB <ul><li>Uso de JSON como formato de datos (BSON)
  27. 27. Propio sistema de conexión
  28. 28. Indexado
  29. 29. JavaScript como lenguaje de Query
  30. 30. Sharding
  31. 31. http://www.mongodb.org/ </li></ul>
  32. 32. Ejemplos <ul><li>Fichas médicas
  33. 33. Registros de enfermedades
  34. 34. HowTos (Guias paso a paso)
  35. 35. Censos </li></ul>
  36. 36. Key / Value (Diccionario)
  37. 37. Key Value <ul><li>Por cada k hay un v equivalente (k => v)
  38. 38. Principio básico de representación de objetos (hashes)
  39. 39. Conceptos y funcionalidades simplificados </li></ul>
  40. 40. Memcached <ul><li>Comandos sencillos
  41. 41. Rápido
  42. 42. Expiración automática de claves
  43. 43. Solo memoria, entre más, mejor.
  44. 44. http://memcached.org/ </li></ul>
  45. 45. Redis <ul><li>Comandos sencillos
  46. 46. Rápido
  47. 47. Lo mejor de memcached, pero persistente
  48. 48. Más alla de memcached (Sets, Lists, Uniones, etc)
  49. 49. http://redis.io/ </li></ul>
  50. 50. Ejemplos <ul><li>Cache en memoria (memcached)
  51. 51. Cache de fragmentos (memcached)
  52. 52. Friends y Followers (Redis)
  53. 53. Activity Feeds (Redis)
  54. 54. Twitter-clones (Redis)
  55. 55. Processing Queues (Redis) </li></ul>
  56. 56. Graph
  57. 57. Graph <ul><li>Su objetivo principal no es los datos sino las relaciones entre ellos
  58. 58. Optimizados para resolver relaciones de 2do nivel o superiores. </li></ul>
  59. 60. neo4j <ul><li>Graph Engine con almacenamiento de datos
  60. 61. Rápido (en memoria y persistente)
  61. 62. Nodos, relaciones, edges y propiedades
  62. 63. Plugins para queries complejos (Gremlin)
  63. 64. Java, con opción REST
  64. 65. http://neo4j.org/ </li></ul>
  65. 66. Ejemplos <ul><li>Sistemas de recomendaciones (amigos, amigos de amigos, etc)
  66. 67. Followers y Following
  67. 68. Recomendaciones musicales (Last.FM)
  68. 69. Tags y relaciones (no clouds) </li></ul>
  69. 70. Recordar: Simpre hay una herramienta para cada problema. No siempre por que se pueda hacer en SQL singnifica que se deba :-)
  70. 71. ¿Preguntas?
  71. 72. ¡Muchas gracias a todos! CC: attribution, non-commercial, share alike.

×