NoSqlDocumentos Flashcards
NoSqlDocumentos
Bases de Datos Documentales
1- Son consideradas por muchos como el siguiente paso lógico después de las clave/valor ya que los documentos permiten encapsular pares clave/valor en un documento.
2- No existe un esquema estricto al que los documentos se tengan que regir -> Elimina la necesidad de migraciones de esquemas.
3- Cada registro y sus datos asociados se consideran un “documento”.
Bases de Datos Documentales
4-Todo lo relacionado con un objeto de base de datos se encapsula conjuntamente.
5- Están basadas en un modelo que no requiere SQL y tablas, como las bases de datos relacionales.
Formatos
1- Los documentos siguen un mínimo de reglas de formatos estándar.
2- El formato puede ser prácticamente cualquiera, como JSON, XML, YAML, etc.
3- JSON es el formato más utilizado.
4- Un documento JSON es simple, compacto y más legible.
JSON en NoSQL
1- Pares clave-valor o atributos: Las llaves son cadenas de texto simples y los valores pueden ser de cualquier tipo (int, float, double, boolean, etc)
2- Objetos JSON embebidos: Además de tipos primitivos los valores también pueden ser objetos JSON que permiten crear un tipo de jerarquía. En Bases de datos documentales esto de llama “Modelo de datos embebido”
3- Arrays: Es algo natural en todos los lenguajes de programación.
JSON en NoSQL
[{ "name": "John", "skills": ["SQL", "C#", "Azure"] }, { "name": "Jane", "surname": "Doe" }]
Ventajas BD NoSQL Documents
1- Los documentos son unidades independienteslo que mejora el rendimiento (los datos relacionados se leen de forma contigua en el disco) y facilita la distribución de los datos en varios servidores al tiempo que conserva su ubicación.
2- La lógica de la aplicación es más fácil de escribir. No es necesario traducir entre objetos en la aplicación y consultas SQL, simplemente puede convertir el modelo de objetos directamente en un documento.
Sample
[{ "id": 2, "info": { "name": "John", "surname": "Smith" }, "age": 25 }, { "id": 5, "info": { "name": "Jane", "surname": "Smith" }, "dob": "2005-11-04T12:00:00" }]
RDBMS vs NoSQL Document Databases
1- Desarrollo de Software Ágil: Fácilmente se agregan atributos al esquema.
- Ciclos de Desarrollo más rápidos: Elimina la necesidad de un equipo de modelado previo de los datos ya que el esquema es generado desde la aplicación. (Application Driven Data Models)
- Estructuras de Datos Enriquecidas: En RDBMS se crean relaciones y se ejecutan JOINS para obtener la información. Las bases de datos documentales agrupan piezas de datos juntas que son accesadas de manera conjunta.
Ejemplos NpSQL Documents
a. MongoDB.
b. CouchDB Relax
c. IBM Cloudant
d. Azure Cosmos DB