Introducere
RethinkDB este o bază de date NoSQL care stochează datele sub formă de documente JSON. Are un limbaj de interogare super intuitiv și are caracteristici disponibile în mod obișnuit în RDBMS tradiționale, cum ar fi „tabel de aderare” și „grup după”. Acest tutorial vă va explica cum să configurați un cluster RethinkDB folosind 3 servere Vultr VPS care rulează CentOS 7.
Instalare
Rotiți un VM Vultr cu CentOS 7 ca sistem de operare și rețea privată activată.
Odată ce VM-ul este gata, conectați-vă și adăugați depozitul RethinkDB yum la lista de depozite:
sudo wget http://download.rethinkdb.com/centos/6/`uname -m`/rethinkdb.repo -O /etc/yum.repos.d/rethinkdb.repo
Apoi, instalați RethinkDB:
sudo yum install rethinkdb
Accesarea bazei de date
Porniți RethinkDB rulând comanda de mai jos. Rețineți că suntem „obligați la toate”, astfel încât să nu ne confruntăm cu probleme atunci când încercăm să accesăm interfața de administrare web a RethinkDB.
rethinkdb --bind all
Pentru a accesa prin web, utilizați portul 8080 tastând http://[vultr-ip-address]:8080
bara de adrese a browserului dvs. web. Ar trebui să vedeți instrumentul minunat de administrare web al RethinkDB.
Notă: Dacă nu vedeți instrumentul de administrare web, opriți RethinkDB emitând comanda Ctrl + C. Vom deschide firewall-ul CentOS și vom reporni 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
Eliminați baza de date de testare
Vom folosi interfața web care merge mai departe pentru a manipula baza de date. Accesați-l accesând http://[vultr-ip-address]:8080
și faceți clic pe linkul „Tabele”. Veți vedea că RethinkDB a instalat deja o bază de date „test”. Faceți clic pe linkul „Data Explorer” și executați sub comanda pentru a șterge baza de date „test”.
r.dbDrop('test')
Redarea în baza de date
În timp ce este încă în secțiunea „Data Explorer” din administratorul RethinkDB, creați o nouă bază de date numită „tweetDB” rulând codul de mai jos.
r.dbCreate('tweetDB')
Apoi, creați un tabel „tweet-uri”.
r.db('tweetDB').tableCreate('tweets')
Inserați câteva înregistrări în tabelul „tweet-urilor”.
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'
}
])
Întrebarea tabelului „tweet-uri” pentru a vedea rezultatele.
r.db('tweetDB').table('tweets')
Ar trebui să vedeți următoarele în vizualizarea arborelui (cu diferite ID-uri).
[
{
"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"
}
]
Configurarea clusterului
Rotiți o a doua și a treia mașină utilizând instrucțiuni din secțiunile „Instalare” , „Conectați-vă la noua dvs. instanță virtuală” și „Accesarea bazei de date” din acest ghid. Asigurați-vă că ștergeți baza de date „test” pe fiecare dintre noile instanțe și NU adăugați nicio bază de date nouă la acestea.
După ștergerea bazei de date „test” din a doua și a treia instanță, reveniți la indicațiile de comandă ale acestora și opriți RethinkDB emitând Ctrl + C (sau Cmd + C pe Mac). Acum începeți din nou RethinkDB pe aceste instanțe folosind comanda de mai jos (practic spunem noi a doua și a treia instanțe să se alăture primei).
$ rethinkdb --join [ip-of-first-vultr-vm]:29015 --bind all
În a doua și a treia instanță, accesați interfețele de administrare web și accesați secțiunea „Explorator de date”. Rulați următoarea interogare pentru a obține o listă de tweet-uri.
r.db('tweetDB').table('tweets')
Veți vedea că s-au reprodus deja din instanța master (prima configurație VM).
Concluzie
Deși RethinkDB se află încă la începutul acestei scrieri, are o mulțime de promisiuni și are o interfață puternică de administrare bazată pe web, care face sarcini dificile implicate de obicei cu scalarea unei baze de date (clarificare, replicare) ușor de realizat cu doar câteva clicuri.
Pentru mai multe lecturi, accesați documentele RethinkDB . De asemenea, consultați canalul IRC #rethinkdb pentru a afla mai multe din comunitate.
Alte versiuni
CentOS 7
Ubuntu 14
Scris de Lami Adabonyan