RethinkDB es una base de datos que desde Sillicon Valley está revolucionando el mercado en el mundo de bases de datos no relacionales o NoSQL.
RethinkDB es una base de datos orientada a documentos (usando el formato JSON), el lenguaje de consulta que utiliza el motor es ReQL
, siendo este lenguaje muy intuitivo comparado con SQL
y Javascript en MongoDB.
Para no entrar en detalles para la instalación en muchos sistemas operativos, decidí usar la imagen de Docker que han creado los colaboradores de RethinkDB.
La imagen la pueden encontrar en https://registry.hub.docker.com/_/rethinkdb/, desde el sistema pueden descargar la imagen con el comando: docker pull rethinkdb
.
Ya con la imagen en el sistema, procedemos a crear la instancia de RethinkDB, cabe destacar que debemos tener un directorio para guardar las bases de datos, esta será montada como volumen en el container.
Ejecutamos el siguiente comando para arrancar el contenedor:
$ docker run --name rethinkdb-platzi -v "/home/yograterol/data:/data" -d rethinkdb
En este punto ya tenemos RethinkDB corriendo en Docker, para ingresar al dashboard necesitamos saber la IP del container con el comando inspect
.
$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' rethinkdb-platzi
El resultado es una IP privada, que solo será accedida desde el host u otro container de Docker. Ejemplo, 172.17.0.2 con esta IP vamos al navegador y accedemos a 172.17.0.2:8080.
Desde este dashboard podemos hacer todas las operaciones básicas como crear tablas, documentos, administrar un cluster de RethinkDB, ver los logs.
Para usar RethinkDB podemos usar directo el dashboard, para guardar la información, pero no tiene mucho sentido si no podemos usar las bases de datos en nuestros lenguajes preferidos, por eso existen los drivers, que permiten conectarse e interactuar con un servidor o cluster de RethinkDB.
Existen una serie de drivers, la mayoría de ellos soportados por la comunidad directamente, para usar en muchos lenguajes de programación, los oficiales son para los lenguajes Javascript, Ruby y Python, la lista completa de se puede conseguir en http://rethinkdb.com/docs/install-drivers/.
En mi opinión RethinkDB tiene un futuro prometedor, resuelve problemas en bases de datos orientadas a documentos, y junta características que lo hacen ser una base de datos perfecta para entornos real time, o que necesiten escalado horizontal muy rápido y fácil.
En Platzi puedes aprender a usar esta gran base de datos con mucho futuro, estaré trabajando en una serie de entradas usando el cliente de RethinkDB para Python.
Buenas, comunidad.
Tengo este inconveniente al generar el connect con la base de datos en Rethinkdb
ReqlDriverError { frames: undefined, message:
Could not connect to [object Object]:[object Object].␊ connect ECONNREFUSED 127.0.0.1
, msg:Could not connect to [object Object]:[object Object].␊ connect ECONNREFUSED 127.0.0.1
, name: ‘ReqlDriverError’, }Me pueden ayudar, por favor!!