Вступ
Установка
Доступ до бази даних
Видалити тестову базу даних
Гра в базі даних
Налаштування кластера
Висновок
Вступ
RethinkDB — це база даних NoSQL, яка зберігає дані як документи JSON. Він має надзвичайно інтуїтивно зрозумілу мову запитів і має функції, загальнодоступні в традиційних СУБД, як-от «об’єднання таблиць» і «групування за». У цьому посібнику пояснюється, як налаштувати кластер RethinkDB за допомогою 3 Vultr VPS-серверів під керуванням CentOS 7.
Установка
Розгорніть віртуальну машину Vultr з операційною системою CentOS 7 і ввімкненою приватною мережею .
Коли віртуальна машина буде готова, увійдіть і додайте репозиторій RethinkDB yum до списку сховищ:
sudo wget http://download.rethinkdb.com/centos/6/`uname -m`/rethinkdb.repo -O /etc/yum.repos.d/rethinkdb.repo
Далі встановіть RethinkDB:
sudo yum install rethinkdb
Доступ до бази даних
Запустіть RethinkDB, виконавши команду нижче. Зауважте, що ми «прив’язуємо до всіх», щоб не стикатися з проблемами під час спроби отримати доступ до інтерфейсу веб-адміністратора RethinkDB.
rethinkdb --bind all
Щоб отримати доступ через Інтернет, використовуйте порт 8080 , ввівши http://[vultr-ip-address]:8080
в адресному рядку свого веб-браузера. Ви повинні побачити чудовий інструмент веб-адміністрування RethinkDB.
Примітка: Якщо ви не бачите інструмент веб - адміністрування, зупинити RethinkDB, виконавши Ctrl + C команди. Ми відкриємо брандмауер CentOS і перезапустимо 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
Видалити тестову базу даних
Надалі ми будемо використовувати веб-інтерфейс для маніпулювання базою даних. Щоб отримати доступ до нього, http://[vultr-ip-address]:8080
перейдіть за посиланням «Таблиці» та натисніть на нього. Ви побачите, що RethinkDB вже встановив «тестову» базу даних. Натисніть на посилання «Провідник даних» і виконайте команду нижче, щоб видалити «тестову» базу даних.
r.dbDrop('test')
Гра в базі даних
Перебуваючи в розділі «Провідник даних» адміністратора RethinkDB, створіть нову базу даних під назвою «tweetDB», запустивши наведений нижче код.
r.dbCreate('tweetDB')
Далі створіть таблицю «твітів».
r.db('tweetDB').tableCreate('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'
}
])
Щоб побачити результати, зробіть запит у таблиці "твітів".
r.db('tweetDB').table('tweets')
Ви повинні побачити наступне під деревом (з різними ідентифікаторами).
[
{
"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"
}
]
Налаштування кластера
Розгорніть другу та третю машину, використовуючи інструкції з розділів «Встановлення» , «Підключення до нового екземпляра віртуальної машини» та «Доступ до бази даних» цього посібника. Переконайтеся, що ви видалили "тестову" базу даних для кожного з нових екземплярів і НЕ додавайте до них жодних нових баз даних.
Після видалення "тестової" бази даних з другого та третього екземплярів поверніться до їхніх командних рядків і зупиніть RethinkDB, натиснувши Ctrl + C (або Cmd + C на Mac). Тепер знову запустіть RethinkDB на цих екземплярах за допомогою наведеної нижче команди (ми в основному кажемо новим другим і третім екземплярам приєднатися до першого).
$ rethinkdb --join [ip-of-first-vultr-vm]:29015 --bind all
У другому та третьому примірниках відкрийте інтерфейс веб-адміністратора та перейдіть до розділу «Провідник даних». Виконайте наступний запит, щоб отримати список твітів.
r.db('tweetDB').table('tweets')
Ви побачите, що вони вже репліковані з головного (першого налаштування ВМ) екземпляра.
Висновок
Хоча RethinkDB на момент написання цього написання все ще знаходиться в зародковому стані, він багатообіцяючий і має потужний веб-інтерфейс адміністрування, який дозволяє легко виконувати важкі завдання, зазвичай пов’язані з масштабуванням бази даних (шардінг, реплікація), за допомогою лише кількох клацання.
Для додаткового читання відвідайте RethinkDB Docs . Також перегляньте канал #rethinkdb IRC, щоб дізнатися більше від спільноти.
Інші версії
CentOS 7
Ubuntu 14
Автор: Ламі Адабонян