Download app

Quét mã QR để tải về ứng dụng

QR code

MongoDB là gì?

14/06/2021, 01:53 pm
1,256

MongoDB là cơ sở dữ liệu phi quan hệ đang được nhiều người dùng tìm hiểu hiện nay. Bởi vậy, trong bài viết này Nhân Hòa sẽ giúp bạn có cái nhìn tổng quan hơn về MongoDB. Hãy theo dõi bài viết dưới đây để hiểu MongoDB là gì cũng như các tính năng nổi bật của nó.

1. MongoDB là gì?

MongoDB là một database hướng tài liệu (document), một dạng NoSQL database. Vì thế, MongoDB sẽ tránh cấu trúc table-based của relational database để thích ứng với các tài liệu như JSON có một schema rất linh hoạt gọi là BSON. MongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên mỗi một collection sẽ các các kích cỡ và các document khác nhau. Các dữ liệu được lưu trữ trong document kiểu JSON nên truy vấn sẽ rất nhanh.

MongoDB là gì?

MongoDB lần đầu ra đời bởi MongoDB Inc., tại thời điểm đó là thế hệ 10, vào tháng Mười năm 2007, nó là một phần của sản phẩm PaaS (Platform as a Service) tương tự như Windows Azure và Google App Engine. Sau đó nó đã được chuyển thành nguồn mở từ năm 2009.

>>> Xem thêm: MySQL là gì? Tổng quan từ A - Z thông tin MySQL 

2. NoSQL là gì?

NoSQL là 1 dạng CSDL mã nguồn mở và được viết tắt bởi: Non-Relational SQL hay có nơi thường gọi là Not-Only SQL. NoSQL được phát triển trên Javascript Framework với kiểu dữ liệu là JSON và dạng dữ liệu theo kiểu key và value.

NoSQL ra đời như là 1 mảnh vá cho những khuyết điểm và thiếu xót cũng như hạn chế của mô hình dữ liệu quan hệ RDBMS (Relational Database Management System - Hệ quản trị cơ sở dữ liệu quan hệ) về tốc độ, tính năng, khả năng mở rộng,... Với NoSQL bạn có thể mở rộng dữ liệu mà không lo tới những việc như tạo khóa ngoại, khóa chính, kiểm tra ràng buộc .v.v ...

NoSQL là gì?

NoSQL bỏ qua tính toàn vẹn của dữ liệu và transaction để đổi lấy hiệu suất nhanh và khả năng mở rộng. NoSQL được sử dụng ở rất nhiều công ty, tập đoàn lớn, ví dụ như FaceBook sử dụng Cassandra do FaceBook phát triển, Google phát triển và sử dụng BigTable,...

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

- Về ưu điểm

+ Đầu tiên có thể nhắc đến là tính linh hoạt lưu trữ dữ liệu theo các kích cỡ khác nhau, dữ liệu dưới dạng hướng tài liệu JSON nên bạn có thể chèn vào thoải mái bất cứ thông tin gì bạn muốn

+ Khác với RDBMS, dữ liệu trong đây không có sự ràng buộc và không có yêu cầu tuân theo khuôn khổ nhất định, điều này giúp bạn tiết kiệm thời gian cho việc kiểm tra sự thỏa mãn về cấu trúc nếu muốn chèn, xóa, cập nhật hay thay đổi các dữ liệu trong bảng

+ MongoDB dễ dàng mở rộng hệ thống bằng cách thêm node vào cluster – cụm các node chứa dữ liệu giao tiếp với nhau

+ Ưu điểm thứ tư là tốc độ truy vấn nhanh hơn nhiều so với hệ quản trị cơ sở dữ liệu quan hệ RDBMS do dữ liệu truy vấn được cached lên bộ nhớ RAM để lượt truy vấn sau diễn ra nhanh hơn mà không cần đọc từ ổ cứng

+ Cũng là một ưu điểm về hiệu suất truy vấn của MongoDB, trường dữ liệu “_id” luôn được tự động đánh chỉ mục để đạt hiệu suất cao nhất

 

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

- Về nhược điểm

+ Một ưu điểm của MongoDB cũng chính là nhược điểm của nó. MongoDB không có các tính chất ràng buộc như trong RDBMS nên khi thao tác với mongoDB thì phải hết sức cẩn thận

+ Tốn bộ nhớ do dữ liệu lưu dưới dạng key-value, các collection chỉ khác về value do đó key sẽ bị lặp lại. Không hỗ trợ join nên dễ bị dư thừa dữ liệu

+ Khi insert/update/remove bản ghi, MongoDB sẽ chưa cập nhật ngay xuống ổ cứng, 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 điều này sẽ là nhược điểm vì sẽ có nguy cơ bị mất dữ liệu khi xảy ra các tình huống như mất điện…

>>> Xem thêm: MariaDB là gì? Ưu điểm nào của MariaDB vượt trội hơn so với MySQL?

4. Các tính năng nổi bật của MongoDB

Mongodb được sử dụng rất nhiều và được đánh giá vô cùng cao nhờ sở hữu nhiều đặc điểm nổi trội là: 

- MongoDB chính là một database hướng tài liệu, nên khi đó mọi dữ liệu sẽ được lưu trữ trong document theo kiểu JSON thay vì lưu theo dạng bảng như CSDL quan hệ nên việc truy cập vấn sẽ nhanh chóng hơn

