2. En una base de datos NoSQL de
código abierto, este tipo de
soluciones se basan en el principio
de almacenar los datos en una
estructura de tipo llave-valor;
MongoDB por su lado se enfoca
específicamente en que los valores
de estas llaves (llamadas
colecciones) son estructuras
JSON(llamados documentos), es
decir objetos javascript, lenguaje
sobre el cual se basa esta solución
de base de datos. Esto facilitará su
manipulación a muchos que ya
conozcan el lenguaje.
3. Es un sistema de base de datos
multiplataforma orientado a
documentos, de esquema libre,
esto significa que cada entrada o
registro puede tener un esquema
de datos diferentes. Está escrito
en C++, además esta licenciado
como GNU AGPL 3.0 de modo que
se trata de un software de licencia
libre. Funciona en sistemas
operativos Windows, Linux, Os X y
Solaris.
4. MongoDB posee varias estrategias de manejo de datos que la han posicionado
donde se encuentra hoy en día, tales como sus proceso de división de datos en
distintos equipos físicos o también conocido como CLUSTERIZACION, también el
caso similar de documentos muy grandes que superan el límite estipulado de 16MB
se aplica una estrategia llamada GridFS que automáticamente divide el documeno
en pedazos y los almacena por separado, al recuperar el documento el driver se
encarga de armar automáticamente el documento nuevamente.
La estructura de almacenamiento es tan flexible que uno de los hechos importantes
que se comparten al introducir esta base de datos es que :
Distintos documentos en la misma colección no deben tener
obligatoriamente los mismos campos o estructura. Inclusive documentos
con campos en común no tienen necesariamente que tener el mismo tipo
de dato.
5. El MongoDB destaca por su
velocidad y su rico pero sencillo
sistema de consulta de los
contenidos de la base de datos.
Alcanza un balance perfecto entre
rendimiento y funcionalidad
6. En MongoDB cada registro o
conjunto de datos se denomina
documento. Los documentos se
pueden agrupar en colecciones, las
cuales se podría decir que son el
equivalente a las tablas en una
base de datos relacional (con la
diferencia que las colecciones
pueden almacenar documentos
con diferentes formatos).
7. MongoDB nos permite utilizar
funciones Map y Reduce escritas
en javascript para seleccionar los
atributos que nos interesan de los
datos y agregarlos en la manera
deseada. Esto es algo habitual en
muchos sistemas NoSQL y en
algunos casos es incluso la única
forma posible de consultar datos.
8. Aplica para almacenar grandes cantidades de
datos.
Por ejemplo con estructuras complejas como
blogs o aplicaciones de analítica(Google
analytics).
Ausencia de transacciones (esto le permite
ser mas rápida y escalable).
En sistemas tradicionales RDBMS, para
mejorar el rendimiento de la base de datos
adquiría una maquina mas potente(escalado
vertical); en MongoDB se incrementa el
número de máquinas(escala horizontal)
9. MongoDB almacena todo un registro en un mismo documento.
No hay necesidad de especificar estructura alguna y sus documentos pueden
cambiarse individualmente.
MongoDB usa BSON(Binary-JSON), un formato abierto basado en JSON que permite
manejar datos binarios.
Con BSON MongoDb es muy rápida en la búsqueda , indexación, almacenamiento y
recuperación de la información.
10. Todos los documentos son automáticamente indexados con una clave llamada id(lo
cual nos asegura que cada documento es único).
Tiene un análisis de rendimiento de QUERIES, esta herramienta permite determinar
el rendimiento de nuestras consultas o conocer posibles defectos en su estructura o
simplemente mejorar el tiempo de respuesta de las mismas
BSON puede almacenar hasta 4mb de datos en los documentos
Si necesitamos espacio adicional MongoDB provee de un sistema GridFS.
11. GridFS permite almacenar información del archivo (metadata) en una colección de
archivos: los datos se dividen en pequeñas partes llamadas “chunks”.
Implementación de Auto Sharding , esto es muy interesante en despliegue a gran
escala, delega en MongoDB la separación y recombinación de los datos y el
aseguramiento de que vaya al servido correcto y que las queries se ejecuten y
combinen de la forma mas eficiente posible