Está en la página 1de 3

MongoDB (de la palabra en inglés “humongous” que significa enorme) es un sistema

de base de datos NoSQLorientado a documentos, desarrollado bajo el concepto de código


abierto.
MongoDB forma parte de la nueva familia de sistemas de base de datos NoSQL. En lugar
de guardar los datos en tablas como se hace en las base de datos relacionales, MongoDB
guarda estructuras de datos en documentos similares a JSON con un esquema dinámico
(MongoDB utiliza una especificación llamada BSON), haciendo que la integración de los
datos en ciertas aplicaciones sea más fácil y rápida.
El desarrollo de MongoDB empezó en octubre de 2007 por la compañía de software 10gen.1
Ahora MongoDB es una base de datos lista para su uso en producción y con muchas
características (features). Esta base de datos se utiliza mucho en la industria,2 contando
con implantaciones en empresas como MTV Network,3 Craiglist4, BCI o Foursquare.5
El código binario está disponible para los sistemas operativos Windows, Linux, OS
X y Solaris.

Características principales
Consultas Ad hoc
MongoDB soporta la búsqueda por campos, consultas de rangos y expresiones regulares.
Las consultas pueden devolver un campo específico del documento pero también puede
ser una función JavaScript definida por el usuario.
Indexación
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..
Replicación
MongoDB soporta el tipo de replicación primario-secundario. Cada grupo de primario y sus
secundarios se denomina replica set .13 El primario puede ejecutar comandos de lectura y
escritura. Los secundarios replican los datos del primario y sólo se pueden usar para lectura
o para copia de seguridad, pero no se pueden realizar escrituras. Los secundarios tiene la
habilidad de poder elegir un nuevo primario en caso de que el primario actual deje de
responder.
Balanceo de carga
MongoDB se puede escalar de forma horizontal usando el concepto de “shard”.14 El
desarrollador elige una clave de sharding, la cual determina cómo serán distribuidos los
datos de una colección. Los datos son divididos en rangos (basado en la clave de sharding)
y distribuidos a través de múltiples shard. Cada shard puede ser una replica set. MongoDB
tiene la capacidad de ejecutarse en múltiple servidores, balanceando la carga y/o replicando
los datos para poder mantener el sistema funcionando en caso que exista un fallo de
hardware. La configuración automática es fácil de implementar bajo MongoDB y se pueden
agregar nuevas servidores a MongoDB con el sistema de base de datos funcionando.
Almacenamiento de archivos
MongoDB puede ser utilizado como un sistema de archivos, tomando la ventaja de la
capacidad que tiene MongoDB para el balanceo de carga y la replicación de datos utilizando
múltiples servidores para el almacenamiento de archivos. Esta función se llama GridFS15 y
es más bien una implementación en los drivers, no en el servidor,16 por lo que está incluida
en los drivers oficiales que la compañía de MongoDB desarrolla. Estos drivers exponen
funciones y métodos para la manipulación de archivos y contenido a los desarrolladores.
En un sistema con múltiple servidores, los archivos pueden ser distribuidos y replicados
entre los mismos y de una forma transparente, de esta forma se crea un sistema eficiente
que maneja fallos y balanceo de carga

BLOCKCHAIN
Una cadena de bloques1 o cadena articulada, conocidas en inglés como blockchain,23456 es
una base de datos distribuida, formada por cadenas de bloques diseñadas para evitar su
modificación una vez que un dato ha sido publicado usando un sellado de tiempo confiable y
enlazando a un bloque anterior.7 Por esta razón es especialmente adecuada para almacenar de
forma creciente datos ordenados en el tiempo y sin posibilidad de modificación ni revisión. Este
enfoque tiene diferentes aspectos:

 Almacenamiento de datos: se logra mediante la replicación de la información de la cadena


de bloques
 Transmisión de datos: se logra mediante redes de pares.
 Confirmación de datos: se logra mediante un proceso de consenso entre los nodos
participantes. El tipo de algoritmo más utilizado es el de prueba de trabajo en el que hay un
proceso abierto competitivo y transparente de validación de las nuevas entradas llamada
minería.
El concepto de cadena de bloque fue aplicado por primera vez en 2009 como parte de Bitcoin.
Los datos almacenados en la cadena de bloques normalmente suelen ser transacciones (p. ej.
financieras) por eso es frecuente llamar a los datos transacciones. Sin embargo, no es necesario
que lo sean. Realmente podríamos considerar que lo que se registran son cambios atómicos
del estado del sistema. Por ejemplo una cadena de bloques puede ser usada para estampillar
documentos y asegurarlos frente a alteraciones.

BPM
La Gestión de Procesos de Negocio (en inglés: Business Process Management o B.P.M.)
es una disciplina de gestión compuesta de metodologías y tecnologías, cuyo objetivo es mejorar
el desempeño (eficiencia y eficacia) y la optimización de los procesos de negocio de
una organización, a través de la gestión de los procesos que se deben diseñar, modelar,
organizar, documentar y optimizar de forma continua. Por lo tanto, puede ser descrito como un
proceso de mejora continua de procesos.
El modelo de administración por procesos se refiere al cambio operacional de la empresa, al
migrar de una operación funcional a una operación administrada por procesos.
El BPM es el entendimiento, visibilidad, modelado y control de los procesos de negocio de una
organización. Un proceso de negocio representa una serie discreta de actividades o pasos de
tareas que pueden incluir personas, aplicativos, eventos de negocio, tareas y organizaciones.
BPM se puede relacionar con otras disciplinas de mejora de procesos como Six Sigma. Los
procesos de negocio deberían estar documentados (actualizados), para ayudar a entender a la
organización qué están haciendo a través de su negocio.
Durante la etapa de descubrimiento de procesos, todos se ponen relativamente de acuerdo de
cómo los procesos actuales están definidos. El AS-IS determina el estado donde se puede usar
la información para determinar dónde el proceso debería ser mejorado, para llegar a un TO-BE,
describiendo el cómo debería ser el proceso. La sola documentación del proceso no es la
herramienta para que los gerentes tomen control sobre todo el proceso.
Fue a partir de la década de los 80 cuando, a raíz del modelo japonés (Sistema de producción
Toyota) y de la aparición de normas internacionales de calidad principalmente, cuando se
impulsó la implantación de un sistema estructural basado en la gestión por procesos.
El sistema de gestión por procesos se caracteriza por el entendimiento, la visibilidad y el control
de todos los procesos de una organización por parte de todos los participantes en cada uno de
dichos procesos, todo ello con el fin de aumentar la eficiencia de la empresa y la satisfacción
del cliente

También podría gustarte