MongoDB là gì? Tổng quan về MongoDB

(Ngày: 09/01/2020)
MongoDB là gì? Bài viết này sẽ giúp cho bạn có cái nhìn tổng quan hơn về MongoDB, cùng theo dõi ngay sau đây.

MongoDB là gì?

MongoDB là một cơ sở dữ liệu mã nguồn mở và là cơ sở dữ liệu NoSQL hàng đầu được hàng triệu người sử dụng.

Xem thêm: So sánh sự tương quan giữa MongoDB và SQL

MongoDB còn là một cơ sở dữ liệu đa nền tảng, hoạt động trên các khái niệm Collection và Document. Nó cung cấp hiệu suất cao, tính khả dụng cao và khả năng mở rộng dễ dàng.

Các thuật ngữ được sử dụng trong MongoDB

_id

Là trường hợp bắt buộc có trong mỗi document. Trường _id đại diện cho một giá trị duy nhất trong document MongoDB.

Collection

Là nhóm của nhiều document trong MongoDB. Collection có thể được hiểu là một bảng tương ứng trong cơ sở dữ liệu RDBMS.

Cursor

Đây là một con trỏ đến tập kết quả của một truy vấn. Máy khách có thể lặp qua một con trỏ để lấy kết quả.

Database

Nơi chứa các Collection, giống với cơ sở dữ liệu RDMS chúng chứa các bảng. Mỗi database có một tập tin riêng lưu trữ trên bộ nhớ vaatjlys. Một máy chủ MongoDB có thể chứa nhiều Database.

Document

Một bản ghi thuộc một collection thì được gọi là một Document. Các document lần lượt bao gồm các trường tên và giá trị.

Field

Là một cặp name – value trong một document. Một document có thể có, không hoặc nhiều trường. Các trường giống các cột ở cơ sở dữ liệu quan hệ.

JSON (JavaScript Object Notation)

Con người có thể đọc được ở định dạng văn bản thể hiện cho các dữ liệu có cấu trúc. Hiện tại JSON đang hỗ trở rất nhiều ngôn ngữ lập trình.

Index

Index là những cấu trúc dữ liệu đặc biệt, dùng để chứa một phần nhỏ của các tập dữ liệu một cách dễ dàng để quét. Index hỗ trợ độ phân tích một cách hiệu quả các truy vấn. Nếu không có chỉ mục, MongoDB sẽ phải quét tất cả các documents của collection để chọn ra những document phù hợp với câu truy vấn. Quá trình quét này là không hiệu quả và yêu cầu MongoDB xử lý một khối lượng lớn dữ liệu.

MongoDB hoạt động thế nào?

MongoDB hoạt động dưới một tiến trình ngầm service, luôn mở một cổng (27017) đẻ lắng nghe các yêu cầu truy vấn, thao tác từ các ứng dụng gửi vào sau đó mới tiến hành xử lý.

Mỗi một bản ghi của MongoDB được tự động gắn thêm một field có tên “_id”, thuộc kiểu dữ liệu Objectld mà nó quy định để xác định được tính duy nhất của bản ghi này so với bản ghi khác, cũng như phục vụ thao tác tìm kiếm và truy vấn thông tin về sau. Trường dữ liệu “_id” luôn được tự động đánh index (chỉ mục) để tốc độ truy vấn thông tin đạt hiệu suất cao nhất.

Mỗi khi có một truy vấn dữ liệu, bản ghi được cache (ghi đệm) lên bộ nhớ Ram, để phục vụ lượt truy vấn sau diễn ra nhanh hơn mà không cần phải đọc từ ổ cứng.

Khi có yêu cầu thêm, sửa hay xóa bản ghi, để đảm bảo hiệu suất của ứng dụng mặc định MongoDB sẽ chưa cập nhật xuống ổ cứng ngay, mà sau 60 giây, MongoDB mới thực hiện ghi toàn bộ dữ liệu thay đổi từ RAM xuống ổ cứng.

Sử dụng MongoDB khi nào?

Sử dụng MongoDB trong những trường hợp sau:

Nếu website của bạn có tính chất INSERT cao. Vì mặc định MongoDB có sẵn cơ chế ghi với tốc độ cao và an toàn. Website của bạn ở dạng thời gian thực nhiều, tức là nhiều người thao tác với ứng dụng. Nếu trong quá trình load bị lỗi tại một điểm nào đó thì sẽ bỏ qua phần đó nên sẽ an toàn.

Website của bạn có nhiều dữ liệu.

Máy chủ không có hệ quản trị CSDL.

viblo.asia