MongoDB là gì? Khái niệm về MongoDB
Mongodb được biết đến làm một cơ sở dữ liệu đang được rất nhiều lập trình viên dùng và tìm hiểu nhất hiện nay. Chính vì thế trong bài viết này WIKI Mắt Bão sẽ giúp bạn hiểu và có cái nhìn tổng thể về Mongodb. Cùng chúng tôi xem ngay bài viết này nhé!
Mongodb là một dạng database tài liệu hay còn được gọi là NoSQL database. Cho nên thường Mongodb thường sẽ tránh đi các dạng cấu trúc table-based của relational database để có thể phù hợp được với JSON trong Schema.
Đồng thời Mongodb được sử dụng để lưu trữ mọi dữ liệu dưới dạng Document JSON vì thế mỗi một collection thường sẽ có kích thước và các tài liệu khác nhau. Bởi vì mọi data đã được lưu sẵn trong phần document dưới dạng JSON nên việc truy xuất dữ liệu sẽ rất nhanh.
Bạn có thể xem thêm về MongoDB
MongoDB lần đầu xuất hiện bởi MongoDB Inc. Vào 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 (Nền tảng dưới dạng Dịch vụ) tương tự như Windows Azure và Google App Engine. Sau đó nó đã được chuyển thành nguồn mở từ năm 2009.
Các feature của MongoDB bao gồm:
Các truy vấn đặc biệt: field hỗ trợ search thông thường, và cùng các phép regular expression searches, và range queries.
Lập chỉ mục: tất cả field trong BSON document điều sẽ được lập chỉ mục
Nhân bản (Replication) là phiên bả giống nhau với phên bản đang sử dụng. Với nhu cầu sử dụng và lưu trữ nhiều vì thế đòi hỏi cơ sở dữ liệu không bị ảnh hưởng trước những sự cố. Chính vì thế họ mới nghĩ ra việc sao chép dữ liệu về một nơi khác để lưu trữ.
có chức năng trả kết quả sao khi các Aggregation operation xử lý xong. Các phép toán tập hợp nhóm các giá trị từ nhiều Document lại với nhau, và có thể thực hiện nhiều phép toán đa dạng trên dữ liệu đã được nhóm đó để trả về một kết quả duy nhất. Trong SQL, count(*) và GROUP BY là tương đương với Aggregation trong MongoDB.
Tính năng của MongoDB là gì?
MongoDB có các tính năng cơ bản như sau:
- Truy vấn ad hoc
- Nhân rộng
- Cân bằng tải
- Lưu trữ tệp
- Tập hợp
- Thực thi Javascript phía máy chủ
- Giới hạn kích thước collection
- Giao dịch
Truy vấn ad hoc
Truy vấn ad hoc là một trong những tính năng tốt nhất của chương trình. Nó hỗ trợ các trường, truy vấn phạm vi và tìm kiếm các biểu thức để trả về các trường tài liệu cụ thể bao gồm các hàm JavaScript do người dùng xác định hoặc các truy vấn này được cấu hình và trả về mẫu kết quả ngẫu nhiên có kích thước nhất định. Bên cạnh đó, các trường trong MongoDB có thể được dùng để lập các chỉ mục chính và các chỉ mục phụ.
Nhân rộng
Đây là tính năng mà chương trình cung cấp Replica set. Nó bao gồm hai hoặc nhiều bản sao của dữ liệu. Trong đó mỗi bản sao có thể đóng vai trò chính và phụ.
- Trong quá trình nhân rộng, tất cả các dữ liệu ghi và đọc thực hiện trên bản sao chính.
- Bản sao thứ cấp sử dụng bản sao tích hợp để duy trì bản sao dữ liệu của bản chính.
Trong trường hợp một bản sao chính thất bại, Replica set chọn ra một bản sao thứ cấp để trở thành bản sao chính tiếp theo. Replica thứ cấp có thể tùy chọn phục vụ các hoạt động nhưng dữ liệu cuối cùng chỉ nhất quán theo mặc định.
Cân bằng tải
Bằng cách sử dụng Sharding, MongoDB chia tỷ lệ theo chiều ngang để người dùng chọn một Shard key. Xác định các dữ liệu được phân phối trong collection. Nhìn chung, dữ liệu được chia thành các phạm vi và được phân phối đồng đều dựa trên các Shard key. Nó chạy trên nhiều máy chủ, cân bằng tải hoặc sao chép dữ liệu để giữ hệ thống luôn hoạt động trong trường hợp có lỗi về phần cứng.
Lưu trữ tệp
Với tính năng lưu trữ tệp, MongoDB được sử dụng như một hệ thống tệp (GridFS) giúp cân bằng tải và sao chép dữ liệu trên nhiều máy tính để lưu trữ tệp. Trong đó, GridFS chia một tệp ra thành các phần hoặc các đoạn và lưu trữ thành những tài liệu riêng biệt. Bạn có thể truy cập GridFS bằng tiện ích Mongofiles hoặc plugin cho Nginx và Lighttpd.
Tập hợp
Ở tính năng tập hợp, chương trình này cung cấp ba cách chính để thực hiện tập hợp là Aggregation Pipeline, chức năng Mapreduce và Single-purpose Aggregation. Trong đó, theo tài liệu của MongoDB thì Aggregation Pipeline được công nhận là cung cấp hiệu suất tốt hơn hầu hết các hoạt động tổng hợp.
Thực thi Javascript phía máy chủ
JavaScript thường được thực thi trong các truy vấn, các hàm tổng hợp và được gửi trực tiếp đến cơ sở dữ liệu.
Bạn có thể tham khảo thêm JavaScript trong bài:
Giới hạn kích thước collection
MongoDB hỗ trợ collection có kích thước cố định được gọi là collection giới hạn. Nó có kích cỡ cố định theo sau thứ tự chèn làm tăng hiệu suất các hoạt động khác có liên quan đến dữ liệu. Khi dữ liệu vượt quá mức giới hạn thì các tài liệu cũ sẽ bị xóa mà không cần dùng bất cứ dòng lệnh nào.
Giao dịch
MongoDB còn có tính năng hỗ trợ cho các giao dịch ACID đa tài liệu, bắt đầu có hiệu dụng từ phiên bản 4.0 vào tháng 6 năm 2018.
Khi nào nên dùng MongoDB?
Mặc dù rất hữu dụng nhưng tùy theo tình huống khác nhau mà bạn sẽ cân nhắc có nên sử dụng chương trình này hay không, đó là trường hợp:
- Khi trang web của bạn có tính chất Insert bởi MongoDB có thể ghi với tốc độ cao và bảo mật an toàn.
- Một số hệ thống Big Data có yêu cầu truy vấn nhanh vì chương trình này có hiệu suất truy vấn dữ liệu khá cao.
- Khi bạn muốn tìm kiếm thông tin trong bộ nhớ “tràn ngập” những dữ liệu khác nhau, MongoDB có khả năng tìm kiếm thông tin liên quan nhanh.
- Khi máy chủ không có hệ quản trị cơ sở dữ liệu thì đây là chương trình phù hợp nên được sử dụng.
Vì thế, trước khi dùng MongoDB, bạn cần phải cân nhắc kỹ lưỡng tính năng của nó có đáp ứng được trường hợp của bạn hay không để việc sử dụng không gặp khó khăn và đạt hiệu quả tốt nhất.
Mongodb nên được sử dụng trong các trường hợp như sau: Thực hiện quản lý và truyền tải content: Quản lý product của content đa dạng hơn, nó chỉ có trong một kho lưu trữ data cho phép thay đổi cũng như phản hồi nhanh chóng hơn, mà nó sẽ không chịu thêm phức tạp thêm từ hệ thống content khác.
Sử dụng Mongodb sao cho hợp lý?
Các cấu trúc Mobile và Social: Mongodb thường cung cấp một platform có sẵn, phản xạ nhanh và dễ mở rộng cho phép nhiều khả năng đột phá hơn, phân tích được real-time và hỗ trợ toàn cầu. Quản lý các data khách hàng: Mongodb có thể tận dụng khả năng query nhanh chóng cho phân tích real-time trên cơ sở dữ liệu người dùng cực lớn. Với các mô hình data phức tạp, thì bằng các scheme linh hoạt, tự động sharding để mở rộng được chiều ngang.
LIÊN HỆ
Hotline: 0988 525 515 (Mr Huyen)
Email: minhkhangnetwork@gmail.com
Fanpage: Minh Khang Network
Facebook cá nhân: https://fb.com/tranhuyendn85
Địa chỉ: K44/54/12 Đà Sơn, Quận Liên Chiểu, Tp Đà Nẵng
Website: https://minhkhangnetwork.com
Bài viết liên quan
Bí quyết lựa chọn tên miền như thế nào ?
Tóm tắt bài viết Bí quyết lựa chọn tên miền như thế nào Minh Khang [...]
Th2
3 chiến lược nhắm mục tiêu quảng cáo Google. Cách tăng hiệu quả quảng cáo Google AdWords.
Tóm tắt bài viết Có nhiều chiến lược nhắm mục tiêu quảng cáo Google mà [...]
Th10
Google Responsive Search Ads là gì? Cách tạo Google Responsive Search Ads. Cách tối ưu hiệu quả Google Responsive Search Ads.
Tóm tắt bài viết Google Responsive Search Ads là gì? Google Responsive Search Ads (RSA) [...]
Th10
Cách tạo link bio trên TikTok đơn giản, ấn tượng.
Tóm tắt bài viết Cách tạo link bio trên TikTok đơn giản, ấn tượng Minh [...]
Th10
Link bio là gì? Việc tạo link bio trên Canva mang lại nhiều lợi ích cho người dùng như thế nào?
Tóm tắt bài viết Link bio là gì? Link bio là một liên kết rút [...]
Th10
Từ khóa và thương hiệu là hai khái niệm quan trọng trong lĩnh vực marketing và quảng cáo trực tuyến.
Tóm tắt bài viết Từ khóa và thương hiệu là hai khái niệm quan trọng [...]
Th10