Introduksjon
Installasjon
Få tilgang til databasen
Fjern testdatabase
Leker rundt i databasen
Sette opp klynge
Konklusjon
Introduksjon
RethinkDB er en NoSQL-database som lagrer data som JSON-dokumenter. Den har et superintuitivt spørringsspråk og har funksjoner som vanligvis er tilgjengelige i tradisjonelle RDBMS som "tabellsammenføyninger" og "grupper etter". Denne opplæringen vil forklare hvordan du setter opp en RethinkDB-klynge ved å bruke 3 Vultr VPS-servere som kjører CentOS 7.
Installasjon
Spinn opp en Vultr VM med CentOS 7 som operativsystem og Private Networking aktivert.
Når VM-en er klar, logger du på og legger til RethinkDB yum-depotet til listen over depoter:
sudo wget http://download.rethinkdb.com/centos/6/`uname -m`/rethinkdb.repo -O /etc/yum.repos.d/rethinkdb.repo
Installer deretter RethinkDB:
sudo yum install rethinkdb
Få tilgang til databasen
Start RethinkDB ved å kjøre kommandoen nedenfor. Merk at vi er "bindende for alle", slik at vi ikke får problemer når vi prøver å få tilgang til RethinkDBs webadministrasjonsgrensesnitt.
rethinkdb --bind all
For å få tilgang via Internett, bruk port 8080 ved å skrive http://[vultr-ip-address]:8080inn i adressefeltet til nettleseren din. Du bør se RethinkDBs fantastiske webadministrasjonsverktøy.
Merk: Hvis du ikke ser webadministrasjonsverktøyet, stopp RethinkDB ved å gi kommandoen Ctrl + C. Vi vil åpne CentOS-brannmuren og starte RethinkDB på nytt:
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
Fjern testdatabase
Vi vil bruke webgrensesnittet fremover for å manipulere databasen. Få tilgang til den ved å bla til http://[vultr-ip-address]:8080og klikke på "Tabell"-lenken. Du vil se at RethinkDB allerede har installert en "test"-database. Klikk på "Data Explorer"-koblingen og kjør kommandoen nedenfor for å slette "test"-databasen.
r.dbDrop('test')
Leker rundt i databasen
Mens du fortsatt er på "Data Explorer"-delen av RethinkDBs admin, oppretter du en ny database kalt "tweetDB" ved å kjøre koden nedenfor.
r.dbCreate('tweetDB')
Deretter oppretter du en "tweets"-tabell.
r.db('tweetDB').tableCreate('tweets')
Sett inn noen poster i "tweets"-tabellen.
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'
}
])
Spør "tweets"-tabellen for å se resultater.
r.db('tweetDB').table('tweets')
Du bør se følgende under trevisning (med forskjellige id-er).
[
{
"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"
}
]
Sette opp klynge
Spinn opp en andre og tredje maskin ved å bruke instruksjoner fra delene "Installasjon" , "Koble til din nye VM-forekomst" og "Tilgang til databasen" i denne veiledningen. Sørg for å slette "test"-databasen på hver av de nye forekomstene, og IKKE legg til nye databaser i dem.
Etter å ha slettet "test"-databasen fra andre og tredje forekomst, gå tilbake til kommandopromptene og stopp RethinkDB ved å utstede Ctrl + C (eller Cmd + C på Mac). Start nå RethinkDB igjen på disse forekomstene ved å bruke kommandoen nedenfor (vi ber i utgangspunktet nye andre og tredje forekomster bli med i den første).
$ rethinkdb --join [ip-of-first-vultr-vm]:29015 --bind all
På den andre og tredje forekomsten, få tilgang til webadministrasjonsgrensesnitt og gå til "Data Explorer"-delen. Kjør følgende spørring for å få en liste over tweets.
r.db('tweetDB').table('tweets')
Du vil se at de allerede har replikert fra hovedforekomsten (første VM-oppsett).
Konklusjon
Selv om RethinkDB fortsatt er i sin spede begynnelse når dette skrives, lover det mye og har et kraftig nettbasert administrasjonsgrensesnitt som gjør at vanskelige oppgaver som vanligvis er involvert med skalering av en database (sharding, replikering) lett kan utføres med bare noen få klikker.
For ytterligere lesing, besøk RethinkDB Docs . Sjekk også ut #rethinkdb IRC-kanalen for å lære mer fra fellesskapet.
Andre versjoner
CentOS 7
Ubuntu 14
Skrevet av Lami Adabonyan