MongoDB 4.0

MongoDB là cơ sở dữ liệu hướng tài liệu, lưu trữ dữ liệu trong các document dạng JSON với schema động rất linh hoạt, sử dụng cơ sở dữ liệu này để xây dựng các ứng dụng không có quá nhiều mối quan hệ giữa các document.

Nhà xuất bản/tổ chức MongoDB Inc.

Chức năng của phần mềm

MongoDB hoạt động dưới dạng một hệ thống cơ sở dữ liệu phi quan hệ, lưu trữ dữ liệu dưới dạng tài liệu (document) JSON.

  • Cơ sở dữ liệu MongoDB lưu trữ tài liệu trong các collections, tương tự như bảng trong cơ sở dữ liệu quan hệ. Mỗi collection có thể chứa nhiều tài liệu (documents) có cấu trúc dữ liệu tùy ý.
  • Bây giờ bên trong collection sẽ có tài liệu (documents). Các tài liệu này sẽ chứa dữ liệu mà bạn muốn lưu trữ trong MongoDB database. Mỗi document có thể chứa nhiều fields dữ liệu, mỗi field được định danh bằng tên và có giá trị tương ứng.
  • Các tài liệu (documents) được tạo bằng cách sử dụng các field. Các field là các key-value pair trong tài liệu, nó giống như các cột trong cơ sở dữ liệu quan hệ. Giá trị của fields có thể thuộc bất kỳ loại dữ liệu BSON nào như double, string, boolean,…
  • MongoDB hỗ trợ việc tạo index cho các field dữ liệu trong collection, giúp tăng tốc độ truy vấn. Chúng còn hỗ trợ sao chép dữ liệu giữa các node trong một cluster giúp đảm bảo tính khả dụng và độ tin cậy của hệ thống.
  • MongoDB phân tán dữ liệu trên nhiều node, giúp tăng khả năng mở rộng của hệ thống, đồng thời chúng còn hỗ trợ tính toán phân tán bằng cách sử dụng MapReduce giúp xử lý dữ liệu lớn một cách hiệu quả.

Khi sử dụng MongoDB, bạn có thể sử dụng API và driver của MongoDB để truy cập và thao tác với dữ liệu trong hệ thống cơ sở dữ liệu này.

Mongo có các tính năng:

Schema-less Database

Trong MongoDB, bạn được phép lưu trữ dữ liệu dưới dạng tài liệu (document) mà không cần yêu cầu sự định nghĩa trước về cấu trúc của chúng, giống như trong hệ thống quản lý cơ sở dữ liệu phi quan hệ (NoSQL).

Bạn có thể lưu trữ các tài liệu với các fields và giá trị (values) khác nhau mà không cần tuân theo một cấu trúc cố định. Do đó, việc thêm, xóa hoặc sửa đổi các fields, giá trị của tài liệu được thực hiện một cách dễ dàng mà không cần phải thực hiện các bước định nghĩa cấu trúc cơ sở dữ liệu trước.

Tính năng schema-less giúp tăng tính linh hoạt và giảm thời gian phát triển các ứng dụng, đặc biệt là đối với các ứng dụng có tính chất thay đổi dữ liệu thường xuyên hoặc không có một cấu trúc dữ liệu cố định.

Tuy nhiên, tính năng này sẽ dẫn đến khó khăn trong việc truy vấn và xử lý dữ liệu nếu không có sự quản lý và thiết kế cẩn thận.

Document Oriented

MongoDB được thiết kế để lưu trữ dữ liệu dưới dạng tài liệu (document) thay vì các bảng (table) như trong hệ quản trị cơ sở dữ liệu quan hệ (RDBMS). Mỗi tài liệu trong MongoDB được lưu trữ dưới một bản ghi độc lập bao gồm các fields (key-value pair) và giá trị tương ứng.

Indexing

MongoDB tạo ra index để tăng tốc độ truy vấn và tìm kiếm dữ liệu trong cơ sở dữ liệu. Khi tạo một index trên một field hoặc tập hợp fields, MongoDB sẽ tạo ra một cấu trúc dữ liệu tương ứng, sắp xếp và lưu trữ các giá trị của fields hoặc tập hợp các fields đó theo một thứ tự nhất định.

Khi truy vấn dữ liệu, MongoDB sử dụng các Index để nhanh chóng tìm kiếm và trả về các tài liệu phù hợp với tiêu chí truy vấn. Việc sử dụng Index giúp giảm thời gian truy vấn tìm kiếm dữ liệu, đồng thời giúp tăng hiệu suất và khả năng mở rộng của MongoDB.

Có nhiều loại Index khác nhau trong MongoDB, gồm:

  • Single Field Index: Index trên một Field duy nhất.
  • Compound Index: cho phép đánh dấu Index cho nhiều Field.
  • Multikey Index: Index trên các mảng dữ liệu.
  • Text Index: Index dành riêng cho các tài liệu chứa văn bản.

Việc thiết lập các Index phù hợp và tối ưu là một yếu tố quan trọng trong việc thiết kế và tối ưu hóa cơ sở dữ liệu MongoDB.

Replication

Replication trong MongoDB là quá trình đồng bộ dữ liệu giữa các node trong một cluster MongoDB. Một cluster MongoDB sẽ gồm một node primary và nhiều node secondary.

Node primary là node chịu trách nhiệm ghi dữ liệu mới vào cơ sở dữ liệu, còn các node secondary chỉ đọc dữ liệu. Khi một node primary bị lỗi hoặc ngừng hoạt động thì một node secondary sẽ được chuyển đổi thành node primary để tiếp tục đảm nhận việc ghi dữ liệu.

Khi một node primary ghi dữ liệu mới vào cơ sở dữ liệu, nó sẽ đồng bộ dữ liệu mới này với các node secondary bằng cách sử dụng thủ tục replica set. Replica set là một tập hợp các node trong cluster gồm có một node primary và các node secondary, cùng với quy tắc đảm bảo sự sẵn sàng, độ tin cậy và khả năng phục hồi.

Với tính năng Replication, MongoDB có khả năng tự động sao lưu dữ liệu, đảm bảo độ tin cậy và khả năng phục hồi của cơ sở dữ liệu, đồng thời giúp tăng khả năng mở rộng của hệ thống.

Sao lưu và phục hồi

MongoDB cung cấp tính năng sao lưu và phục hồi dữ liệu linh hoạt, cho phép lưu trữ các bản sao của dữ liệu và phục hồi dữ liệu trong trường hợp xảy ra sự cố.

Bảo mật

MongoDB hỗ trợ nhiều tính năng bảo mật, bao gồm chứng thực người dùng (user authentication), mã hóa dữ liệu (data encryption) và kiểm soát quyền truy cập (access control).

Chi tiết sản phẩm

MongoDB 4.0

Ngày phát hành Phiên bản mới nhất (4.0)

Hình thức bảo trì

Ngôn ngữ hỗ trợ Tiếng Anh

Mô tả chi tiết

MongoDB là cơ sở dữ liệu hướng tài liệu, lưu trữ dữ liệu trong các document dạng JSON với schema động rất linh hoạt, sử dụng cơ sở dữ liệu này để xây dựng các ứng dụng không có quá nhiều mối quan hệ giữa các document.