mongodb architecture

MongoDB para principiantes: Introducción e instalación (Parte I)

Mongo es un sistema de base de datos sin esquema de código abierto que es muy diferente del MySQL más popular. Las diferencias más considerables son que MySQL se escribe mediante consultas SQL, mientras que MongoDB se centra en BSON (JSON binario).

Esto significa que se puede acceder a gran parte de la funcionalidad directamente a través de la notación JavaScript .

Pero Mongo viene con su propia interfaz de shell para ejecutar comandos directamente en sus bases de datos. Siguiendo este artículo y algunos más por venir, haremos lo siguiente:

Los desarrolladores web disfrutarán principalmente de Mongo si están familiarizados con JSON . Este lenguaje basado en JavaScript se centra en Objetos que contienen pares clave-valor.

Es un poco diferente a las tablas SQL normales que contienen filas / columnas de datos. Pero MongoDB es sin duda un sistema de base de datos atractivo y vale la pena probar las aguas.

¿Por qué elegir MongoDB?

Hay algunas otras bases de datos sin esquema que puede optar por probar además de Mongo. Personalmente, solo he escuchado cosas buenas sobre el proyecto y es compatible con una amplia gama de sistemas operativos (Windows, OSX, Linux). Además, el equipo central todavía está activo para impulsar las versiones de código de manera oportuna.

En el sitio web de MongoDB encontré un artículo que compara MongoDB con CouchDB, que actualmente es propiedad de Apache. Ambos usan JSON para almacenar datos y pueden alimentar aplicaciones de alto volumen. Este puede ser otro escenario en el que la opinión personal tiene la autoridad, pero creo que Mongo ofrece más soporte y documentación para los recién llegados.

mongodb architecturemongodb architecture

Creo que MongoDB probablemente se use mejor en una situación en la que está probando una nueva aplicación y viendo cómo podría estructurar una base de datos con objetos de forma libre. SQL puede ser muy limitante y consideraría que una base de datos sin esquema es aún más útil al crear aplicaciones móviles.

Incluso hay una biblioteca Objective-C Mongo de código abierto para desarrolladores de iPhone y muchos otros recursos para programadores de Android que usan Java.

Yo diría que la confiabilidad de MongoDB y las bases de código colectivo disponibles es una de las razones más fuertes para aprender este sistema. Hay controladores para casi cualquier lenguaje, incluidos C / C ++, Python, PHP, Ruby, Perl, .NET e incluso Node.js.

Es una solución poderosa para los desarrolladores web que están cansados ​​de las limitaciones del uso de SQL y quieren probar algo nuevo.

Terminología clave

Antes de instalar y probar una base de datos Mongo, me gustaría explicar un par de términos que pueden resultar confusos más adelante.

MongoDB aún puede contener varias bases de datos de diferentes nombres dentro de un paquete de instalación, al igual que MySQL. Pero dentro de las bases de datos hay colecciones , no tablas .

Una colección puede considerarse una tabla, excepto que no hay columnas alineadas . Cada entrada (fila) puede utilizar diferentes esquemas dinámicos en pares clave-valor.

Ejemplo:

Dentro de una colección de Usuarios puede haber una entrada con Nombre y Apellido. Luego, otra entrada con nombre, apellido y segundo nombre, junto con la dirección de correo electrónico y la fecha de nacimiento. Este es el sistema flexible de MongoDB que facilita el trabajo con estas bases de datos.

Ahora, cada una de estas entradas o filas dentro de una colección se llama documento . No son documentos físicos como .txt o .html, sino objetos basados ​​en documentos. Básicamente son bloques de datos JSON almacenados en archivos mapeados en memoria que se comportan como entradas separadas en sus colecciones.

Ejemplo:

En nuestra colección de Usuarios, podemos tener un total de 500 objetos de documento para los 500 de nuestros usuarios. Y como se mencionó anteriormente, no es necesario que cada documento coincida con otros documentos con los mismos campos. El único requisito es un número de identificación único que MongoDB agregará automáticamente a cada objeto de documento.

Puedo entender que esta terminología será confusa al principio. Tiene mucho sentido una vez que ve todo funcionando en acción. Si tiene un par de minutos, intente escanear los documentos en línea de Mongo para aclarar cualquier idea imprecisa.

E incluso si no tiene el concepto al 100%, ¡está bien! Mucha gente usa MySQL a diario con la misma vaga comprensión de cómo funcionan las bases de datos.

Pasemos ahora a todo y configuremos nuestra instancia de MongoDB.

Proceso de configuración personalizado de MongoDB

Quiero repasar el proceso para ambos:

Usaré la última versión de OSX Mountain Lion y Windows 7. Después de la instalación de Mongo, necesitaremos configurar un servidor local con WAMP para Windows o MAMP en OS X.3

Cómo instalar Mongo en macOS

Obtener MongoDB en su Mac será mucho más fácil que en Windows. A través de la Terminal, podemos ejecutar algunos comandos para descargar la última versión de MacPorts. La documentación en línea en realidad tiene un pequeño tutorial para Mac OS X que incluye información similar.

Para comenzar, verifiquemos y actualice a la última versión de MacPorts . En Terminal ingrese el comando:

sudo port selfupdate

Alternativamente, puede agregar el indicador de depuración para una salida detallada de la siguiente manera:

sudo port -d selfupdate

El proceso puede tardar unos minutos en descargar e instalar todo.

Después de que se complete esta actualización, necesitamos ejecutar solo una línea en la Terminal. Esto desplegará los archivos de la biblioteca MongoDB más recientes y los almacenará con otras dependencias del sistema.