- Với các CSDL quan hệ thì chúng ta sẽ có khái niệm bảng, khi đó các cơ sở dữ liệu quan hệ sẽ sử dụng các bảng để có thể lưu trữ dữ liệu, còn với Mongodb thì bạn cần phải sử dụng khái niệm collection thay cho bảng

- Mongodb chính là một hệ quản trị cơ sở dữ liệu mà trong đó mã nguồn mở là CSDL thường thuộc NoSQL và được hàng triệu người sử dụng

Các tính năng nổi bật của MongoDB

- So với RDBMS thì trong MongoDB collection thường sẽ ứng với table, còn document sẽ tương ứng với row. MongoDB sẽ sử dụng các document để thay cho row trong RDBMS

- Với các collection có trong MongoDB thường sẽ được cấu trúc rất linh hoạt nên nó cho phép các dữ liệu được lưu trữ mà không cần phải tuân theo bất kỳ một cấu trúc nhất định nào

- Các thông tin có liên quan đều sẽ được lưu trữ cùng với nhau để người dùng có thể truy cập truy vấn nhanh hơn thông qua các ngôn ngữ truy vấn MongoDB

>>> Xem thêm: Tối Ưu Database MySQL trên VPS Linux 

5. Sự khác nhau giữa MongoDB và RDBMS

Chúng ta có thể so sánh trực tiếp NoSQL MongoDB với RDBMS và so sánh các thuật ngữ khác nhau trong hai hệ thống:

RDBMS table là một MongoDB collection, column là field, tuple/ row là document và table join là document được nhúng. Schema điển hình của một cơ sở dữ liệu quan hệ cho thấy số lượng các bảng và mối quan hệ giữa các bảng nhưng MongoDB không tuân theo khái niệm về mối quan hệ.

Hãy xem 9 sự so sánh khác nhau dưới đây để hiểu chính xác cơ sở dữ liệu NoSQL chuyên nghiệp như MongoDB khác với RDBMS như thế nào.

MongoDB

RDBMS

Định hướng tài liệu và CSDL phi quan hệ

CSDL quan hệ

Dựa trên tài liệu

Dựa trên hàng

Dựa trên đường

Dựa trên cột

Dựa trên Collection và cặp Key-Value

Dựa trên bảng

Cung cấp Javascript Client cho truy vấn

Không cung cấp Javascript cho truy vấn

Tương đối dễ thiết lập

Tương đối không dễ thiết lập

Nó không bị ảnh hưởng bởi SQL injection

Nó khá dễ bị tấn công bởi SQL injection

Lý tưởng cho việc lưu trữ dữ liệu phân cấp

Không tốt cho việc lưu trữ dữ liệu phân cấp

Có Dynamic Schema

Chứa Schema được xác định trước 

Nhanh gấp 100 lần 

Tăng quy mô theo chiều dọc RAM

Nó có thể mở rộng theo chiều ngang thông qua Sharding

Tăng quy mô theo chiều dọc RAM

6. Kết luận

Trên đây là những thông tin chi tiết về chương trình cơ sở dữ liệu MongoDB. Chúng tôi hy vọng bạn có cái nhìn tổng quan về MongoDB. Đồng thời có thể ứng dụng hiệu quả vào máy tính trong những trường hợp cần thiết. Nếu muốn cài đặt MongoDB, hãy liên hệ với nhà cung cấp dịch vụ cho thuê máy chủ của bạn để được hỗ trợ tránh làm mất mát dữ liệu cá nhân/công ty. 

Bài viết liên quan
08/05/2024
Tên miền là tên của trang web trên internet, giúp người dùng dễ dàng truy cập và ghi nhớ. Tầm quan trọng của tên miền đối...
07/05/2024
Thuê VPS Android là một lựa chọn phổ biến với các game thủ thường xuyên chơi trên máy tính và muốn treo game một cách hiệu...
11/04/2024
Với mong muốn hỗ trợ quá trình học tập, phát triển và mở ra cơ hội việc làm cho các bạn sinh viên, ngày 09/04/2024 vừa...
Chuyên nghiệp và tận tình
Hỗ Trợ Trực Tuyến 24/7
Đội ngũ chuyên gia giúp xử lý vấn đề kỹ thuật để website của bạn luôn hoạt động tốt và chạy nhanh. Bất kỳ lúc nào.
Kết nối với Nhân Hoà

Map Tầng 4 - Toà nhà 97 - 99 Láng Hạ, Quận Đống Đa, Thành Phố Hà Nội

Phone Điện thoại: (024) 7308 6680

Mail Mail: sales@nhanhoa.com

Hotline Hotline: 091 140 8966

Map 927/1 CMT8, Phường 7, Quận Tân Bình, Thành phố Hồ Chí Minh

Phone Điện thoại: (028) 7308 6680

Mail Mail: hcmsales@nhanhoa.com

Hotline Hotline: 091 285 1416

Map Tầng 2 Tòa nhà Sài Gòn Sky, ngõ 26 Nguyễn Thái Học, phường Đội Cung, TP. Vinh, Nghệ An

Phone Điện thoại: (024) 7308 6680 - nhánh 6

Mail Mail: contact@nhanhoa.com

Hotline Hotline : 091 522 1384

Kết nối với Nhân Hoà
Gọi lại cho tôi
Gọi miễn phí
Gọi miễn phí
×
Thông báo

Đăng nhập thành công!