MongoDB Là Gì? Tìm Hiểu Về MongoDB ( Chia Sẻ Từ A - Z)

Ngày đăng: 06/02/2023
Tác giả: Hostingviet
Lượt xem: 386
Theo dõi:

Đối với các nhà quản trị website thì MongoDB không còn quá xa lạ. Bởi nó mang lại nhiều ưu điểm trong quản lý cơ sở dữ liệu. Nếu bạn chưa biết MongoDB là gì và muốn tìm hiểu những kiến thức tổng quan về nó & bạn cũng có xu hướng chuyển sang MongoDB thì những thông tin chi tiết về MongoDB là gì sẽ giúp bạn hiểu rõ hơn về phần mềm này. Hãy xem ngay bài viết dưới đây của Hosting Việt nhé!

MongoDB là gì?

MongoDB là một dạng phần mềm cơ sở dữ liệu sử dụng mã nguồn mở NoSQL. Nó có thể hỗ trợ trên nhiều nền tảng khác nhau và được thiết kế với mục đích hướng đến đối tượng. MongoDB hoạt động dựa vào các khái niệm Collection và Document. Đồng thời, nó có hiệu suất cao cùng với tính khả dụng tốt và dễ dàng mở rộng.

Các Collection trong MongoDB có cấu trúc cực kỳ linh hoạt. Điều này cho phép dữ liệu không cần thiết phải tuân theo bất kỳ một dạng cấu trúc nào. Vì thế, MongoDB có thể lưu trữ những dữ liệu có cấu trúc đa dạng và phức tạp. Dữ liệu trong MongoDB được lưu bằng định dạng kiểu JSON. 

Tìm hiểu về MongoDB: Khái niệm NoSQL là gì?

NoSQL còn được xem là mảnh vá cho những hạn chế, khiếm khuyết của mô hình Hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System - RDBMS). Đó là cải tiến về tốc độ, tính năng cũng như khả năng mở rộng.

NoSQL cho phép mở rộng dữ liệu mà không cần tạo khóa ngoại, khóa chính hay kiểm tra tính ràng buộc… Có thể thấy, dạng cơ sở dữ liệu này có thể linh động, sẵn sàng bỏ qua tính toàn vẹn cứng nhắc của transaction hay dữ liệu nhằm đổi lấy hiệu suất, cùng với khả năng mở rộng tốt. Chính vì ưu điểm này mà nhiều Tập đoàn lớn rất ưa chuộng NoSQL như Facebook, Google,…

mongodb la gi

Hoạt động của MongoDB là gì?

Nguyên tắc hoạt động của MongoDB là dưới một tiến trình dịch vụ ngầm và mở một cổng (mặc định là cổng 27017), để có thể tiếp nhận các yêu cầu truy vấn, thao tác; sau đó tiến hành xử lý.

Mỗi bản ghi của MongoDB (document) được gắn một trường có tên “_id” nhằm xác định tính duy nhất của bản ghi. Có thể hiểu id này như tên gọi của một bản ghi và dùng phân biệt chúng với các bản ghi khác. Đồng thời, nó còn được sử dụng cho mục đích truy vấn hoặc tìm kiếm thông tin. Trường dữ liệu “_id” được tự động đánh chỉ mục (index) để đảm bảo tốc độ truy vấn đạt hiệu suất tối ưu.

Mỗi truy vấn dữ liệu đều được ghi đệm lên bộ nhớ RAM nên các truy vấn sau đó sẽ diễn ra nhanh hơn. Bởi nó không cần đọc dữ liệu từ ổ cứng.

Khi thực hiện thêm, xóa hay sửa bản ghi thì MongoDB đều mất 60s để ghi các dữ liệu được thay đổi từ RAM xuống ổ cứng. Điều này nhằm mục đích đảm bảo hiệu suất mặc định của chương trình.

Tìm hiểu hệ cơ sở dữ liệu MongoDB có tính năng gì?

MongoDB có các tính năng sau:

  • Truy vấn ad hoc

Đây được xem là tính năng tốt nhất của MongoDB. Nó có tác dụng giúp các trường truy vấn phạm vi, kết hợp cùng việc tìm kiếm biểu thức nhằm trả về kết quả tài liệu cụ thể với kích thước nhất định. Ngoài ra, các trường dùng trong MongoDB còn được dùng để lập chỉ mục chính, phụ.

  • Nhân rộng

MongoDB cung cấp Replica Set cho phép nhân 2 hoặc nhiều bản sao của dữ liệu. Đồng thời, mỗi bản sao lại đóng vai trò chính và phụ.

- Khi nhân rộng, toàn bộ dữ liệu khi ghi và đọc được thực hiện trên bản sao chính.

- Bản sao thứ cấp sẽ dùng bản sao tích hợp để có thể duy trì các bản sao dữ liệu.

