• Trang Chủ
  • Top Source
  • Source miễn phí
  • Source Tham Khảo
  • Kiến Thức
  • Thư Viện
  • Trang Chủ
  • Top Source
  • Source miễn phí
  • Source Tham Khảo
  • Kiến Thức
  • Thư Viện

Tổng quan về cơ sở dữ liệu mongoDB

ContentATP Bởi ContentATP
17/10/2020
Trong Kiến Thức
0
29322fc4 A1b0 4416 9dce 0d4b34843cf6 2

Bài đăng này mình sẽ giúp các bạn có cái nhìn tổng quan về cơ sở dữ liệu MongoDB. Con người không lạ gì với cơ sở dữ liệu quan hệ, còn với cơ sở dữ liệu phi quan hệ thì sao? MEAN stack (MongoDB, Express, AngularJS, NodeJS) đang dần thay thế cho LAMP stack (Linux, Apache, MySQL, PHP/Python).

Mục lục

  • Cơ sở dữ liệu MongoDB là gì?
  • NoSQL là gì?
  • Một số câu lệnh cơ bản trên MongoDB
    • Ưu điểm của cơ sở dữ liệu mongoDB.
    • Nhược điểm của cơ sở dữ liệu mongoDB.
  • Chức năng của MongoDB là gì?
    • Truy vấn ad hoc
    • Nhân rộng
    • Cân bằng tải
    • Lưu giữ file
  • Khi nào nên dùng MongoDB

Cơ sở dữ liệu MongoDB là gì?

Cơ sở dữ liệu mongoDB
Cơ sở dữ liệu mongoDB
  • MongoDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở, là CSDL thuộc NoSql và được hàng triệu người tiêu dùng.
  • MongoDB là một database hướng tài liệu (document), các dữ liệu được lưu giữ trong document kiểu JSON thay vì dạng bảng như CSDL quan hệ nên truy vấn sẽ rất nhanh.
  • Với CSDL quan hệ con người có khái niệm bảng, các cơ sở dữ liệu quan hệ (như MySQL hay SQL Server…) dùng các bảng để lưu dữ liệu thì với MongoDB chúng ta sẽ sử dụng định nghĩa là collection thay vì bảng
  • So với RDBMS thì trong MongoDB collection ứng với table, còn document sẽ ứng với row , MongoDB sẽ sử dụng các document thay cho row trong RDBMS.
  • Các collection trong MongoDB được cấu trúc rất linh động, cho phép các dữ liệu lưu giữ không cần tuân theo một cấu trúc chắc chắn.

>>>Xem thêm: Thụât toán tìm kiếm nhị phân (Binary Search)

NoSQL là gì?

NoSQL và MongoDB có mối quan hệ với nhau

Trong định nghĩa của MongoDB có nói đến NoSQL, vậy NoSQL là gì? NoSQL (Non-Relational SQL) là dạng cơ sở dữ liệu mã nguồn mở được ra đời như một mô hình tiến bộ hơn về tốc độ, công dụng,… So sánh với hệ quản trị cơ sở dữ liệu quan hệ RDBMS. NoSQL có kiểu dữ liệu JSON. Đây là dạng dữ liệu kiểu key và value cộng với hiệu năng nhanh và khả năng mở rộng không bị ràng buộc bởi việc tạo khóa ngoại, khóa chủ đạo,… Có thể được ưa chuộng và dùng cực kì phổ biến.

Một số câu lệnh cơ bản trên MongoDB

CSDL MySQL MongoDB
Tạo csdl CREATE DATABASE test; use test;
Tạo bảng CREATE TABLE students (ten_cot – kieu_du_lieu); db.createCollection(‘students’);
Tạo bản ghi INSERT INTO studetns (‘name’, ‘gender’) VALUES(‘thanh’, ‘male’); db.students.insert( name:’thanh’, gender: ‘male’);
Cập nhật UPDATE students SET name = ‘thanh update’ WHERE id = 1; db.students.update( _id: 1 ,$set: name: ‘thanh update’ );
Xóa bản ghi DELETE FROM students Where id = 1; db.students.remove( _id: 1);
Tìm kiếm all SELECT * FROM students; db.students.find({});
Tìm kiếm SELECT * FROM students WHERE name = ‘thanh’; db.students.find( name: ‘thanh’ );

Ưu điểm của cơ sở dữ liệu mongoDB.

  • Do MongoDB 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 kích cỡ và các document không giống nhau, linh động trong việc lưu giữ dữ liệu, có thể bạn mong muốn gì thì cứ insert vào thoải mái.
  • Dữ liệu trong MongoDB không có sự ràng buộc lẫn nhau, không có join như trong RDBMS nên khi insert, xóa hay update nó không luôn phải mất thời gian kiểm duyệt xem có thỏa mãn các ràng buộc dữ liệu như trong RDBMS.
  • MongoDB rất dễ mở rộng (Horizontal Scalability). Trong MongoDB có một khái niệm cluster là cụm các node chứa dữ liệu ăn nói với nhau, khi mong muốn mở rộng bộ máy ta chỉ cần thêm một node với vào cluster:
  • Trường dữ liệu “_id” luôn được tự động đánh index (chỉ mục) để tốc độ truy vấn nội dung đạt hiệu năng cao nhất.
  • Khi có một truy vấn dữ liệu, bản ghi được cached lên bộ nhớ Ram, để phục vụ lượt truy vấn sau xảy ra nhanh hơn mà không cần phải đọc từ ổ cứng.

