MongoDB

MongoDB se ha vuelto popular tanto en el ámbito académico como profesional. El uso de este sistema de base de datos permite almacenar datos no estructurados de una forma muy sencilla. Generalmente, este tipo de base de datos debe ubicarse en un entorno de fácil acceso.
Para ver el artículo completo en MongoDB ...

Mostrar filtro
Filtros de alojamiento
A2 Themes & Host Me Filter

Sistema operativo

Espacio del disco

Memoria RAM

Tipo de disco

Núcleos de CPU

Ordenar

Piloto de confianza Dream VPS
Puntuación - 8.6
Dream VPS Logo
Dream VPS

Sueño VPS

STARTER
$3.75 /Mensual

Reseñas 7


Ubicaciones del servidor


Dream VPS Servers in Hong KongHong Kong Dream VPS Servers in Santa Clara Dream VPS Servers in New YorkEstados Unidos Dream VPS Servers in LondonReino Unido Dream VPS Servers in AmsterdamPaíses Bajos Dream VPS Servers in FrankfurtAlemania Dream VPS Servers in IsraelIsrael
Comparar
Puntuación - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /Mensual


Ubicaciones del servidor


Heroku Servers in United StatesEstados Unidos
Comparar
Puntuación - 0
Infra Networking Logo
Infra Networking

Redes de infraestructura

ALFA
$4.19 /Mensual


Ubicaciones del servidor


Infra Networking Servers in JakartaIndonesia Infra Networking Servers in DallasEstados Unidos Infra Networking Servers in DublinIrlanda Infra Networking Servers in LondonReino Unido Infra Networking Servers in Frankfurt am MainAlemania Infra Networking Servers in SingaporeSingapur Infra Networking Servers in AmsterdamPaíses Bajos Infra Networking Servers in UruguayUruguay
Comparar

Alojamiento de bases de datos MongoDB

 

MongoDB

 

En los últimos años, MongoDB se ha vuelto popular tanto en el ámbito académico como profesional. El uso de este sistema de base de datos permite almacenar datos no estructurados de una forma muy sencilla.

 

Generalmente, este tipo de base de datos debe ubicarse en un entorno de fácil acceso, ya que las aplicaciones que utilizan esta base de datos generalmente necesitan hacerlo en ubicaciones físicamente distantes. Dada esta necesidad, este artículo presenta una forma de almacenar y realizar operaciones básicas en MongoDB utilizando un servicio de alojamiento web. La discusión de este tema es útil para aquellos que desean saber cómo crear y administrar bases de datos MongoDB en la nube. Con el fin de ofrecer soluciones para la gestión de este tipo de bases de datos, el artículo también indica herramientas gráficas para su administración. A lo largo del artículo, se hará hincapié en las tecnologías para desarrollar aplicaciones web utilizando el lenguaje de programación Java.

 

Para acceder a la base de datos se desarrollará un servicio web, que se alojará en un host gratuito. Para probar el servicio, se desarrollará una aplicación de consola en lenguaje Java. Finalmente, el artículo le muestra cómo probar y monitorear el servicio web y la base de datos de MongoDB.

 

El término NoSQL significa No solo SQL, es decir, no solo SQL. Inicialmente se propusieron otros significados, pero el más adoptado por la comunidad fue este. Las bases de datos NoSQL surgieron para facilitar el almacenamiento y procesamiento de datos en grandes volúmenes, ofreciendo una estructura que permite una alta escalabilidad.

 

Actualmente existen alrededor de 150 bases de datos NoSQL diferentes. MongoDB ha estado ganando nuevos seguidores debido a su vasta documentación y comunidad involucrada.

 

El movimiento MongoDB comenzó a principios de 2009 y desde entonces se han agregado más funciones y características a MongoDB, como soporte sin esquema, replicación fácil, API simple, controladores para diferentes idiomas, herramientas de manipulación, actualizaciones de funciones y mucho más.

 

El grupo de bases de datos NoSQL consta de bases de datos orientadas a aplicaciones que gestionan grandes volúmenes de datos, adoptan funciones de escalabilidad, protocolo REST, MapReduce (lea BOX 1) y otras funciones de alto rendimiento.

 

CUADRO 1: MapReduce

 

MapReduce es un modelo de programación introducido por Google con el objetivo de soportar el procesamiento paralelo de conjuntos de datos distribuidos en varias computadoras (clúster). El funcionamiento de este modelo se basa en dos características: mapear y reducir. Para realizar las consolidaciones de búsqueda cuyos datos están agrupados, el solicitante envía su búsqueda a varios equipos simultáneamente.

 

En este momento se realiza el mapeo (mapa) entre el solicitante y el cluster, luego se agrupan (reducen) los datos resultantes de la búsqueda generando el resultado de la búsqueda para ser entregado al solicitante.

 

