Giới thiệu
RethinkDB là một cơ sở dữ liệu NoQuery lưu trữ dữ liệu dưới dạng tài liệu JSON. Nó có một ngôn ngữ truy vấn siêu trực quan và có các tính năng thường có sẵn trong RDBMS truyền thống như "tham gia bảng" và "nhóm theo". Hướng dẫn này sẽ giải thích cách thiết lập cụm RethinkDB bằng cách sử dụng 3 máy chủ VPS Vultr chạy CentOS 7.
Cài đặt
Tạo một Vultr VM với CentOS 7 khi hệ điều hành và Mạng riêng được kích hoạt.
Khi VM đã sẵn sàng, hãy đăng nhập và thêm kho lưu trữ RethinkDB yum vào danh sách các kho lưu trữ:
sudo wget http://download.rethinkdb.com/centos/6/`uname -m`/rethinkdb.repo -O /etc/yum.repos.d/rethinkdb.repo
Tiếp theo, cài đặt RethinkDB:
sudo yum install rethinkdb
Truy cập cơ sở dữ liệu
Bắt đầu RethinkDB bằng cách chạy lệnh bên dưới. Lưu ý rằng chúng tôi "ràng buộc tất cả" để chúng tôi không gặp phải sự cố khi cố gắng truy cập giao diện quản trị web của RethinkDB.
rethinkdb --bind all
Để truy cập qua web, hãy sử dụng cổng 8080 bằng cách nhập http://[vultr-ip-address]:8080
vào thanh địa chỉ của trình duyệt web của bạn. Bạn sẽ thấy công cụ quản trị web tuyệt vời của RethinkDB.
Lưu ý: Nếu bạn không thấy các công cụ quản trị web, ngăn chặn RethinkDB bằng cách phát hành các tổ hợp phím Ctrl + C lệnh. Chúng tôi sẽ mở tường lửa CentOS và khởi động lại 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
Xóa cơ sở dữ liệu kiểm tra
Chúng tôi sẽ sử dụng giao diện web trong tương lai để thao tác cơ sở dữ liệu. Truy cập nó bằng cách duyệt đến http://[vultr-ip-address]:8080
và nhấp vào liên kết "Bảng". Bạn sẽ thấy RethinkDB đã cài đặt cơ sở dữ liệu "thử nghiệm". Nhấp vào liên kết "Data Explorer" và chạy bên dưới lệnh để xóa cơ sở dữ liệu "kiểm tra".
r.dbDrop('test')
Chơi xung quanh trong cơ sở dữ liệu
Mặc dù vẫn ở phần "Data Explorer" của quản trị viên RethinkDB, hãy tạo một cơ sở dữ liệu mới có tên "tweetDB" bằng cách chạy mã bên dưới.
r.dbCreate('tweetDB')
Tiếp theo, tạo một bảng "tweet".
r.db('tweetDB').tableCreate('tweets')
Chèn một số bản ghi vào bảng "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'
}
])
Truy vấn bảng "tweet" để xem kết quả.
r.db('tweetDB').table('tweets')
Bạn sẽ thấy phần dưới đây trong chế độ xem dạng cây (với các id khác nhau).
[
{
"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"
}
]
Thiết lập cụm
Quay lên máy thứ hai và thứ ba bằng cách sử dụng các hướng dẫn từ các phần "Cài đặt" , "Kết nối với sơ đồ VM mới của bạn" và "Truy cập cơ sở dữ liệu" của hướng dẫn này. Đảm bảo xóa cơ sở dữ liệu "kiểm tra" trên mỗi trường hợp mới và KHÔNG thêm bất kỳ cơ sở dữ liệu mới nào vào chúng.
Sau khi xóa cơ sở dữ liệu "kiểm tra" từ phiên bản thứ hai và thứ ba, hãy quay lại lời nhắc lệnh của họ và dừng RethinkDB bằng cách phát hành Ctrl + C (hoặc Cmd + C trên máy Mac). Bây giờ bắt đầu RethinkDB một lần nữa trong các trường hợp này bằng cách sử dụng lệnh bên dưới (về cơ bản chúng tôi đang nói với các thể hiện thứ hai và thứ ba mới tham gia lần đầu tiên).
$ rethinkdb --join [ip-of-first-vultr-vm]:29015 --bind all
Trong trường hợp thứ hai và thứ ba, truy cập giao diện quản trị web và đi đến phần "Data Explorer". Chạy truy vấn sau đây để có được một danh sách các tweet.
r.db('tweetDB').table('tweets')
Bạn sẽ thấy rằng chúng đã được sao chép từ phiên bản chính (thiết lập VM đầu tiên).
Phần kết luận
Mặc dù RethinkDB vẫn còn ở giai đoạn đầu tại thời điểm viết bài này, nhưng nó có rất nhiều hứa hẹn và có giao diện quản trị dựa trên web mạnh mẽ, giúp các tác vụ khó khăn thường liên quan đến việc mở rộng cơ sở dữ liệu (shending, sao chép) dễ dàng thực hiện chỉ với một vài nhấp chuột.
Để đọc thêm, hãy truy cập Tài liệu RethinkDB . Ngoài ra, hãy xem kênh IRC #rethinkdb để tìm hiểu thêm từ cộng đồng.
Các phiên bản khác
CentOS 7
Ubuntu 14
Viết bởi Lami Adabonyan