RethinkDB là một hệ thống cơ sở dữ liệu mã nguồn mở và miễn phí để xây dựng các ứng dụng thời gian thực. Đây là một cơ sở dữ liệu NoSQL phân tán và có thể mở rộng cho các ứng dụng web ngày nay. RethinkDB cung cấp các giải pháp giúp các quy trình nhanh hơn và đáng tin cậy hơn cho các ứng dụng thời gian thực. Thay vì sử dụng dữ liệu thăm dò truyền thống, RethinkDB sử dụng các bản cập nhật đẩy trực tiếp, giúp các ứng dụng của bạn chạy nhanh hơn.
Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt và cấu hình RethinkDB, cơ sở dữ liệu mã nguồn mở cho web thời gian thực trên Debian 11 Server. Bạn cũng sẽ học cách thiết lập trình điều khiển máy khách RethinkDB và cách sử dụng trình điều khiển này để tạo cơ sở dữ liệu mới và chèn một số tài liệu.
Bây giờ bạn sẽ thêm kho lưu trữ RethinkDB vào hệ thống Debian của mình, sau đó cài đặt các gói RethinkDB từ kho lưu trữ chính thức.
Trước khi bắt đầu cài đặt bất kỳ gói nào, hãy chạy lệnh bên dưới để cài đặt các công cụ GnuPG vào Debian của bạn hệ thống.
Tiếp theo, chạy lệnh bên dưới để thêm khóa GPG RethinkDB và kho lưu trữ.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22108%22%3E%3C/svg%3E
Làm mới và cập nhật kho lưu trữ của bạn.
Trong ảnh chụp màn hình bên dưới, bạn sẽ thấy kho lưu trữ RethinkDB được thêm vào hệ thống Debian.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22193%22%3E%3C/svg%3E
Bây giờ hãy cài đặt gói RethinkDB bằng lệnh apt bên dưới.
Nhập Y để xác nhận cài đặt và nhấn ENTER để tiếp tục.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22198%22%3E%3C/svg%3E
Khi quá trình cài đặt RethinkDB hoàn tất, hãy chuyển sang bước tiếp theo để thiết lập phiên bản RethinkDB.
Di chuyển thư mục làm việc của bạn đến /etc/rethinkdb/.
Sao chép cấu hình mặc định default.conf.sample vào instances.d/rethinkdb1.conf bằng cách sử dụng lệnh sau lệnh.
Bây giờ hãy chỉnh sửa cấu hình instances.d/rethinkdb1.conf bằng trình soạn thảo nano.
Bỏ chú thích các dòng sau và đảm bảo thay đổi giá trị server-name bằng tên máy chủ của bạn. Cấu hình này cho phép RethinkDB chạy trên địa chỉ IP máy chủ 192.168.5.20 và cổng mặc định 8080 cho bảng điều khiển quản trị web và thư mục dữ liệu mặc định /var/lib/rethinkdb/default.
Lưu và đóng tệp khi bạn hoàn tất.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22240%22%3E%3C/svg%3E
Tiếp theo, khởi động lại dịch vụ RethinkDB để áp dụng các thay đổi mới cho phiên bản RethinkDB của bạn.
Xác minh dịch vụ RethinkDB bằng cách sử dụng bên dưới lệnh.
Trong ảnh chụp màn hình bên dưới, bạn sẽ thấy RethinkDB đang chạy với các phiên bản cấu hình tùy chỉnh.d/rethinkdb1.conf.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22247%22%3E%3C/svg%3E
Ngoài ra, bạn cũng có thể kiểm tra danh sách các cổng mở trên hệ thống của mình bằng cách sử dụng lệnh sau lệnh.
Trong ảnh chụp màn hình bên dưới, bạn sẽ thấy RethinkDB đang chạy trên địa chỉ IP máy chủ 192.168.5.20 với cổng 8080 cho bảng điều khiển quản trị web HTTP và cổng 28015 cho kết nối máy khách.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22124%22%3E%3C/svg%3E
Hoặc bạn có thể truy cập địa chỉ IP máy chủ của mình với cổng 8080 (ví dụ: http://192.168.5.20.8080). Và bạn sẽ thấy bảng điều khiển quản trị RethinkDB bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22661%22%3E%3C/svg%3E
Bây giờ bạn đã hoàn tất cấu hình RethinkDB trên Máy chủ Debian. Chuyển sang bước tiếp theo để thiết lập trình điều khiển máy khách cho RethinkDB.
Trong ví dụ này, bạn sẽ sử dụng Python, vì vậy bạn sẽ cài đặt trình điều khiển máy khách Python cho RethinkDB.
Trước khi cài đặt trình điều khiển máy khách, hãy chạy lệnh bên dưới để cài đặt Python3-pip và Python-venv vào hệ thống của bạn. Python3-pip là trình quản lý gói Python, còn Python3-venv dùng để tạo môi trường ảo cho Python.
Nhập Y để xác nhận cài đặt.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22350%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy chạy lệnh bên dưới để tạo một môi trường ảo Python mới có tên venv và kích hoạt môi trường ảo venv.
Bây giờ bạn có thể cài đặt trình điều khiển máy khách Python RethinkDB bằng lệnh pip bên dưới.
Bây giờ bạn đã cài đặt trình điều khiển máy khách RethinkDB cho Python. Tiến tới bước tiếp theo để tìm hiểu cách sử dụng cơ bản của RethinkDB.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22662%22%20height=%22279%22%3E%3C/svg%3E
Bây giờ hãy nhập mô-đun python RethinkDB và kết nối với phiên bản RethinkDB của bạn bằng truy vấn sau.
Tạo một bài kiểm tra cơ sở dữ liệu mới và bảng tv_shows bằng cách sử dụng truy vấn sau truy vấn.
Bây giờ chèn dữ liệu vào bảng tv_shows như bên dưới.
Dữ liệu mới đã được chèn thành công vào RethinkDB trong ảnh chụp màn hình bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22134%22%3E%3C/svg%3E
Bạn có thể sử dụng truy vấn sau để lấy dữ liệu bạn vừa chèn vào.
Trong ảnh chụp màn hình bên dưới, bạn sẽ thấy dữ liệu bạn vừa chèn vào bảng tv_shows. Và bạn vừa lấy dữ liệu thành công từ RethinkDB.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22724%22%20height=%22166%22%3E%3C/svg%3E
Một cách khác để xác minh cơ sở dữ liệu là truy cập bảng điều khiển quản trị web RethinkDB. Nhấp vào menu BẢNG ở trên cùng và bạn sẽ thấy bài kiểm tra cơ sở dữ liệu với bảng tv_shows có sẵn trên máy chủ RethinkDB.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22273%22%3E%3C/svg%3E
Trong hướng dẫn này, bạn sẽ tìm hiểu cách cài đặt và cấu hình RethinkDB, cơ sở dữ liệu mã nguồn mở cho web thời gian thực trên Debian 11 Server. Bạn cũng sẽ học cách thiết lập trình điều khiển máy khách RethinkDB và cách sử dụng trình điều khiển này để tạo cơ sở dữ liệu mới và chèn một số tài liệu.
Điều kiện tiên quyết
- Máy chủ Debian 11
- Người dùng không phải root có quyền sudo hoặc quản trị viên.
Cài đặt RethinkDB
RethinkDB có thể được cài đặt theo hai cách: biên dịch từ nguồn hoặc cài đặt các gói nhị phân từ kho lưu trữ RethinkDB. Đối với hầu hết các bản phân phối Linux, RethinkDB cung cấp kho lưu trữ gói.Bây giờ bạn sẽ thêm kho lưu trữ RethinkDB vào hệ thống Debian của mình, sau đó cài đặt các gói RethinkDB từ kho lưu trữ chính thức.
Trước khi bắt đầu cài đặt bất kỳ gói nào, hãy chạy lệnh bên dưới để cài đặt các công cụ GnuPG vào Debian của bạn hệ thống.
Mã:
sudo apt install gnupg2 -y
Mã:
export CODENAME=`lsb_release -cs`
echo "deb https://download.rethinkdb.com/repository/debian-$CODENAME $CODENAME main" | sudo tee /etc/apt/sources.list.d/rethinkdb.list
wget -qO- https://download.rethinkdb.com/repository/raw/pubkey.gpg | sudo apt-key add -
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22108%22%3E%3C/svg%3E
Làm mới và cập nhật kho lưu trữ của bạn.
Mã:
sudo apt update
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22193%22%3E%3C/svg%3E
Bây giờ hãy cài đặt gói RethinkDB bằng lệnh apt bên dưới.
Mã:
sudo apt install rethinkdb
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22198%22%3E%3C/svg%3E
Khi quá trình cài đặt RethinkDB hoàn tất, hãy chuyển sang bước tiếp theo để thiết lập phiên bản RethinkDB.
Cấu hình RethinkDB
Trong bước này, bạn sẽ cấu hình cài đặt RethinkDB. Cấu hình RethinkDB mặc định có sẵn trong thư mục /etc/rethinkdb/.Di chuyển thư mục làm việc của bạn đến /etc/rethinkdb/.
Mã:
cd /etc/rethinkdb
Mã:
cp default.conf.sample instances.d/rethinkdb1.conf
Mã:
sudo nano instances.d/rethinkdb1.conf
Mã:
http-port=8080
server-name=rethinkdb1
directory=/var/lib/rethinkdb/default
bind=192.168.5.20
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22240%22%3E%3C/svg%3E
Tiếp theo, khởi động lại dịch vụ RethinkDB để áp dụng các thay đổi mới cho phiên bản RethinkDB của bạn.
Mã:
sudo systemctl restart rethinkdb
Mã:
sudo systemctl status rethinkdb
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22247%22%3E%3C/svg%3E
Ngoài ra, bạn cũng có thể kiểm tra danh sách các cổng mở trên hệ thống của mình bằng cách sử dụng lệnh sau lệnh.
Mã:
ss -plntu
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22124%22%3E%3C/svg%3E
Hoặc bạn có thể truy cập địa chỉ IP máy chủ của mình với cổng 8080 (ví dụ: http://192.168.5.20.8080). Và bạn sẽ thấy bảng điều khiển quản trị RethinkDB bên dưới.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22661%22%3E%3C/svg%3E
Bây giờ bạn đã hoàn tất cấu hình RethinkDB trên Máy chủ Debian. Chuyển sang bước tiếp theo để thiết lập trình điều khiển máy khách cho RethinkDB.
Cài đặt trình điều khiển máy khách RethinkDB
RethinkDB cung cấp các gói trình điều khiển máy khách cho hầu hết mọi ngôn ngữ lập trình như Node.js, Python, C, Java, Python, Go, v.v.Trong ví dụ này, bạn sẽ sử dụng Python, vì vậy bạn sẽ cài đặt trình điều khiển máy khách Python cho RethinkDB.
Trước khi cài đặt trình điều khiển máy khách, hãy chạy lệnh bên dưới để cài đặt Python3-pip và Python-venv vào hệ thống của bạn. Python3-pip là trình quản lý gói Python, còn Python3-venv dùng để tạo môi trường ảo cho Python.
Mã:
sudo apt install python3-pip python3-venv
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22350%22%3E%3C/svg%3E
Sau khi cài đặt hoàn tất, hãy chạy lệnh bên dưới để tạo một môi trường ảo Python mới có tên venv và kích hoạt môi trường ảo venv.
Mã:
python3 -m venv ./venv
source venv/bin/activate
Mã:
pip install rethinkdb
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22662%22%20height=%22279%22%3E%3C/svg%3E
Tạo cơ sở dữ liệu mới và chèn dữ liệu
Bên trong môi trường ảo venv, hãy chạy lệnh python để lấy Python shell.
Mã:
python
Mã:
from rethinkdb import r
r.connect('192.168.5.20', 28015).repl()
Mã:
r.db('test').table_create('tv_shows').run()
Mã:
r.table('tv_shows').insert({ 'name': 'Star Trek TNG' }).run()
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22134%22%3E%3C/svg%3E
Bạn có thể sử dụng truy vấn sau để lấy dữ liệu bạn vừa chèn vào.
Mã:
cursor = r.table("tv_shows").run()
for document in cursor:
print(document)
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22724%22%20height=%22166%22%3E%3C/svg%3E
Một cách khác để xác minh cơ sở dữ liệu là truy cập bảng điều khiển quản trị web RethinkDB. Nhấp vào menu BẢNG ở trên cùng và bạn sẽ thấy bài kiểm tra cơ sở dữ liệu với bảng tv_shows có sẵn trên máy chủ RethinkDB.
data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22273%22%3E%3C/svg%3E