Nhược điểm của cơ sở dữ liệu mongoDB.

  • Một điểm tốt nhất của MongoDB cũng chủ đạo là nhược điểm của nó. MongoDB không hề có các thuộc tính ràng buộc như trong RDBMS có thể khi thực hành các bướ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 thế nên key sẽ bị lặp lại. Không giúp đỡ join có thể 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êù này sẽ là điểm không tốt 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…

Chức năng của MongoDB là gì?

Cơ sở dữ liệu mongoDB
Cơ sở dữ liệu mongoDB

Lệnh truy vấn dữ liệu trong MongoDB

MongoDB có các tính năng căn bản như sau:

  • Truy vấn ad hoc
  • Nhân rộng
  • Cân bằng tải
  • Lưu giữ 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

Hãy cùng mìnhtìm hiểu chi tiết về từng tính năng!

Truy vấn ad hoc

Truy vấn ad hoc là một trong các chức năng tối ưu 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. Ngoài ra, các trường trong MongoDB sẽ được sử dụng để lập các chỉ mục chính và các chỉ mục phụ.

Nhân rộng

Đây chính là công dụng mà chương trình bổ sung Replica set. Nó gồm có hai hoặc nhiều bản sao của dữ liệu. Trong đó mỗi bản sao có thể giữ nhiệm vụ chủ đạo và phụ.

  • Trong lúc 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ủ đạo.
  • Bản sao thứ cấp sử dụng bản sao tích hợp để kéo dài bản sao dữ liệu của bản chính.

Trong hoàn cảnh một bản sao chủ đạo thất bại, Replica set chọn ra một bản sao thứ cấp để trở nên bản sao chủ đạo tiếp theo. Replica thứ cấp có khả năng tùy chọn chiều lòng 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 việc dùng Sharding, MongoDB chia phần trăm 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 công việc trong hoàn cảnh có lỗi về phần cứng.

Lưu giữ file

Với công dụng lưu giữ 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 giữ file. Trong số đó, GridFS chia một file ra thành các phần hoặc các đoạn và lưu giữ 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.

>>>Xem thêm: Top những ngôn ngữ lập trình web phổ biến nhất hiện nay

Khi nào nên dùng MongoDB

Cơ sở dữ liệu mongoDB
Cơ sở dữ liệu mongoDB

Chẳng hạn như như các bộ máy realtime (thời gian thực) yêu cầu góp ý nhanh, Các hệ thống bigdata với yêu cầu truy vấn nhanh hay các bộ máy có lượng request lớn thì MongoDB sẽ là sự xác định ưu tiên hơn CSDL quan hệ. Tùy thuộc theo dự án và hoàn cảnh chi tiết để sử dụng CSDL quan hệ hay dùng MongoDB mang đến đạt kết quả tốt cao.

Bài viết trên, mình đã chia sẻ tổng quan về cơ sở dữ liệu mongoDB tới các bạn. Cảm ơn các bạn đã theo dõi bài viết nhé!

>>Xem thêm: Tổng hợp các loại mã nguồn làm web phổ biến nhất hiện nay

Mỹ Phượng-Tổng hợp

Tham khảo: (matbao, viblo,…)

Tags: Dành gia MongoDBĐồ án MongoDBMongodb Atlas là gìMongoDB DownloadMongodb là gìMongoDB tutorialNosql là gìTìm hiểu MongoDB
Bài Viết Trước

Tổng hợp những nội dung chi tiết về bộ nhớ đệm memcached

Bài Viết Tiếp Theo

Hướng dẫn thiết kế website bằng Joomla

Bài Viết Tiếp Theo
Joomla

Hướng dẫn thiết kế website bằng Joomla

Bài Viết Mới

Marketing dược mỹ phẩm là gì? Bí quyết marketing thành công

Marketing dược mỹ phẩm là gì? Bí quyết marketing thành công

25/11/2022
Tượng Phu Thê Viên Mãn Hợp Với Tuổi Gì, Mệnh Gì?

Tượng Phu Thê Viên Mãn Hợp Với Tuổi Gì, Mệnh Gì?

11/11/2022

Quy trình triển khai dịch vụ thiết kế website Đà Nẵng tại VMO Agency

10/11/2022
C# Là Gì? Những Điều Cần Biết Về C#

C# Là Gì? Những Điều Cần Biết Về C#

25/10/2022
Tính năng của google drive cực kỳ quan trọng mà bạn nên biết

Tính năng của google drive cực kỳ quan trọng mà bạn nên biết

15/10/2022
Chế độ ẩn danh là gì? Tab ẩn danh có tác dụng gì?

Chế độ ẩn danh là gì? Tab ẩn danh có tác dụng gì?

10/10/2022

Về Chúng Tôi

Source.vn là website download source code free website, phần mềm, đồ án môn học, luận văn tốt nghiệp, tổng hợp các mã nguồn, kiến thức lập trình chuyên nghành công nghệ thông tin.

Chuyên Mục

  • Chưa được phân loại
  • Kiến Thức
  • Source miễn phí
  • Source Tham Khảo
  • Thư Viện
  • Top Source

Bài Viết Mới

  • Marketing dược mỹ phẩm là gì? Bí quyết marketing thành công
  • Tượng Phu Thê Viên Mãn Hợp Với Tuổi Gì, Mệnh Gì?
  • Quy trình triển khai dịch vụ thiết kế website Đà Nẵng tại VMO Agency
  • Trang Chủ
  • Top Source
  • Source miễn phí
  • Source Tham Khảo
  • Kiến Thức
  • Thư Viện

© 2023 JNews - Premium WordPress news & magazine theme by Jegtheme.