NO SQL
Gustavo Alzate Sandoval
http://eltavodev.blogspot.com/
@ElTavodev
Agenda
 Aspectos Generales
 Comparación con el sistema relacional
 Tipos de No SQL
 Consideraciones
 Práctica
¿Qué es No Sql?
 También conocido como no sólo sql (Not only sql) es una
amplia clase de sistemas de gestión de datos, caracterizado
por no usar SQL como el principal lenguaje de consultas.
Capaz de almacenar grandes cantidades de datos facilitando
un crecimiento horizontal, enfocándose en rendimiento más
que en consistencia.
Éxito de los RDBMS, cuando
usarlos?
 Portabilidad, al usar SQL como estándar
 Garantiza gran consistencia de datos, al basarse en los
principios ACID
Atomicity
Consistency
Isolation
Durability
Éxito de No Sql, cuando
usarlos?
 Permite manejar grandes volúmenes de datos sin afectar
el rendimiento
 Fácil escalamiento horizontal
 Soportan estructuras dinámicas
 El hardware para su instalación resulta menos costoso
Tipos
 Clave-Valor
 Documentos
 Grafos
 Familia columnas
Clave - Valor
 Es una representación muy sencilla
 Almacena una clave y una valor para el manejo de datos
Update(Key, Value)
Get(Key)
Delete(Key)
Dynamo Voldemort
Documentos
 Persiste documentos en la base de datos
 Json, Xml, Bson
 Cada documento posee un identificador unico
 Documento == Registro en RDBMS
 Tiene un esquema libre
Mongo DB Couch DB
Familia de columnas
 Extiende el modelo clave – valor
 Conjunto de tuplas de clave – valor
 Columnas y súper columnas
Cassandra Big Table
Grafos
 Muy optimo para manejar representaciones jerárquicas
 Cada nodo representa un entidad
 Las líneas representan relaciones y también contienen
información
Neo4J Flock DB
¿Cuándo usar un tipo en
especifico?
Consideraciones al momento
de usar No Sql
 ¿Qué tipo de crecimiento tendrá mi sistema?
 ¿Mis necesidades apuntan a No Sql?
 ¿Qué familia de No Sql debo usar?
 Rompe el paradigma de RDBMS, desnormalización
 Constante evolución
Implementación
¿Preguntas?
Gracias!!

Introducción a No sql

  • 1.
    NO SQL Gustavo AlzateSandoval http://eltavodev.blogspot.com/ @ElTavodev
  • 2.
    Agenda  Aspectos Generales Comparación con el sistema relacional  Tipos de No SQL  Consideraciones  Práctica
  • 3.
    ¿Qué es NoSql?  También conocido como no sólo sql (Not only sql) es una amplia clase de sistemas de gestión de datos, caracterizado por no usar SQL como el principal lenguaje de consultas. Capaz de almacenar grandes cantidades de datos facilitando un crecimiento horizontal, enfocándose en rendimiento más que en consistencia.
  • 4.
    Éxito de losRDBMS, cuando usarlos?  Portabilidad, al usar SQL como estándar  Garantiza gran consistencia de datos, al basarse en los principios ACID Atomicity Consistency Isolation Durability
  • 5.
    Éxito de NoSql, cuando usarlos?  Permite manejar grandes volúmenes de datos sin afectar el rendimiento  Fácil escalamiento horizontal  Soportan estructuras dinámicas  El hardware para su instalación resulta menos costoso
  • 6.
    Tipos  Clave-Valor  Documentos Grafos  Familia columnas
  • 7.
    Clave - Valor Es una representación muy sencilla  Almacena una clave y una valor para el manejo de datos Update(Key, Value) Get(Key) Delete(Key) Dynamo Voldemort
  • 8.
    Documentos  Persiste documentosen la base de datos  Json, Xml, Bson  Cada documento posee un identificador unico  Documento == Registro en RDBMS  Tiene un esquema libre Mongo DB Couch DB
  • 9.
    Familia de columnas Extiende el modelo clave – valor  Conjunto de tuplas de clave – valor  Columnas y súper columnas Cassandra Big Table
  • 10.
    Grafos  Muy optimopara manejar representaciones jerárquicas  Cada nodo representa un entidad  Las líneas representan relaciones y también contienen información Neo4J Flock DB
  • 11.
    ¿Cuándo usar untipo en especifico?
  • 12.
    Consideraciones al momento deusar No Sql  ¿Qué tipo de crecimiento tendrá mi sistema?  ¿Mis necesidades apuntan a No Sql?  ¿Qué familia de No Sql debo usar?  Rompe el paradigma de RDBMS, desnormalización  Constante evolución
  • 13.
  • 14.
  • 15.