El acrónimo REST significa transferencia de estado representacional. Es una técnica ampliamente utilizada en sistemas de manipulación de datos distribuidos (CRUD) que utilizan solo llamadas HTTP. Este tipo de llamada simplifica la programación, abstrayendo tareas de bajo nivel al programador, permitiendo la implementación de diferentes rutinas en servicios web. Las llamadas realizadas son básicamente para inserción de datos (POST), consulta de datos (GET), actualización de datos (PUT) y borrado de datos (DELETE).

 

MongoDB

 

Lo primero en lo que pensar al comenzar con NoSQL es comparativo. Como no podíamos dejar de hablar, pasamos a la comparación de los términos principales en relación a los bancos relacionales.

En MongoDB, cada documento puede ser completamente distinto de otro documento de la misma colección, lo que no es cierto en el modelo relacional. Por lo general, los datos se escriben en formato BSON (JSON binario).

 

Para seguir los pasos que se presentan en la siguiente sección, no es necesario tener MongoDB instalado en la computadora local.

 

La instalación en la computadora local tiene como único objetivo realizar pruebas más rápidas y sencillas. Si el lector quiere instalar MongoDB en su computadora y manipularlo, aquí hay algunos comandos iniciales que pueden ser útiles. Para ejecutar el servicio (demonio), debe considerar el siguiente comando: / mongo. Con el servicio en ejecución, podemos iniciar el intérprete de comandos: / mongo, los comandos básicos para listar bases de datos son: mostrar DBS o mostrar bases de datos. Para elegir un uso de base de datos (si no existe, la base de datos se creará sqlMagazine): use sqlMagazine es importante estar consciente de que las letras mayúsculas y minúsculas son diferentes, tenga cuidado con este detalle.

 

Herramientas de MongoDB

 

Después de tantos comandos, ya tenemos una base para seguir adelante. Conocer los comandos es fundamental para desarrollar aplicaciones, sin embargo, para la administración, existen otras herramientas gráficas que son buenos aliados. Por ejemplo, las Figuras 1 y 2 se capturaron del software MongoHub.

 

Hay otras herramientas para acceder a MongoDB, como RockMongo y MongoVUE. La herramienta RockMongo necesita otros servicios (PHP y Apache), además de activar el módulo MongoDB en la configuración PHP. Esta herramienta se adopta como estándar en OpenShift, por lo que es bueno tener un conocimiento de ella.

 

La herramienta MongoVUE es solo para computadoras con sistemas operativos Microsoft Windows. Ofrece buenas características.

 

Para los usuarios del sistema operativo Apple (Mac OS 10.6.xo superior), existe la herramienta MongoHub. Aunque existe un sitio web específico para esta herramienta.

 

Crear una cuenta para alojar la aplicación

 

El objetivo es poner la base de datos a disposición en la web y permitir el acceso a la misma mediante una aplicación que también se encuentra en la web o mediante una aplicación que está instalada en otro equipo. El servicio elegido para alojar la base de datos fue OpenShift. En este, el usuario puede crear hasta tres aplicaciones y en cada una de ellas, es posible crear varios servicios, como aplicaciones Java, PHP, Phyton, Ruby, entre otros.

 

Si quieres crear más aplicaciones en la misma cuenta o incluso contratar otros servicios y recursos de escalabilidad, debes crear una cuenta de pago. OpenShift ofrece una plataforma como servicio, identificado por el acrónimo PaaS. Repasemos los pasos necesarios para crear una cuenta.

 

Inicialmente, el usuario debe ir a la dirección del puerto de OpenShift: y elegir la opción. Aparecerá la pantalla de registro, como se muestra en la Figura.

 

mongodb

 

Simplemente ingrese los datos y haga clic en & ldquo; Registrarse & rdquo ;. Se enviará un correo electrónico para confirmar el registro, es necesario hacer clic en el enlace de este correo electrónico para activar el registro y ser un para crear las aplicaciones.

 

Al acceder a su cuenta de OpenShift, es posible crear los servicios deseados, también se ofrecen instrucciones para acceder a las aplicaciones por línea de comando, use el JBossDeveloper Studio IDE y una multitud de otros recursos. Para facilitar este paso a paso, crearemos la aplicación automáticamente después de haberla desarrollado localmente.

Algunas configuraciones deben realizarse en nuestra cuenta de OpenShift. Luego de acceder a la cuenta, debemos ir a la & ldquo; Configuración & rdquo; sección, como se muestra en la Figura.

 

mongodb

 