Trong trường hợp có bất kỳ bản sao chính nào bị thất bại thì Replica set sẽ chọn một bản sao thứ cấp để thay thế làm bản sao chính tiếp theo. Trong quá trình nhân rộng, Replica thứ cấp được tùy ý chọn các hoạt động nhưng dữ liệu cuối cùng vẫn phải tuân theo mặc định.

  • Cân bằng tải

MongoDB sử dụng Sharding nhằm chia tỷ lệ theo chiều ngang và xác định dữ liệu phân phối trong collection. Điều này giúp người dùng có thể chọn một Shard key. 

Nói tóm lại, MongoDB cân bằng tải bằng cách dựa vào các Shard key để chia dữ liệu thành các phạm vi và phân phối đồng đều. Chúng có thể chạy trên nhiều máy chủ khác nhau và thực hiện chức năng sao chép dữ liệu hay cân bằng tải nhằm giữ hệ thống hoạt động liên tục trong trường hợp phát sinh lỗi về phần cứng.

  • Lưu trữ tệp

Khi tìm hiểu hệ cơ sở dữ liệu MongoDB thì bạn sẽ thấy, tính năng lưu trữ tệp được dùng như một hệ thống tệp (gọi là GridFS) đóng vai trò cân bằng tải, đồng thời, sao chép dữ liệu trên nhiều máy tính. Cụ thể, GridFS chia một tệp ra làm nhiều phần và lưu trữ thành các tài liệu riêng biệt. Sau đó, người dùng dễ dàng truy cập GridFS thông qua Mongofiles hay các plugin sử dụng cho Nginx và Lighttpd.

  • Tập hợp

Tính năng này chính là chương trình mang đến ba giải pháp để thực hiện tập hợp gồm Aggregation Pipeline, Mapreduce và Single-purpose Aggregation. Trong đó, Aggregation Pipeline được đánh giá là có hiệu suất tốt nhất. 

  • Giới hạn kích thước collection

Các collection được MongoDB hỗ trợ thường có kích thước cố định. Vì thế, người ta gọi chúng là collection giới hạn. Với kích cỡ cố định, kết hợp cùng việc theo sau thứ tự chèn giúp tăng hiệu suất của các hoạt động liên quan đến dữ liệu. Và khi dữ liệu vượt giới hạn thì những tài liệu cũ hơn sẽ tự động bị xóa mà bạn không cần thực hiện thao tác thêm bất kỳ dòng lệnh nào.

  • Giao dịch

Bắt đầu từ phiên bản 4.0 ra mắt vào tháng 6 năm 2018, MongoDB được bổ sung thêm tính năng hỗ trợ giao dịch ACID đa tài liệu.

mongodb la gi

>>Xem thêm: Hệ Quản Trị Cơ Sở Dữ Liệu Là Gì? Chức Năng DBMS Và Top Hệ Quản Trị Phổ Biến

Ưu điểm của MongoDB

MongoDB mang đến cho người dùng khá nhiều lợi ích:

  • Linh hoạt trong lưu trữ các kích cỡ dữ liệu khác nhau. Nhờ chúng được lưu dưới dạng JSON nên bạn thoải mái chèn bất kỳ thông tin nào tùy theo nhu cầu sử dụng.
  • Tiết kiệm thời gian trong việc kiểm tra sự tương thích về cấu trúc khi thêm, xóa hoặc cập nhật dữ liệu. Nhờ MongoDB không có sự ràng buộc trong một khuôn khổ, quy tắc nhất định nào. 
  • Bạn dễ dàng mở rộng hệ thống thông qua việc thêm node vào cluster. Cụm các node này đóng vai trò như thư viện chứa các dữ liệu giao tiếp với nhau.
  • Tốc độ truy vấn của MongoDB nhanh hơn so với RDBMS do toàn bộ dữ liệu truy vấn đã được ghi đệm lên bộ nhớ RAM. Nhờ thế, những lượt truy vấn sau sẽ được rút ngắn thời gian vì chúng không cần đọc từ ổ cứng.
  • Trường dữ liệu “_id” (đại diện cho giá trị duy nhất trong mỗi document) được tự động đánh chỉ mục nên hiệu suất luôn đạt mức cao nhất.

Nhược điểm của MongoDB

Bên cạnh các ưu điểm, MongoDB vẫn còn tồn tại một số điểm hạn chế mà bạn cần chú ý khi cài đặt và sử dụng:

  • Vì dữ liệu không bị ràng buộc nên trong quá trình sử dụng, bạn cần cẩn thận trong mọi thao tác nhằm tránh xảy ra những điều không mong muốn, làm ảnh hưởng đến dữ liệu.
  • Chương trình MongoDB tiêu tốn khá nhiều dung lượng bộ nhớ do dữ liệu được lưu dưới dạng key và value. Bên cạnh đó, một số collection chỉ có sự khác biệt về value nên việc lặp lại key là điều khó tránh khỏi. Điều này dẫn đến thừa dữ liệu.
  • Thông thường, thời gian để dữ liệu chuyển đổi từ RAM xuống ổ cứng khoảng 60s nên nguy cơ bị mất dữ liệu nếu xảy ra mất điện là điều có thể xảy ra.
  • mongodb la gi

 

