Giới thiệu và cài đặt MongoDB

Giới thiệu và cài đặt MongoDB

Khi nói đến NoSQL database, ta sẽ nghe đến một cái tên quen thuộc đó là MongoDB. Đây là một open-source document database, được viết bằng ngôn ngữ c++, được dùng để lưu trữ và truy xuất dữ liệu lớn Big Data. Tôi mới làm quen với MongoDB nên làm một cái note để xem lại khi cần cài đặt hay nắm bắt nhanh các khái niệm cơ bản của cơ sở dữ liệu (CSDL) này. Bài viết gồm hai phần: giới thiệu và cài đặt.

Giới thiệu

MongoDB là một cross-platform (Linux, Mac OS, Windows), là document oriented database (CSDL hướng tài liệu) cung cấp một hệ thống có hiệu suất và tính sẵn sàng cao (high performance, high availability) cũng như khả năng dễ dàng mở rộng. MongoDB hoạt động dựa trên các khái niệm cơ bản về bộ sưu tập (collection) và tài liệu (document). Dưới đây là các khái niệm cơ bản.

Database: là một container vật lý chứa các collection. Mỗi database sẽ có hệ thống file và tập tin tương ứng khi cài đặt trên các hệ điều hành cụ thể. Một MongoDB server đơn lẻ thường có nhiều database. Collection: là một group các MongoDB document. Khái niệm này tương đương với table trong RDBMS. Một collection tồn tại bên trong một database đơn lẻ. Các collection không tạo ra một lược đồ (schema). Các document bên trong một collection có thể có nhiều trường (fields/ columns). Thông thường, tất cả các document trong một collection thì tương tự và liên quan với nhau. Document: là tập các cặp key-value. Các document có lược đồ rất linh hoạt (dynamic schema). Nghĩa là các document trong cùng một collection không cần thiết phải có cùng tập các trường hay cấu trúc, và các trường thông dụng trong các document có thể chứa các kiểu dữ liệu khác nhau. Ta có thể lập ra bảng so sánh giữa RDBMS và MongoDB để dễ liên hệ kiến thức cũ với kiến thức mới.

RDBMS MONGODB Database Database Table Collection Tuple/Row Document Column Field Table Join Embedded Documents Primary Key Primary Key (key mặc định là _id được cung cấp bởi tự thân mongodb) DATABASE SERVER VÀ CLIENT Mysqld/Oracle mongod mysql/sqlplus mongo Cài đặt

Ta tiến hành cài đặt MongoDB trên Linux thông qua các bước sau:

Download file .tgz

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.4.tgz

Giải nén file vừa tải về

tar -zxvf mongodb-linux-x86_64-3.0.4.tgz

Copy vào một thư mục mong muốn

mkdir -p mongodb cp -R -n mongodb-linux-x86_64-3.0.4/ mongodb

Thiết lập biến môi trường để có thể thực thi lệnh của MongoDB trong môi trường dòng lệnh.

mở file .bashrc

sudo gedit ~/.bashrc

thêm dòng code thiết lập biến môi trường vào cuối file .bashrc

export PATH=/bin:$PATH

reset để thiết lập có hiệu lực

source ~/.bashrc

tắt command line và mở lại kiểm tra

echo $PATH

tạo thư mục mặc định để MongoDB lưu trữ dữ liệu

mkdir -p /data/db

set permissions cho thư mục này

sudo chmod 777 -R /data

nếu không muốn sử dụng thư mục mặc định này, bạn có thể thiết lập lại như sau

mongod –dbpath <đường dẫn="" đến="" thư="" mục="" chứa="" dữ="" liệu="" mong="" muốn=""> Nếu cài đặt thành công, ta sẽ thấy kết qủa như bên dưới khi start dịch vụ MongoDB. Lúc này MongoDB sẽ đợi các connection kết nối vào dịch vụ đang chạy.

1 mongod MongoDB waiting for connection MongoDB waiting for connection Ta mở thêm hai cửa sổ terminal và nhập dòng lệnh như bên dưới để tạo ra hai connection. Nếu thành công ta sẽ được như hình bên dưới.

1 mongo MongoDB with 2 connections MongoDB with 2 connections