En el cuadro de texto & ldquo; Nombre de dominio & rdquo; debemos escribir el nombre del dominio deseado, en esta prueba escribimos & ldquo; Revista SQL & rdquo ;. Este nombre (el número máximo de caracteres es 16) es de libre elección, sin embargo, es importante porque se utilizará en nuestro proyecto Java. Luego haga clic en el botón & ldquo; Guardar & rdquo; opción.

 

Después de completar este paso, podemos volver a las & ldquo; Aplicaciones & rdquo; y haga clic en la pestaña & ldquo; Cree su primera aplicación ahora & rdquo; opción. Aparecerá una lista con varios servicios que podemos crear. Elijamos & ldquo; JBoss Application Server 7 & rdquo ;. Luego se muestra la ventana para elegir el nombre de la aplicación

 

Este nombre también es libre de elegir, sin embargo, debería ser un nombre fácil de recordar, ya que lo necesitaremos de inmediato. Para esta prueba, escribimos & ldquo; MongoDB & rdquo ;.

 

El siguiente paso es hacer clic en & ldquo; Crear aplicación & rdquo ;. Este proceso puede tardar unos segundos o incluso minutos, espere hasta que se complete el proceso. Ahora podemos volver a las & ldquo; Aplicaciones & rdquo; pestaña y haga clic en la aplicación creada.

 

En este punto, agregaremos MongoDB a nuestra aplicación. Para hacer esto, simplemente haga clic en la aplicación, en este ejemplo & ldquo; mongodb & rdquo; y luego haga clic en & ldquo; Agregar MongoDB 2.4 & rdquo;,. Si abre una ventana con información e instrucciones, el enlace & ldquo; Continuar a la página de descripción general de la aplicación & rdquo; se mostrará, en el que se debe hacer clic, luego será posible hacer clic en & ldquo; Agregar MongoDB 2.4 & rdquo ;.

 

Luego haga clic en & ldquo; Add Cartridge & rdquo ;. Este proceso también puede tardar unos segundos. Luego aparecerá una pantalla con información importante para acceder a la base de datos, es importante registrar esta información ya que se utilizará en los siguientes pasos. La información es nombre de usuario, contraseña y nombre de la base de datos.

 

En este momento ya tenemos a nuestra disposición un servidor (JBoss Application Server) y una base de datos NoSQL (MongoDB). Ahora solo cree un servicio web para acceder a este banco y un proyecto para acceder a este servicio web.

 

Desarrollo de aplicaciones

 

Básicamente, tendremos dos aplicaciones y una base de datos. La primera aplicación se encargará de realizar las solicitudes de la base de datos. Esta aplicación servirá como un ejemplo muy simple, solo para probar el funcionamiento del servicio web. La segunda aplicación (servicio web) será la encargada de recibir las solicitudes de la primera y acceder a la base de datos.

 

Pasemos a la primera aplicación. Sus requisitos previos son Eclipse Kepler y dos bibliotecas API (Application Program Interface) Jersey (jersey-client y jersey-core). Para facilitar y simplificar el paso a paso que aquí se describe, crearemos una aplicación Java en Eclipse Kepler.

 

Las imágenes para ilustrar el paso a paso se obtuvieron utilizando el sistema operativo Mac OS 10.9.3, sin embargo, el lector puede utilizar Microsoft Windows o incluso una distribución de Linux.

 

Dentro del acceso de Eclipse: Archivo, Nuevo, Proyecto. En la siguiente ventana, elija & ldquo; Proyecto Java & rdquo; y haga clic en & ldquo; Siguiente & rdquo ;. Luego, ingrese un nombre para el proyecto y elija la opción & ldquo; Finalizar & rdquo ;.

Ahora necesitamos crear una clase en el proyecto. Para hacer esto, simplemente haga clic derecho en & ldquo; src & rdquo ;, & ldquo; New & rdquo ;, & ldquo; Class & rdquo ;.

 

En la siguiente pantalla, debemos escribir un nombre para la clase y marcar la opción & ldquo; Crear el método principal & rdquo; & ldquo; public static void main (String [] args) & rdquo ;, y haga clic en & ldquo; Finish & rdquo ;,

Este proyecto de Java tiene como objetivo registrar información en una base de datos MongoDB que se alojará en la web. El tipo de hosting utilizado permite el acceso externo a la base de datos, es decir, las aplicaciones desde cualquier lugar pueden acceder al servidor de la base de datos, sin embargo, es necesario redireccionar los puertos en la máquina local.

 

Como esto puede convertirse en algo muy complejo cuando se trata de computadoras fuera de nuestro control o incluso computadoras que necesitan continuar accediendo a los puertos locales, o incluso cuando se trata de dispositivos móviles, la redirección de puertos no es la mejor manera. De esta forma, nuestro proyecto Java accederá a la base de datos a través de un servicio web.

 