>>Xem thêm: Cơ Sở Dữ Liệu Database Là Gì? Vai Trò Và Những Ứng Dụng

Nên dùng MongoDB trong trường hợp nào?

Tuy MongoDB khá hữu dụng nhưng không phải bạn có thể dùng nó trong mọi tình huống. Theo kinh nghiệm của Hosting Việt, bạn chỉ dùng MongoDB khi gặp các trường hợp sau: 

  • Khi website cần có tính năng thêm dữ liệu thường xuyên, bởi MongoDB có thể ghi với tốc độ cao và cực kỳ bảo mật. Điều này giúp trang web không bị downtime khi cập nhật dữ liệu.
  • Khi có hệ thống dữ liệu với dung lượng lớn và cần truy vấn nhanh.
  • Khi muốn tìm kiếm thông tin trong bộ nhớ nhanh chóng vì MongoDB có tốc độ tìm kiếm thông tin liên quan cực kỳ nhanh.
  • Mongo rất thích hợp để sử dụng trong trường hợp máy chủ chưa có hệ quản trị cơ sở dữ liệu.

Không nên dùng MongoDB trong trường hợp nào?

  • Nếu website cần nhiều ứng dụng giao dịch (transaction), điển hình như các trang web của ngân hàng thì không nên dùng MongoDB. Do chương trình này không hỗ trợ cơ chế transaction.
  • Những ứng dụng cần đến SQL.

Cách cài đặt MongoDB

Để cài đặt MongoDB trên Windows, bạn thực hiện các bước theo hướng dẫn sau:

  • Bước 1: Tải MongoDB từ trang chủ của phần mềm https://www.mongodb.org/downloads
  • Bước 2: Mở file vừa tải về và tiến hành chạy file cài đặt.
  • Bước 3: Sau khi chạy xong, vào thư mục chứa file tải về để khởi động MonggoDB.
  • Bước 4: Sử dụng IP 127.0.0.1:27017 để tạo kết nối đến mongoDB.

Một số câu lệnh cơ bản trên MongoDB 

Một số câu lệnh cơ bản của MongoDB như sau:

  • Tạo bảng: db.createCollection(‘students’);
  • Tạo bảng ghi: db.students.insert({name:’thanh’,gender:’male’});
  • Cập nhật: db.students.update({_id:1},{$set:{name:’thanh update’}});
  • Xóa bản ghi: db.students.remove({_id:1});
  • Tìm kiếm: db.students.find({name:’thanh’});
  • Tìm kiếm tất cả: db.students.find({});
  • mongodb la gi

 

  •  

    Với những thông tin về Mongodb là gì? Tìm hiểu về mongodb ( chia sẻ từ A - Z)! Hi vọng bạn sẽ có thể trang bị thêm thật nhiều kiến thức khác mà chúng tôi đã chia sẻ! Nếu thấy bài viết này hữu ích hãy subscribe để theo dõi những thông tin mới nhất từ Hosting Việt nhé. Chúc các bạn thành công!

Bài viết liên quan
 
 
2024/03/15

HostingViet ra mắt dịch vụ VPS mới: VPS Forex và VPS Website

VPS Forex VPS Forex là dịch vụ máy chủ riêng ảo dành riêng cho các Trader Forex với tốc độ mạng cao, chạy MetaTrader 4 v&a...
Tác giả:
Đọc thêm
 
 
2024/03/27

Hướng dẫn tạo VPS Google Cloud Platform miễn phí

Tìm hiểu VPS Google Cloud Platform là gì? VPS (Virtual Private Server) là máy chủ riêng ảo (server ảo) được tạo ra từ m&a...
Tác giả:
Đọc thêm
 
 
2024/03/25

VPS Hosting Free - Có nên dùng hay không?

VPS Hosting là gì? VPS Hosting (Virtual Private Server Hosting) là một máy chủ riêng ảo được phân chia ra từ một máy ...
Tác giả:
Đọc thêm
 
 
2024/02/16

XUÂN PHÚ QUÝ - LÌ XÌ NHƯ Ý: HOÀN TIỀN 100% VÀO TÀI KHOẢN

1. Thời gian diễn ra chương trình Chương trình ưu đãi “Xuân Phú Quý - Lì xì Như Ý” diễn ...
Tác giả:
Đọc thêm
 
 
2023/12/14

HostingViet tặng IPv6 miễn phí khi thuê VPS tốc độ cao

Thuê VPS tốc độ cao, tặng 6 IPv6 miễn phí Từ ngày 12/12/2023, HostingViet chính thức áp dụng chương trình tặng 6 IPv6 miễn ...
Tác giả:
Đọc thêm
 
 
2024/01/25

Thuê máy chủ ảo giá rẻ ở đâu chất lượng và uy tín?

Máy chủ ảo là gì? Máy chủ ảo (tên tiếng anh là Virtual Private Server - VPS) là một dạng máy chủ được tạo ra ...
Tác giả:
Đọc thêm