introduction
RethinkDB est une base de données NoSQL qui stocke les données sous forme de documents JSON. Il a un langage de requête super intuitif et possède des fonctionnalités couramment disponibles dans les SGBDR traditionnels comme les «jointures de table» et le «regroupement». Ce tutoriel expliquera comment configurer un cluster RethinkDB à l'aide de 3 serveurs Vultr VPS exécutant Ubuntu 14.04.
Installation
Créez un nouveau script de démarrage Vultr en utilisant le contenu suivant comme modèle.
#!/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
Faites tourner une instance de machine virtuelle Vultr en sélectionnant le type de serveur , l' emplacement et la taille de serveur de votre choix. Pour le choix du système d'exploitation , assurez-vous de sélectionner Ubuntu 14.04 x64 et cochez l' option Activer le réseau privé . Aussi ASSUREZ pour sélectionner le script de démarrage créé ci - dessus avant de passer votre commande.
Connectez-vous à votre nouvelle instance VM
Une fois que votre nouvelle instance de VM est prête, connectez-vous à partir d'un terminal / invite de commande via SSH.
ssh root@[vultr-ip-address]
Lorsque vous êtes invité à entrer votre mot de passe, utilisez le mot de passe initial sous l'onglet "Informations sur le serveur" de l'administrateur Vultr.
Vous pouvez mettre à jour votre mot de passe en tapant passwd
et en appuyant sur la touche ENTRÉE . Ubuntu vous demandera un nouveau mot de passe (de cette façon, vous pouvez choisir quelque chose dont vous vous souvenez facilement).
Accès à la base de données
Démarrez RethinkDB en exécutant la commande ci-dessous. Notez que nous «nous lions à tous» afin de ne pas rencontrer de problèmes lorsque nous essayons d'accéder à l'interface d'administration Web de RethinkDB.
rethinkdb --bind all
Une fois RethinkDB démarré, vous y accédez par ligne de commande ou via une interface Web.
L'accès à Internet
Pour y accéder via le Web, utilisez le port 8080 en tapant http://[vultr-ip-address]:8080
dans la barre d'adresse de votre navigateur Web. Vous devriez voir le formidable outil d'administration Web de RethinkDB.
Accès en ligne de commande
Pour y accéder via la ligne de commande, démarrez une nouvelle session terminal / invite de commande et connectez-vous au serveur via SSH comme expliqué précédemment. Ensuite, exécutez la commande rethinkdb admin join 127.0.0.1:29015
. Assurez-vous d'utiliser le port 29015 .
Supprimer la base de données de test
Nous utiliserons l'interface Web à l'avenir pour manipuler la base de données. Accédez-y en http://[vultr-ip-address]:8080
cliquant sur le lien "Tables" et en cliquant dessus. Vous verrez que RethinkDB a déjà installé une base de données "test". Cliquez sur le lien "Data Explorer" et exécutez la commande ci-dessous pour supprimer la base de données "test".
r.dbDrop('test')
Jouer dans la base de données
Alors que vous êtes toujours dans la section "Explorateur de données" de l'administrateur de RethinkDB, créez une nouvelle base de données nommée "tweetDB" en exécutant le code ci-dessous.
r.dbCreate('tweetDB')
Ensuite, créez un tableau "tweets".
r.db('tweetDB').tableCreate('tweets')
Insérez des enregistrements dans le tableau des "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'
}
])
Recherchez le tableau des «tweets» pour voir les résultats.
r.db('tweetDB').table('tweets')
Vous devriez voir ce qui suit sous l'arborescence (avec différents identifiants).
[
{
"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"
}
]
Configuration du cluster
Faites tourner une deuxième et une troisième machine à l'aide des instructions des sections "Installation" , "Se connecter à votre nouvelle instance de machine virtuelle" et "Accès à la base de données" de ce guide. Assurez-vous de supprimer la base de données "test" sur chacune des nouvelles instances et n'y ajoutez PAS de nouvelles bases de données.
Après avoir supprimé la base de données "test" des deuxième et troisième instances, revenez à leurs invites de commande et arrêtez RethinkDB en émettant Ctrl + C (ou Cmd + C sur Mac). Maintenant, redémarrez RethinkDB sur ces instances en utilisant la commande ci-dessous (nous demandons essentiellement aux nouvelles deuxième et troisième instances de rejoindre la première).
$ rethinkdb --join [ip-of-first-vultr-vm]:29015 --bind all
Sur les deuxième et troisième instances, accédez aux interfaces d'administration Web et accédez à la section "Explorateur de données". Exécutez la requête suivante pour obtenir une liste de tweets.
r.db('tweetDB').table('tweets')
Vous verrez qu'ils ont déjà été répliqués à partir de l'instance maître (première configuration de VM).
Conclusion
Bien que RethinkDB en soit encore à ses balbutiements au moment de la rédaction de cet article, il est très prometteur et possède une puissante interface d'administration Web qui rend les tâches ardues généralement impliquées dans la mise à l'échelle d'une base de données (partitionnement, réplication) facilement accomplies avec seulement quelques clics.
Pour plus de lecture, visitez les documents RethinkDB . Consultez également le canal IRC #rethinkdb pour en savoir plus sur la communauté.
Autres versions
CentOS 7
Ubuntu 14
Écrit par Lami Adabonyan