Antes de ingresar los códigos, agreguemos dos bibliotecas para trabajar con servicios web. Las dos bibliotecas que usaremos son de la API de Jersey 1.18. Para agregarlos al proyecto, después de descargarlos, simplemente cópielos en la carpeta del proyecto, haga clic con el botón derecho en el nombre del proyecto y elija propiedades.

 

Dentro de la ventana "Propiedades", seleccione la opción "Ruta de compilación Java" y luego "Bibliotecas". Luego haga clic en & ldquo; Add External Jar & rdquo ;.

 

Ahora que hemos agregado la API de Jersey a nuestro proyecto, podemos codificar un poco.

 

En este fragmento de código inicial, solo estamos creando un cliente URL. En las primeras líneas (3 y 4) tenemos la importación para utilizar los métodos de la & ldquo; Jersey & rdquo; biblioteca. En las líneas 9 y 10 estamos creando un objeto para conectarnos a la URL del servicio web. Tenga en cuenta que la URL del servicio web está formada por el nombre completo de nuestra cuenta de OpenShift junto con la palabra rest y post, lo que indica que el servicio web tiene una ubicación para los métodos, llamada rest y un método llamado post. A continuación, creemos algo de información para enviar a la base de datos.

 

El propósito del fragmento de código presentado en esta lista es ensamblar una cadena de caracteres que obedecen al estándar JSON para ser enviados a la base de datos MongoDB. Finalmente, el archivo que se enviará al servidor. Ahora vayamos al último fragmento de código del proyecto Java.

 

Este fragmento de código necesitará otra importación para nuestro proyecto.

 

Enviar a la nube

 

Ahora podemos enviar nuestro servicio web a OpenShift. Dentro de Eclipse, elija la perspectiva JBoss y haga clic en OpenShift Application.

 

Se solicitarán las credenciales de la cuenta (correo electrónico y contraseña) definidas en el registro. Simplemente ingrese los detalles de su cuenta y haga clic en "Siguiente". La primera vez que se conecta, se le solicita que cree claves SSH.

 

debemos marcar la opción & ldquo; Utilice la aplicación existente & rdquo ;. Al marcar esta opción se mostrará la pantalla para elegir la aplicación creada anteriormente. Elija la aplicación y haga clic en "Siguiente".

 

En la siguiente pantalla, se le preguntará si queremos crear un proyecto para enviar a nuestro servidor o usar un proyecto existente. Usaremos un proyecto existente, en este caso, nuestro servicio web recién desarrollado. Para hacer esto, anule la selección de la opción & ldquo; Crear nuevo proyecto & rdquo ;, haga clic en & ldquo; Explorar & rdquo; y elija el proyecto jboss-as-helloworld-rs.

 

Finaliza el proceso. Se le pedirá confirmación para utilizar la clave SSH, haga clic en "Sí". Nuevamente & ldquo; Sí & rdquo; para confirmar el envío del servicio web. Después de este paso, podemos publicar nuestro servicio web. Para hacer esto, vaya a Eclipse y abra la pestaña "Servidores", haga clic para expandir la pestaña del servidor, en este caso "mongodb en OpenShift". Aparecerá el nombre de nuestro servicio web jboss-as-helloworld-rs, haga clic derecho sobre él y elija la opción & ldquo; Publicación completa & rdquo; o & ldquo; Publicación completa & rdquo ;.

 

Compruebe si la aplicación ya se ha creado en el servidor OpenShift. Para hacer esto, vaya al navegador y acceda a su cuenta OpenShift en las & ldquo; Aplicaciones & rdquo; pestaña y haga clic en la aplicación. En el ejemplo de este tutorial, & ldquo; mongodb & rdquo ;, y confirme que ya se ha creado.

 

Si tarda demasiado (más de tres minutos), puede que sea necesario reiniciar la aplicación. Para hacer esto, use el icono correspondiente a la derecha de la pantalla.

 

Pruebas finales

 

Ahora que tenemos un servidor con MongoDB a nuestra disposición, un proyecto para enviar datos al servidor y un servicio web para unir los dos, podemos comenzar a probar.

 

Un aliado importante para comprobar el funcionamiento es Rock Mongo. Se puede activar en OpenShift de manera muy simple, simplemente haga clic en & ldquo; Agrega Rock Mongo 1.1 & rdquo; en el & ldquo; Aplicación s & rdquo; lengüeta.

 

Otra característica importante son los & ldquo; Tail files & rdquo ;, que se pueden activar en la consola. Navegue hasta la consola de Eclipse y haga clic en OpenShift Explorer, expanda todas las opciones hasta llegar a la aplicación, en nuestro caso & ldquo; mongodb & rdquo ;. Haga clic con el botón derecho y elija el & ldquo; Archivos de cola & rdquo; opción.