NoSQL Là Gì? Hướng Dẫn Cài Đặt MongoDB Trên Linux – VinaHost

NoSQL Là Gì? Hướng Dẫn Cài Đặt MongoDB Trên Linux

Bài viết này sẽ giới thiệu về NoSQL và Hướng Dẫn Cài Đặt MongoDB Trên Linux. Nếu bạn cần hỗ trợ, xin vui lòng liên hệ VinaHost qua Hotline 1900 6046 ext.3, email về [email protected] hoặc chat với VinaHost qua livechat https://livechat.vinahost.vn/chat.php.

NoSQL là gì?

Khái niệm

Cơ sở dữ liệu NoSQL là cơ sở dữ liệu được xây dựng dành riêng cho mô hình dữ liệu và có sơ đồ linh hoạt để xây dựng các ứng dụng hiện đại. Cơ sở dữ liệu NoSQL được công nhận rộng rãi vì khả năng dễ phát triển, chức năng cũng như hiệu năng ở qut mô lớn

Cơ chế hoạt động

Cơ sở dữ liệu NoSQL sử dụng nhiều mô hình dữ liệu để truy cập và quản lý dữ liệu. Các loại cở sở dữ liệu này được tối hóa dành riêng cho các ứng dụng yêu cầu mô hình dữ liệu linh hoạt có lượng dữ liệu lớn và độ trễ thấp, có thể đạt được bằng các giảm bớt một số hạn chế về tính chất quản lý của dữ liệu của các cơ sở dữ liệu khác.

Ưu và nhược điểm của NoSQL

Ưu điểm:

Có một số lợi thế, điểm mạnh khi làm việc với cơ sở dữ liệu NoSQL như MongoDB và Cassandra. Nhưng ưu điểm chính của nó là khả năng mở rộng và tính sẵn sàng cao.

  • NoSQL giải quyết được các vấn đề dữ liệu lớn (big data) về các hệ thống thông tin hoặc là phân tán dữ liệu.
  • Việc mở rộng phạm vi là mềm dẻo: NoSQL thay thế câu thần chú cũ của các nhà quản trị CSDL về việc mở rộng phạm vi với một thứ mới: “mở rộng ra ngoài”. Thay vì phải bổ sung thêm những máy chủ lớn hơn để tải nhiều dữ liệu hơn, thì CSDL NoSQL cho phép một công ty phân tán tải qua nhiều máy chủ khi tải gia tăng.
  • High availability: Khả năng tự động sao chép trong MongoDB làm cho nó rất tốt trong mọi trường hợp vì trong trường hợp có bất kỳ lỗi nào, sẽ tự động sao chép về trạng thái nhất quán trước đó.

Nhược điểm:

  • Quản lý dữ liệu: Mục địch của các công cụ dữ liệu là làm cho việc quản lý một lượng lớn dữ liệu trở nên đơn giản nhất. Nhưng quản lý dữ liệu trong NoSQL phức tạp hơn nhiều so với các cơ sỡ dữ liệu quan hệ. Đặc biệt, nó nổi tiếng là khó cài đặt và thậm chí là để quản lý nó hằng ngày cũng tốn nhiều thời gian.
  • Sao lưu dữ liệu: là một điểm yếu lớn nhất đối với một số cơ sỡ dữ liệu NoSQL như MongoDB. Nó không có cách tiếp cận để làm sao lưu dữ liệu một cách nhất quán.
  • Thiếu tính nhất quán: NoSQL đánh đổi sự nhất quán để ưu tiên tốc độ, hiệu suất hiệu quả hơn.
  • Trọng tâm hẹp: Cơ sở dữ liệu NoSQL có trọng tâm rất hẹp vì nó chủ yếu được thiết kế để lưu trữ nhưng nó cung cấp rất ít chức năng.
  • Mã nguồn mở: NoSQL là cơ sở dữ liệu mã nguồn mở và không có tiêu chuẩn đáng tin cậy cho NoSQL được nêu ra.
  • Không có lược đồ: Ngay cả khi chúng ta lấy dữ liệu ở dạng tự do, hầu như luôn cần áp đặt các ràng buộc để làm cho nó hữu ích. Với NoSQL, trách nhiệm sẽ được chuyển từ cơ sở dữ liệu sang nhà phát triển, lập trình ứng dụng.
  • Kỹ năng NoSQL: Một hạn chế khác đó là người sử dụng có thể sẽ thiếu các kỹ năng chuyên môn ở mức tương đối vì hệ thống này còn khá mới và không phải ai cũng biết sử dụng nó một cách thành thạo.

Khi nào nên sử dụng NoSQL?

