Introducción
RethinkDB es una base de datos NoSQL que almacena datos como documentos JSON. Tiene un lenguaje de consulta súper intuitivo y tiene características comúnmente disponibles en RDBMS tradicionales como "uniones de tabla" y "agrupar por". Este tutorial explicará cómo configurar un clúster RethinkDB utilizando 3 servidores Vultr VPS con Ubuntu 14.04.
Instalación
Cree un nuevo script de inicio de Vultr usando el siguiente contenido como plantilla.
#!/usr/bin/env bash
echo ">>> Installing RethinkDB<<<"
# Add RethinkDB Repo to list of Repos
source /etc/lsb-release && echo "deb http://download.rethinkdb.com/apt $DISTRIB_CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
wget -qO- http://download.rethinkdb.com/apt/pubkey.gpg | sudo apt-key add -
# Update Apt Repo & Install RethinkDB
sudo apt-get update
sudo apt-get install -qq rethinkdb
Gire una instancia de Vultr VM seleccionando cualquier tipo de servidor , ubicación y tamaño de servidor que elija. Para elegir el sistema operativo , asegúrese de seleccionar Ubuntu 14.04 x64 y marque la opción Habilitar red privada . También ASEGURARSE para seleccionar el script de inicio creado anterior antes de realizar su pedido.
Conéctese a su nueva instancia de VM
Una vez que su nueva instancia de VM esté lista, conéctese desde un terminal / símbolo del sistema a través de SSH.
ssh root@[vultr-ip-address]
Cuando se le solicite su contraseña, use la contraseña inicial en la pestaña "información del servidor" del administrador de Vultr.
Puede actualizar su contraseña escribiendo passwd
y presionando la tecla ENTER . Ubuntu le pedirá una nueva contraseña (de esta manera puede elegir algo que recuerde fácilmente).
Accediendo a la base de datos
Inicie RethinkDB ejecutando el comando a continuación. Tenga en cuenta que estamos "vinculados a todos" para que no tengamos problemas al intentar acceder a la interfaz de administración web de RethinkDB.
rethinkdb --bind all
Una vez que se inicia RethinkDB, puede acceder a él mediante la línea de comandos o una interfaz web.
Acceso web
Para acceder a través de la web, use el puerto 8080 escribiendo http://[vultr-ip-address]:8080
en la barra de direcciones de su navegador web. Debería ver la increíble herramienta de administración web de RethinkDB.
Acceso a la línea de comandos
Para acceder a través de la línea de comandos, inicie una nueva sesión de terminal / símbolo del sistema y conéctese al servidor a través de SSH como se explicó anteriormente. Luego, emita el comando rethinkdb admin join 127.0.0.1:29015
. Asegúrese de usar el puerto 29015 .
Eliminar base de datos de prueba
Usaremos la interfaz web en el futuro para manipular la base de datos. Acceda navegando http://[vultr-ip-address]:8080
y haga clic en el enlace "Tablas". Verá que RethinkDB ya instaló una base de datos de "prueba". Haga clic en el enlace "Explorador de datos" y ejecute el siguiente comando para eliminar la base de datos "prueba".
r.dbDrop('test')
Jugando en la base de datos
Mientras todavía está en la sección "Explorador de datos" del administrador de RethinkDB, cree una nueva base de datos llamada "tweetDB" ejecutando el código a continuación.
r.dbCreate('tweetDB')
A continuación, cree una tabla de "tweets".
r.db('tweetDB').tableCreate('tweets')
Inserte algunos registros en la tabla de "tweets".
r.db('tweetDB').table('tweets').insert([
{
name: 'Lami',
twitterHandle: 'mrLami',
message: 'Best cloud hosting on the planet - vultr'
},
{
name: 'Vultr Hosting',
twitterHandle: '@TheVultr',
message: '50% off on new instances - coupon - tgif'
}
])
Consulta la tabla de "tweets" para ver los resultados.
r.db('tweetDB').table('tweets')
Debería ver lo siguiente en la vista de árbol (con diferentes ID).
[
{
"id": "6afe436c-7db4-4c86-b4db-3279acb3265d" ,
"message": "50% off on new instances - coupon - tgif" ,
"name": "Vultr Hosting" ,
"twitterHandle": "@TheVultr"
} ,
{
"id": "fd328cd5-d9f4-40ee-8a32-880cd8cda15d" ,
"message": "Best cloud hosting on the planet - vultr" ,
"name": "Lami" ,
"twitterHandle": "mrLami"
}
]
Configuración de clúster
Gire una segunda y tercera máquina siguiendo las instrucciones de las secciones "Instalación" , "Conéctese a su nueva instancia de VM" y "Acceso a la base de datos" de esta guía. Asegúrese de eliminar la base de datos de "prueba" en cada una de las nuevas instancias y NO les agregue ninguna base de datos nueva.
Después de eliminar la base de datos de "prueba" de la segunda y tercera instancia, regrese a sus indicaciones de comando y detenga RethinkDB emitiendo Ctrl + C (o Cmd + C en Mac). Ahora inicie RethinkDB nuevamente en estas instancias utilizando el siguiente comando (básicamente le estamos diciendo a las nuevas instancias segunda y tercera que se unan a la primera).
$ rethinkdb --join [ip-of-first-vultr-vm]:29015 --bind all
En la segunda y tercera instancia, acceda a las interfaces de administración web y vaya a la sección "Explorador de datos". Ejecute la siguiente consulta para obtener una lista de tweets.
r.db('tweetDB').table('tweets')
Verá que ya se han replicado desde la instancia maestra (primera configuración de VM).
Conclusión
Aunque RethinkDB todavía está en su infancia en el momento de escribir este artículo, es muy prometedor y tiene una poderosa interfaz de administración basada en la web que hace que las tareas arduas usualmente involucradas en escalar una base de datos (fragmentación, replicación) se realicen fácilmente con solo unos pocos clics
Para leer más, visite los documentos RethinkDB . Consulte también el canal #rethinkdb IRC para obtener más información de la comunidad.
Otras versiones
CentOS 7
Ubuntu 14
Escrito por Lami Adabonyan