1
port install mongodb

Este proceso podría llevar fácilmente de 10 a 15 minutos incluso con una conexión rápida a Internet. La instalación requiere un poco de tiempo y podría ser más rápida, pero déjela hasta que abra el comando de terminal que parpadea.

Entonces debería poder iniciar el servidor ejecutando:

1
mongod

Debe terminar con la frase ” esperando conexiones en el puerto 27017 “.

Esto significa que tenemos el servicio de base de datos funcionando correctamente. Puede probar esto visitando http: // localhost: 28017 / en su navegador web. MongoDB proporciona una pequeña interfaz web para ver más información sobre sus bases de datos e instalación.

La última parte interesante aquí es forzar a mongod a abrirse inmediatamente cuando tu computadora se inicia. Hunter Ford tiene un excelente tutorial en su sitio web que es la base de mi código aquí. Al forzar el proceso mongod como un elemento de inicio, no necesitará mantener la ventana del terminal abierta para el desarrollo.

En primer lugar es necesario descargar y mover este documento a: /Library/LaunchDaemons/org.mongo.mongod.plist.

Luego, en la terminal, cree un pequeño archivo de registro y un directorio para los nuevos datos del sistema:

1
2
sudo touch /var/log/mongodb.log
sudo mkdir /var/lib/mongodb

Finalmente, ejecute estos siguientes comandos para configurar el lanzador. Puede elegir reiniciar su computadora luego y ver si Mongo funciona correctamente al reiniciar.

1
2
3
sudo chown root:wheel /Library/LaunchDaemons/org.mongo.mongod.plist
sudo launchctl load /Library/LaunchDaemons/org.mongo.mongod.plist
sudo launchctl start org.mongo.mongod

Cómo instalar Mongo en Windows

Me costó mucho lograr que MongoDB se instalara y se ejecutara correctamente sin usar la cuenta de administrador. Esto no es un requisito con la opción “Ejecutar como administrador” siempre está disponible.

Pero si tiene la capacidad, simplemente ejecute esto en el símbolo del sistema y luego reinicie su computadora. Debería notar el Administrador como una nueva selección de inicio de sesión.

1
net user administrator /active:yes

Si tiene problemas, MongoDB tiene una excelente guía de instalación en línea creada específicamente para usuarios de Windows. Para obtener su copia, visite la página de descargas y busque su versión de Windows. En el momento de escribir este artículo, la última versión estable es MongoDB 2.2.0: aquí están las descargas directas de win32 y win64 .

Vamos a colocar todos estos archivos directamente dentro de un directorio C:mongodb. Entonces, una vez que finalice la descarga, extraiga el zip y abra las carpetas hasta que encuentre / bin / con algunos otros archivos. Seleccione todos estos y corte / pegue en nuestro nuevo directorio C: mongodb .

Ahora, todavía dentro de esta carpeta, bincree una nueva carpeta llamada “registro” que almacenará todos los registros del sistema MongoDB. También necesitamos crear dos directorios externos para el almacenamiento de datos C:datay C:datadb.

Esta es la parte en la que el uso de una cuenta que no sea de administrador puede causar problemas. Abra el símbolo del sistema y ejecute cd C:mongodbbin.

Luego, estamos buscando iniciar mongod.exe en el shell, pero después de ejecutarlo, notará que la operación se congelará al escuchar las conexiones. Bueno, en realidad no está congelado, estamos ejecutando Mongo directamente a través de la terminal.

Esto será molesto cada vez, así que ejecutemos un comando que configure Mongo para que se inicie automáticamente como un servicio de Windows.

1
> echo logpath=C:mongodblogmongo.log > C:mongodbmongod.cfg

Este primer comando creará un archivo de registro y una configuración para el servicio. No es obligatorio, pero es una buena práctica como administrador de bases de datos.

Ahora ejecute estas dos líneas de código en la terminal para crear el servicio y comenzar.

1
2
> C:mongodbbinmongod.exe --config C:mongodbmongod.cfg --install
> net start MongoDB

Si no obtiene errores, ¡el proceso está completo!

Compruebe si el servicio está activo abriendo el menú Ejecutar ( Windows + R ) y escribiendo services.msc .

Esto abre una lista activa de servicios y si se desplaza hacia abajo, debería encontrar Mongo DB con el estado “activo” y el tipo de inicio “automático”.

Al igual que en la instalación de Mac, puede acceder al terminal shell de Mongo directamente desde el símbolo del sistema. Cambie de directorio ay C:mongodbbinescriba mongo, luego presione Enter .

Debe obtener acceso directamente al servidor MongoDB actual. Ahora puede ejecutar comandos de shell de Mongo para crear bases de datos, colecciones, almacenar nuevos datos o editar entradas de datos antiguos.

Ejecute la siguiente línea para mostrar todas las bases de datos actuales en el servidor:

1
> show dbs

¡Eso es todo por ahora! Espero que tenga una buena idea de lo que es MongoDB y cómo configurarlo en su máquina. En el próximo artículo, veremos algunos comandos de shell básicos para MongoDB .

MongoDB para principiantes: comandos básicos de Shell (Parte II)

.no-js #ref-block-post-16483 .ref-block__thumbnail { background-image: url(“https://assets.hongkiat.com/uploads/thumbs/250×160/webdev-with-mongodb-part2.jpg”); }

MongoDB para principiantes: comandos básicos de Shell (Parte II)


En la guía anterior de MongoDB para principiantes, he cubierto la importancia y la terminología de MongoDB, así como …
Lee mas

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *