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.

Imagen de previsualización de YouTube

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.

Cecy Martínez

Cecy Martínez

Jefa de contenido y editora en HTML5Fácil, NinjaCodeTV, Desveloperstv y Co funder de WaveCode.LA

Deja un comentario

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

Cerrar