lunes, 7 de octubre de 2013

Como importar ficheros JSON en CouchBase

Hoy os vamos a explicar como importar ficheros JSON a CouchBase, para ello vamos a usar la herramienta cbdocloader, la cual se instala por defecto en la instalación de CouchBase 2.0 o superior, a demás vamos a preparar nuestro sistema para poder atacar al SDK de CouchBase a través de python. Para ello vamos a seguir los siguientes pasos:
  1. Instalar la librería libcouchbase para ello vamos a seguir las instrucciones que aparecen aquí.
  2. Instalar la librería couchbase de python, para ellos ejecutamos en consola lo siguiente:
    sudo pip install couchbase
    
  3. Ahora vamos a usar de ejemplo el fichero ventas.json de ejemplos anteriores adaptado para este ejemplo y lo comprimimos en ventas.zip
    wget https://dl.dropboxusercontent.com/u/24596087/ventas.json
    zip ventas.zip ventas.json
    
  4. En el servidor CouchBase http://localhost:8091 vamos a crear el Bucket llamado hispabigdata y la vista con el mismo nombre.

miércoles, 2 de octubre de 2013

Listado de proveedores con servicios gratuitos en la nube

Existen multitud de hosting en los cuales podemos alojar nuestros proyectos de forma gratuita, la mayoría de éstos únicamente se basan en MYSQL y PHP, con auto instaladores de software para CMS, tiendas electrónicas, galería de fotos. Pero... ¿Donde podemos alojar una base de datos en MongoDB? o ¿Donde podemos crear proyecto con Node.JS en la nube? Pues aunque no sea común, existen compañías que ofrecen estos servicios, algunas de ellas ofertan un tipo de plan gratuito donde alojar nuestros proyectos, hoy os vamos a hablar de algunas de ellas.

Listado de proveedores que ofrecen de forma gratuita alojamientos de servicios en la nube

Parse por HispaBigdata

Parse un lugar donde alojar nuestras aplicaciones en la nube sin necesidad de montar ningun servidor, parse trabaja con las plataformas IOS, OSX, Android, JavaScript, Windows Phone 8, Windows 8, .NET, Xamarin, Unity y REST API. A demás nos ofrecen un servicio de monitorización en tiempo real de nuestras aplicaciones o incluso ejecutar nuestros propios programas en la nube, con Parse podemos crear nuestras redes sociales en cuestión de minutos. Un servicio bastante interesante para comenzar a desarollar ya que su servicio gratuito esta bastante bien.

lunes, 30 de septiembre de 2013

Como instalar Apache Cassandra

Anteriormente os hemos hablado de las diferentes de bases de datos NoSQL más usadas actualmente, cada una aporta una serie de características distintas, Apache Cassandra es una de ellas, esta escrita en JAVA, posee una arquitectura distribuida basada en una serie de nodos iguales que se comunican con un protocolo P2P con lo que la redundancia es máxima. Cassandra usa su propio lenguaje conocido como CQL para realizar consultas, muy similar a SQL. Despues de esta breve introdución, os vamos a explicar como instalarla y como acceder a ella.

Lo primero de todo es tener en cuenta la versión de Java que tenemos instalada, ya que es necesario tener la versión 7 para instalar Cassandra 2.0. Para comprobar que versión tenemos instalada vamos a abrir una consola y vamos a ejecutar el siguiente comando:
java -version
Si disponemos de varias versiones de Java podeis usar el siguiente comando para elegir cual deseamos usar:
sudo update-alternatives --config javac
Una vez verificado que disponemos de la versión de Java necesaria vamos a explicar como realizar la instalación en sistemas basados en Debian y en Red Hat, actualmente la última versión estable es la 2.0.

jueves, 26 de septiembre de 2013

Como administrar MongoDB desde Genghis

En su día ya os hablamos de RockMongo para administrar MongoDB desde una interfaz web. Genghis al igual que RockMongo nos ofrece esa posibilidad. Es un GUI bastante sencillo de usar el cual ha sido liberado tanto en Ruby como en PHP. Puede ser instalado a través de una gema de Ruby o ejecutado directamente desde nuestro servidor web con PHP.

Hoy os vamos a explicar como realizar la instalación a través de Ruby. Los requisitos para la instalación es tener Ruby y rubygems.
#Distribución basada en Debian
sudo apt-get install rubygems

#Distribución basada en Red Hat
sudo yum install rubygems
Una vez que ya tenemos instalado las rubygems, vamos a proceder con la instalación de genghisapp.
sudo gem install genghisapp
Realizando dicha instalación obtuvimos el siguiente error:
Error:

Building native extensions.  This could take a while...
ERROR:  Error installing genghisapp:
 ERROR: Failed to build gem native extension.

/usr/bin/ruby1.8 extconf.rb
extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
 from extconf.rb:1


Gem files will remain installed in /var/lib/gems/1.8/gems/json-1.8.0 for inspection.
Results logged to /var/lib/gems/1.8/gems/json-1.8.0/ext/json/ext/generator/gem_make.out

lunes, 23 de septiembre de 2013

Como liberar espacio en disco al eliminar una colección en MongoDB

En MongoDB, al igual que ocurre con otros gestores de base de datos, trabajan con ficheros de datos. Comúnmente cuando eliminamos documentos o colecciones, el espacio ocupado por este fichero sigue siendo el mismo, esto es debido a que puede ser usado en el futuro. Hoy vamos a ver como liberar dicho espacio.

Lo primero de todo sera levantar mongo como un servicio indicando la ruta en la que se crear la base de datos, el puerto por el que escuchara y el fichero de log.
mongod --dbpath /data/ --port 27017 --logpath /data/log/hispabigdata.log &
Ahora abrimos una consola de mongo y vamos a crear una base de datos y una colección con 100.000 de documentos, recordad que el siguiente proceso puede tardar bastante, dependiendo del ordenador en el que lo ejecuteis.
use LiberandoDB;

for (var i=0; i < 100000; i++){
   db.ejemploEliminacion.insert ({
        "_id":i, "nombre":"HispaBigdata"+i, "fecha": ISODate()
   });
}
Se ejecutamos el siguiente comando podemos ver la ocupación de las bases de datos que tenemos en mongo.
show dbs;