introduzione
RethinkDB è un database NoSQL che archivia i dati come documenti JSON. Ha un linguaggio di query super intuitivo e funzionalità comunemente disponibili nei RDBMS tradizionali come "join tabella" e "raggruppa per". Questo tutorial spiegherà come impostare un cluster RethinkDB usando 3 server Vultr VPS che eseguono CentOS 7.
Installazione
Fai girare una VM Vultr con CentOS 7 come sistema operativo e rete privata abilitati.
Quando la VM è pronta, accedi e aggiungi il repository yum RethinkDB all'elenco dei repository:
sudo wget http://download.rethinkdb.com/centos/6/`uname -m`/rethinkdb.repo -O /etc/yum.repos.d/rethinkdb.repo
Quindi, installare RethinkDB:
sudo yum install rethinkdb
Accesso al database
Avviare RethinkDB eseguendo il comando di seguito. Nota che siamo "vincolanti per tutti" in modo da non incorrere in problemi quando proviamo ad accedere all'interfaccia di amministrazione web di RethinkDB.
rethinkdb --bind all
Per accedere via web, usa la porta 8080 digitando http://[vultr-ip-address]:8080
nella barra degli indirizzi del tuo browser web. Dovresti vedere il fantastico strumento di amministrazione web di RethinkDB.
Nota: se non si vede lo strumento di amministrazione Web, interrompere RethinkDB eseguendo il comando Ctrl + C. Apriremo il firewall CentOS e riavvieremo RethinkDB:
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
rethinkdb --bind all
Rimuovi database di test
In futuro utilizzeremo l'interfaccia Web per manipolare il database. Accedervi sfogliando http://[vultr-ip-address]:8080
e facendo clic sul collegamento "Tabelle". Vedrai che RethinkDB ha già installato un database "test". Fare clic sul collegamento "Explorer dati" ed eseguire il comando seguente per eliminare il database "test".
r.dbDrop('test')
Giocare nel database
Mentre sei ancora nella sezione "Esplora dati" dell'amministratore di RethinkDB, crea un nuovo database chiamato "tweetDB" eseguendo il codice seguente.
r.dbCreate('tweetDB')
Quindi, crea una tabella "tweet".
r.db('tweetDB').tableCreate('tweets')
Inserisci alcuni record nella tabella "tweet".
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'
}
])
Esegui query sulla tabella "tweet" per visualizzare i risultati.
r.db('tweetDB').table('tweets')
Dovresti vedere quanto segue sotto la vista ad albero (con ID diversi).
[
{
"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"
}
]
Impostazione del cluster
Fai girare una seconda e una terza macchina usando le istruzioni delle sezioni "Installazione" , "Connetti alla tua nuova istanza di macchina virtuale" e "Accesso al database" di questa guida. Assicurarsi di eliminare il database "test" su ciascuna delle nuove istanze e NON aggiungere nuovi database a esse.
Dopo aver eliminato il database "test" dalla seconda e terza istanza, torna ai loro prompt dei comandi e arresta RethinkDB emettendo Ctrl + C (o Cmd + C su Mac). Ora riavvia RethinkDB su queste istanze usando il comando seguente (fondamentalmente stiamo dicendo alle nuove seconde e terze istanze di unirsi alla prima).
$ rethinkdb --join [ip-of-first-vultr-vm]:29015 --bind all
Nella seconda e terza istanza, accedi alle interfacce di amministrazione web e vai alla sezione "Esplora dati". Eseguire la seguente query per ottenere un elenco di tweet.
r.db('tweetDB').table('tweets')
Vedrai che si sono già replicati dall'istanza principale (prima configurazione della macchina virtuale).
Conclusione
Sebbene RethinkDB sia ancora agli inizi al momento della stesura di questo documento, ha molte promesse e ha una potente interfaccia di amministrazione basata sul web che rende difficili le attività di solito coinvolte con il ridimensionamento di un database (sharding, replica) facilmente raggiunto con pochi scatti.
Per ulteriori letture, visitare i documenti di RethinkDB . Dai un'occhiata anche al canale IRC #rethinkdb per saperne di più dalla community.
Altre versioni
CentOS 7
Ubuntu 14
Scritto da Lami Adabonyan