Capítulo 8 NoSQL

El modelo NoSQL, por “not only SQL” es un modelo de almacenamiento de datos que a diferencia del modelo relacional no es tabular sino que permite diversos tipos según el modelo de datos. Los principales son documentos, pares clave-valor (key-value), wide-colum, grafos. Comparten en común que son bastante más flexibles a la hora de almacenar datos y son más fáciles de escalar con grandes volumenes de datos.

8.1 Modelo Documental

Este modelo se basa en el almacenamiento de documentos en un formato JSON que esta compuesto por pares campo:valor que permite datos simples y/o complejos según su jerarquía.

-- modelo simple de documento JSON
{
  name  : "Carlos Araneda",
  age   : 29,
  alias : "caraneda",
  member : "Unilever",
  address  : "San Antonio 456, Concepción",
  zipCodes : 1234,
  phone: "+56978872845"
}
  
-- modelo complejo de JSON
{
  name  : "Carlos Araneda",
  age   : 29,
  alias : "caraneda",
  memberOf : ["Unilever", "Sanatorio"],
  address  : { street : "San Antonio", number : 234, city: "Concepción" },
  zipCodes : { zipCode : 4130000, zone: "Concepción" },
  phone : { work: "+5641234670", cell: "+56978872845", home: "+5641890345"}
}

Los valores están constituidos por:

  • texto
  • Números (enteros y decimales)
  • arreglos
  • documentos
  • arreglos de documentos

Este tipo de construcción permite reducir en gran medida las “relaciones” requeridas entre tablas en el modelo relacional.

alias work home cell
caraneda +5641234670 +5641890345 +56978872845
paolis +5698007896
paravena +5641567908

8.2 Key-Value

8.3 Grafos

8.4 Wide-Column