Chúng ta nên áp dụng NoSQL Database trong các trường hợp sau:

  • Khi muốn lưu trữ, truy xuất một lượng dữ liệu khổng lồ.
  • Mối quan hệ giữa dữ liệu lưu trữ là không quan trọng.
  • Dữ liệu không có cấu trúc và được thay đổi theo thời gian.
  • Dữ liệu không được phát triển liên tục và cần phải mở rộng cơ sở dữ liệu thường xuyên để xử lý dữ liệu.
  • SQL là ngôn ngữ đơn giản nhất được sử dụng để giao tiếp RDBMS(Relational Database Management System)
  • Phân tích các phiên liên quan đến hành vi và tùy chỉnh.
  • Tạo trang tổng quan tùy chỉnh.
  • Cho pháp lưu trữ và lấy dữ liệu từ cơ sở dữ liệu một cách nhanh chóng.
  • Được ưu tiên khi muốn cho phép các phép nối và thực hiện các truy vấn phức tạp.
  • Khi không cần hỗ trợ ACID.
  • Các ràng buộc và logic xác thực không bắt buộc phải được thực hiện trong cơ sở dữ liệu.
  • Nên được sử dụng để lưu trữ dữ liệu tạm thời như giỏ mua hang, danh sách mong muốn và dữ liệu phiên.

Hướng dẫn cài đặt MongoDB trên Linux

Tạo MongoDB repository

  • Để thêm kho lưu trữ MongoDB vào hệ thống, chúng ta cần tạo file mongodb-org.repo trong thư mục /etc/yum.repos.d/

#vi /etc/yum.repos.d/mongodb-ord.repo

  • Dán nội dung bên dưới vào:

[mongodb-org-4.2]

name=MongoDB repository

baseurl=https://repos.mongodb.org/yum/redhat/$releaserver/mongodb-org/4.2/x86_64/

grpcheck=1

enable=1

gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

  • Sau đó Insert + 😡 để lưu lại.

Cài đặt MongoDB

  • Sau khi kho lưu trữ đã được thêm thì chúng ta có thể tiến hành cài đặt gói mongodb-org bằng lệnh sau:

#yum install mongodb-org –y

  • Các gói sau sẽ được cài đặt trên hệ thống như là thành phần của gói mongodb-org
  • Mongodb-org-server: trình nên mongodb, các tập lệnh và cấu hình init tương ứng
  • Mongodb-org-mongos: Daemon mongos
  • Mongodb-org-shell: Shell mongo, giao diện JavaScript tương tcs với MongoDB, được sử dụng để thực hiện các tác vụ quản trị dòng lệnh
  • Mongodb-org-tools: chứa một số công cụ MongoDB để nhập và xuất dữ liệu, số liệu thống kê, cũng như các tiện ích khác.

Khởi động MongoDB

Sau khi quá trình cài đặt hoàn tất, chúng ta sẽ khởi động MongoDB bằng các lệnh sau:

#systemctl start mongd

#systemctl enable mongod

Xác minh cài đặt MongoDB

  • Để xác minh cài đặt thì chạy lệnh: #mongo
  • Tiếp theo, gõ lệnh #db.version() để hiển thị phiên bản MongoDB

Cấu hình MongoDB

  • Thiết lập cấu hình bằng cách chỉnh sửa tệp cấu hình etc/mongod.conf.
  • Có thể tham khảo các cấu hình tại: https://docs.mongodb.com/manual/reference/configuration-options/
  • Sau khi thay đổi tệp cấu hình MongoDB, hãy khởi động lại dịch vụ mongod:

#systemctl restart mongod

Tạo user Admin

  • Đầu tiên gõ lênh: #mongo
  • Sau đó chạy lệnh sau để kết nối với cơ sở dữ liệu quản trị viên: #use admin
  • Tạo người dùng mới với vai trò userAdminAnyDatabase

Db.createUser({user: “Username”, pwd: ‘Mật-khẩu”, roles: [{role:”userAdminAnyDatabase”, db:”admin:}]})

Trong đó: Username và Mật-khẩu các bạn đặt tùy ý

  • Thoát khỏi mongo bằng lệnh: #quit()
  • Để kiểm tra các thay đổi, truy cập shell mongo bằng người dùng quản trị đã tạo trước đó:

# monogo –u username –p –authenticationDatabase admin

Trong đó: thay username bằng username đã tạo ở bước trên

  • Lúc này, bạn có thể in người dùng bằng lệnh:

#use admin

#show users

Cài Đặt MongoDB Trên Linux

No related posts.

Was this article helpful?

13

12