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

Thời gian đọc: 5 phút

MongoDB là một cơ sở dữ liệu NoSQL hướng đối tượng, đơn giản, linh động và có thể mở rộng.

Nó dựa trên mô hình lưu trữ NoSQL document. Các đối tượng dữ liệu được lưu trữ dưới dạng các tài liệu riêng biệt bên trong một collection – thay vì lưu trữ dữ liệu vào các cột và hàng của cơ sở dữ liệu quan hệ truyền thống.

Ngôn ngữ MongoDB là triển khai một kho lưu trữ dữ liệu cung cấp hiệu suất cao, tính sẵn sàng cao và tự động mở rộng

MongoDB sử dụng JSON hoặc BSON document để lưu trữ dữ liệu.

Các bản phân phối chung cho MongoDB hỗ trợ Windows, Linux, Mac OS X và Solaris.

 

Nên hay không nên sử dụng MongoDB?

 

Thuật ngữ và khái niệm

Nếu bạn không quen thuộc với MongoDB, thì đây là bảng các loại thuật ngữ

 

SQL Server MongoDB
Database Database
Table Collection
Index Index
Row Document
Column Field
Joining Linking & Embedding
Partition Sharding (Range Partition)
Replication ReplSet

 

Ưu điểm của MongoDB

  • Document oriented
  • Hiệu suất cao
  • Tính sẵn sàng cao – Nhân rộng
  • Khả năng mở rộng cao – Sharding
  • Năng động – Không có lược đồ cứng nhắc.
  • Linh hoạt – thêm / xóa trường có ít hoặc không ảnh hưởng đến ứng dụng
  • Dữ liệu không đồng nhất
  • Không joins
  • Phân phối được
  • Biểu diễn dữ liệu trong JSON hoặc BSON
  • Hỗ trợ không gian địa lý (Geospatial)
  • Tích hợp dễ dàng với BigData Hadoop
  • Ngôn ngữ truy vấn dựa trên tài liệu mạnh mẽ như SQL
  • Các bản phân phối cloud như AWS, Microsoft, RedHat, dotCloud và SoftLayer, v.v … Trên thực tế, MongoDB được xây dựng cho cloud. Kiến trúc mở rộng quy mô tự nhiên của nó, được kích hoạt bởi sharding, liên kết tốt với quy mô và sự nhanh nhẹn có được nhờ điện toán đám mây.

 

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

  • Một nhược điểm của NoSQL là hầu hết các giải pháp đều không tuân thủ ACID mạnh mẽ (Atomic, Consistency, Isolation, Durability) như các hệ thống RDBMS được thiết lập tốt hơn.
  • Giao dịch phức tạp
  • Không có chức năng hoặc thủ tục lưu trữ tồn tại nơi bạn có thể liên kết logic

Tốt cho:

  • Danh mục sản phẩm thương mại điện tử.
  • Blog và quản lý nội dung.
  • Phân tích thời gian thực và ghi nhật ký tốc độ cao, bộ nhớ đệm và khả năng mở rộng cao.
  • Quản lý cấu hình.
  • Duy trì dữ liệu dựa trên vị trí – Dữ liệu không gian địa lý.
  • Các trang web di động và mạng xã hội.
  • Phát triển yêu cầu dữ liệu.
  • Mục tiêu không chặt chẽ – thiết kế có thể thay đổi theo thời gian.

 

Không tốt cho:

  • Hệ thống giao dịch cao hoặc nơi mô hình dữ liệu được thiết kế trước.
  • Hệ thống kết hợp chặt chẽ

 

Facebook Comments
Ưu và nhược điểm của MongoDB
3.6 (71.11%) 9 votes

Bạn thích bài viết này chứ?
Đăng ký để nhận những bài viết thú vị như thế hàng tuần.

Đừng sợ thất bại, chỉ sợ việc dậm chân tại chỗ

TÌM VIỆC
Bình luận