Sunteți pe pagina 1din 18

Gestor de Base de Datos NoSQL

orientado a documentos:

EN PRODUCCION

Que es NoSQL?

Son sistemas de almacenamiento de informacin


que no cumplen con el esquema entidadrelacion, es decir, que no imponen una estructura
de datos en forma de tablas y relaciones entre
ellas, en ese sentido son mas flexibles, ya que
permiten almacenar informacin en otros
formatos como clave-valor (similar a tablas
HASH), mapeo de columnas, documentos o
grafos.

NOSQL

BD Referenciado por
Llave Valor (Key-value)

BD Orientado a Grafos

BD Orientado a
Documentos

BD Orientado a Columnas

Que es MongoDB?

MongoDB (de la palabra en ingls


humongous que significa enorme) es un
sistema de base de datos NoSQL orientado
a documentos, desarrollado bajo el concepto
de cdigo abierto.

SQL vs NoSQL

Equivalencias
RDBMS

MongoDB

Database

Database

Tabla

Coleccin

Fila
Columna

Documento (JSON,
BSON)
Campo

Index

Index

Join

Documento

Foreign Key

Referencia

Ventajas de NoSQL

Estos sistemas responden a las necesidades de escalabilidad


horizontal que tienen cada vez ms empresas.

Pueden manejar enormes cantidades de datos.

No generan cuellos de botella.

Escalamiento sencillo.

Diferentes DBs NoSQL para diferentes proyectos.

Se ejecutan en clusters de mquinas baratas.

Ventajas de NoSQL

Las bases de datos NoSQL estn concebidas


para obtener una altsima capacidad de volumen
de almacenamiento y velocidad de proceso de la
informacin. Para lograr esto, el lenguaje NoSQL
usa tcnicas que pueden asustar a los gestores
de bases de datos relacionales, como el que los
datos que componen la data, no son coherentes
todo el tiempo dentro del sistema.

Empresas que usan BD


NoSQL

MongoDB

MongoDB forma parte de la nueva familia de


sistemas de base de datos NoSQL.

En vez de guardar los datos en tablas, como se


hace en las base de datos relacionales,
MongoDB guarda estructuras de datos en
documentos tipo JSON con un esquema
dinmico (MongoDB llama ese formato BSON),
haciendo que la integracin de los datos en
ciertas aplicaciones sea ms fcil y rpida.

JSON

CRUD
Create
db.collection.insert( <document> )
db.collection.save( <document> )
db.collection.update( <query>, <update>, { upsert: true } )
Read
db.collection.find( <query>, <projection> )
db.collection.findOne( <query>, <projection> )
Update
db.collection.update( <query>, <update>, <options> )
Delete
db.collection.remove( <query>, <justOne> )

EJEMPLO CRUD

INDEXACIN

Cualquier campo en un documento de


MongoDB puede ser indexado, al igual que
es posible hacer ndices secundarios. El
concepto de ndices en MongoDB es
similar a los encontrados en base de datos
relacionales.

REPLICACIN

MongoDB soporta el tipo de


replicacin maestro-esclavo. El
maestro puede ejecutar comandos
de lectura y escritura.

El esclavo puede copiar los datos


del maestro y slo se puede usar
para lectura o para copia de
seguridad, pero no se pueden
realizar escrituras.

El esclavo tiene la habilidad de


poder elegir un nuevo maestro en
caso de que se caiga el servicio
con el maestro actual.

BALANCEO DE CARGA

MongoDB se puede escalar de forma horizontal usando el concepto de shard. El


desarrollador elige una llave shard, la cual determina cmo sern distribuidos los
datos en una coleccin.

Los datos son divididos en rangos (basado en la llave shard) y distribuidos a travs
de mltiples shard.

Un shard es un maestro con uno o ms esclavos. MongoDB tiene la capacidad de


ejecutarse en mltiple servidores, balanceando la carga y/o duplicando los datos
para poder mantener el sistema funcionando en caso que exista un fallo de
hardware.

La configuracin automtica es fcil de implementar bajo MongoDB y nuevas


mquinas pueden ser agregadas a MongoDB con el sistema de base de datos
corriendo.

BALANCEO DE CARGA

En
un
sistema
con
mltiples servidores, los
archivos
pueden
ser
distribuidos y copiados
entre los mismos varias
veces y de una forma
transparente,
de
esta
forma se crea un sistema
eficiente que maneja fallos
y balanceo de carga.

S-ar putea să vă placă și