Kiến thức tổng quan về MongoDB cho người mới

Trong thời gian gần đây, MongoDB nổi lên là database với nhiều tính năng vượt trội, được nhiều lập trình viên và nhà phát triển lựa chọn tin dùng. Vì vậy để hiểu thêm về MongoDB thì hãy cùng mình tìm hiểu thông qua bài viết này nhé!

MongoDB là gì?

 MongoDB là một cơ sở dữ liệu hướng đối tượng có mã nguồn mở được thiết kế để lưu trữ một khối lượng dữ liệu khổng lồ. Khác với với MySQl thì MongoDB là NoSQL database vì vậy nó sẽ chạy theo mô hình database – collection – document với định dạng JSON với cấu trúc linh hoạt hơn thay vì database – table – row với số dòng – cột nhất định.

Cơ sở dữ liệu MongoDB phát hành lần đầu vào tháng 2 năm 2009 và được quản lý bởi MongoDB.Inc theo Server Side Public License(SSPL). Nó cũng cấp trình điều khiển cho hầu hết các ngôn ngữ phổ biến như C, C++, C#, .Net, Java, Go. Python, Node.js...Chính vì vậy bạn có thể dễ dàng tạo một ứng dụng bằng bất kỳ ngôn ngữ nào và hiện nay các ông lớn đều đang sử dụng MongoDB như: Facebook, Nokia, eBay, Google,… để lưu trữ dữ liệu.

Tính năng của MongoDB:

Ở MongoDB đem đến nhiều tính năng mới lại hơn so với những cơ sở dữ liệu khác, cụ thể như:

  • Đầu tiền ta cần kể đến đây là cơ sở dữ liệu ít lược đồ - Document Database, đơn giản hơn, nó có thể chứa chứa nhiều tài liệu và những tài liệu này có thể bao gồm số lượng trường, nội dung và kích thước khác nhau.
  • MongoDB cung cấp khả năng mở rộng theo chiều ngang với sự trợ giúp của sharding.
  • MongoDB cung cấp tính khả dụng và dự phòng cao với sự trợ giúp của nhân bản, nó tạo ra nhiều bản sao của dữ liệu và gửi các bản sao này đến một máy chủ khác để nếu một máy chủ bị lỗi, thì dữ liệu sẽ được lấy từ một máy chủ khác.
  • Các Aggregation operation xử lý các bản ghi dữ liệu và trả về kết quả đã được tính toán. Nó cho phép thực hiện các hoạt động trên dữ liệu nhóm và nhận được một kết quả duy nhất.
  • Bất kì trường nào trong BSON document cũng có thể được index
  • Dữ liệu được lưu trên RAM, giúp truy xuất dữ liệu nhanh hơn.
  • Hiệu suất của MongoDB rất cao và dữ liệu an toàn hơn so với cơ sở dữ liệu khác do các tính năng của nó như khả năng mở rộng, lập chỉ mục, sao chép, v.v.
  • Hỗ trợ search bằng field, các phép search thông thường, regular expression searches, và range queries.
  • Để thấy rõ hơn điểm khác biệt của MongoDB ta hãy thử so sánh chúng:

    MongoDBRDBMS
    Nó là một cơ sở dữ liệu không quan hệ và hướng tài liệu.Nó là một cơ sở dữ liệu quan hệ.
    Phù hợp để lưu trữ dữ liệu phân cấp.Nó không thích hợp để lưu trữ dữ liệu phân cấp.
    Có lược đồ động.Lược đồ được xác định sẵn.
    Áp dụng định lý CAP (Tính nhất quán, Tính khả dụng và Dung sai phân vùng).Sử dụng thuộc tính ACID (Tính nguyên tử, Tính nhất quán, Tính cô lập và Độ bền).


    Tuy nhiên, MongoDB vẫn tồn tại một số nhược điểm như:
  • Đòi hỏi bộ nhớ cao để lưu trữ dữ liệu.
  • Việc lồng dữ liệu trong BSON cũng bị hạn chế, bạn không được phép lồng dữ liệu nhiều hơn 100 cấp độ.

  • Như vậy bên trên là những thông tin sơ lược về MongoDB, bạn có thể đọc và tham khảo.
    Xem cách cài đặt MongoDB tại: Hướng dẫn cài đặt MongoDB trên Mac và Linux

    Công nghệ được nhắc đến trong bài viết này

    Tên Công NghệPhiên BảnPhát Hành
    MongoDB---
    4 phút đọc·1,498 lượt xem·