Disfruta de un lenguaje de consulta intuitivo, automáticamente paralelizable y con una administración sencilla. Así como de uniones entre tablas y pilas.
¿Qué es RethinkDB?
RethinkDB está diseñado para almacenar documentos JSON, y escalar a varias máquinas con muy poco esfuerzo. Cuenta con un lenguaje ameno y muy útil que permite la consulta entre uniones de tablas y grupos, fácil de configurar y aprender.
Características
Modelo de programación simple:
- Modelo de datos JSON y consistencia inmediata.
- Uniones distribuidas, subconsultas, agregación, actualizaciones atómicas.
- Índices secundarios, compuestos y arbitrariamente calculados.
- Mapa reducido estilo Hadoop.
Fácil administración:
- Web amigable y herramientas de administración de línea de comandos.
- Cuida los fallos de la máquina y las interrupciones de red.
- Replicación múltiple del centro de datos y conmutación por error.
Escalabilidad horizontal:
- Envios continuos y replicación con varios nodos.
- Consultas paralelizadas y distribuidas de forma automática.
- Operación de bloqueo y envío a través de concurrencia MVCC.
RethinkDB vs MongoDB
Los principales puntos de comparación entre RethinkDB y MongoDB se organizan en cuatro categorías:
Instalación RethinkDB
Instalación en OS X
Forma1. Es mediante un paquete binario, donde los requisitos previos son (contar con OS X Lion y superior (> = 10,7). Descarga la imagen del disco, ejecuta rethinkdb.pkg , y sige las instrucciones de instalación.
Forma 2. Vía Homebrew: Los requisitos previos son asegurarte de que estés en OS X Lion o superior (> = 10,7) y tiener Homebrew instalado. Ejecutar después de su terminal lo siquiente:
brew update && brew install rethinkdb
Instalación en Ubuntu
Contar con Ubuntu Lucid y superiores (> = 10.04) no importa si es de 32 o 64 bits. Para instalar el servidor, hay que añadir el RethinkDB PPA a la lista de repositorios e instalar a través de apt-get. Para ello, pegua las siguientes líneas en tu terminal:
sudo add-apt-repository ppa:rethinkdb/ppa && \
sudo apt-get update && \
sudo apt-get install rethinkdb
Si no tienes el comando add-apt-repository, deberás instalar primero:
Ubuntu Quantal y superiores (> = 12.10) – sudo apt-get install software-properties-common
Las versiones anteriores de Ubuntu (<12.10) – sudo apt-get install python-software-properties
Instalación en otros sistemas
Aún están empaquetando RethinkDB para otros sistemas, por lo mientras puedes intentar construir desde la fuente.
Posteriormente a la instalación en cualquier SO, revisa la documentación de como instalar los controladores de cliente RethinkDB en lenguajes como JavaScript, Python y Ruby.
Iniciando el servidor
A iniciar el servidor de RethinkDB, ¿cómo lo haremos?, copia lo siguiente en tu terminal:
$ rethinkdb
info: Creating directory ‘rethinkdb_data’
info: Listening for intracluster connections on port 29015
info: Listening for client driver connections on port 28015
info: Listening for administrative HTTP connections on port 8080
info: Server ready
Direcciona el navegador al localhost:8080, verás una interfaz de usuario administrativa donde se puede controlar el grupo (que hasta ahora se compone de una máquina), y jugar con el lenguaje de consulta.
Realizando algunas consultas
Haz clic en la pestaña “Explorador de Datos” sobre el navegador. Podrás manipular los datos mediante JavaScript directamente desde tu navegador. De forma predeterminada, RethinkDB crea una base de datos llamada “test”.
Creando una tabla:
r.db(‘test’).tableCreate(‘tv_shows’)
Utiliza el botón Shift o Run + Intro para ejecutar la consulta. Ahora, insertemos algunos documentos JSON en la tabla, así:
r.table(‘tv_shows’).insert([{ name: ‘Star Trek TNG’, episodes: 178
{ name: ‘Battlestar Galactica’, episodes: 75 }])
Acabamos inserta dos filas en la tabla “tv_shows”. Vamos a verificar el número de filas insertadas:
r.table(‘tv_shows’).count()
Por último, haremos una consulta un poco más sofisticada. Visualizaremos todos los shows con más de 100 episodios, así:
r.table(‘tv_shows’).filter(r.row(‘episodes’).gt(100))
Obtenemos como resultado un show de ciencia ficción.
¿Qué sigue?
Ya con estos primeros pasos de instalación, controladores y demás, lo siguiente es que leas la guía de diez minutos y aprendas sobre uniones distribuidas, fragmentación y reducción de consultas.