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 Ubuntu 14.04.
Installazione
Crea un nuovo script di avvio Vultr usando il seguente contenuto come modello.
#!/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
Crea un'istanza di Vultr VM selezionando qualsiasi tipo di server , posizione e dimensione del server che preferisci . Per la scelta del sistema operativo , assicurarsi di selezionare Ubuntu 14.04 x64 e selezionare l' opzione Abilita rete privata . Anche ASSICURARSI di selezionare lo script di avvio creato in precedenza, prima di effettuare l'ordine.
Connetti alla tua nuova istanza di VM
Quando la nuova istanza della VM è pronta, connettersi ad essa da un terminale / prompt dei comandi tramite SSH.
ssh root@[vultr-ip-address]
Quando viene richiesta la password, utilizzare la password iniziale nella scheda "Informazioni sul server" dell'amministratore Vultr.
Puoi aggiornare la tua password digitando passwd
e premendo il tasto INVIO . Ubuntu ti chiederà una nuova password (in questo modo puoi scegliere qualcosa che ricordi facilmente).
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
Una volta avviato RethinkDB, è possibile accedervi tramite riga di comando o un'interfaccia Web.
Accesso al web
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.
Accesso alla riga di comando
Per accedere tramite riga di comando, avviare una nuova sessione terminale / prompt dei comandi e connettersi al server tramite SSH come spiegato in precedenza. Quindi, emettere il comando rethinkdb admin join 127.0.0.1:29015
. Assicurarsi di utilizzare la porta 29015 .
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