MongoDB là gì?

Đã xem: 63
Cập nhât: 3 năm trước

MongoDB là gì?

MongoDB là cơ sở dữ liệu NoSQL hướng tài liệu được sử dụng để lưu trữ dữ liệu khối lượng lớn. Thay vì sử dụng các bảng và hàng như trong cơ sở dữ liệu quan hệ truyền thống, MongoDB sử dụng các collectionsdocuments. Documents bao gồm các cặp khóa-giá trị là đơn vị dữ liệu cơ bản trong MongoDB. Collections chứa các tập hợp tài liệu và chức năng tương đương với các bảng cơ sở dữ liệu quan hệ. MongoDB là một cơ sở dữ liệu xuất hiện vào khoảng giữa những năm 2000.

Sự khác biệt chính là một Documents không bị giới hạn trong một lược đồ hoặc các cột nhất định trong một bảng. Hai Documents có thể chia sẻ các phần tử tương tự, như trường ID, cũng như có các phần tử hoàn toàn khác nhau. Ví dụ: trong hệ thống kiểm kê, tất cả các mặt hàng sẽ có giá, nhưng các bộ phận ô tô sẽ có các thuộc tính bổ sung hoàn toàn khác với các thuộc tính bổ sung mà giày sẽ có. Và bởi vì MongoDB cho phép thay đổi lược đồ động, thật dễ dàng thực hiện các thay đổi nhanh mà không cần phải sửa sang lại cơ sở dữ liệu hiện có để hỗ trợ các trường mới, chẳng hạn như thêm sản phẩm hàng tồn kho mới với bộ thuộc tính độc đáo của riêng nó. Ngoài ra, hệ thống phân cấp của tài liệu dễ dàng ánh xạ tới các phân cấp đối tượng trong mã ứng dụng, đơn giản hóa các thao tác tạo, đọc, cập nhật và xóa.

MongoDB không chỉ cung cấp tất cả các khả năng này mà còn làm như vậy mà không ảnh hưởng đến hiệu suất, tính khả dụng cao hoặc khả năng mở rộng. Trên thực tế, MongoDB vượt trội hơn nhiều RDBMS truyền thống với các tính năng phản chiếu và tự động điều chỉnh tỷ lệ tuyệt vời, cho phép nó phát triển khi nhu cầu và dữ liệu thay đổi theo thời gian

Các trường hợp sử dụng phổ biến

Quản lý và phân phối nội dung - Quản lý danh mục sản phẩm đa dạng về nội dung trong một kho dữ liệu duy nhất cho phép thay đổi nhanh chóng và thời gian phản hồi nhanh chóng mà không cần thêm sự phức tạp từ hệ thống truy xuất nội dung.

Cơ sở hạ tầng xã hội và di động - MongoDB cung cấp nền tảng có tính khả dụng cao, độ trễ thấp, nhanh nhẹn và có thể mở rộng cho phép các khả năng không gian địa lý, phân tích thời gian thực và tính khả dụng trên toàn cầu.

Quản lý dữ liệu khách hàng  - Sử dụng khả năng truy vấn phong phú để phân tích thời gian thực trên cơ sở người dùng lớn với các mô hình dữ liệu phức tạp.

Các tính năng chính

Lược đồ động - Lược đồ động của MongoDB cung cấp một cách đơn giản để kết hợp các thay đổi khi các yêu cầu ứng dụng thay đổi. Những thay đổi này có thể được thực hiện đối với cơ sở dữ liệu mà không ảnh hưởng đến dữ liệu hoặc mã ứng dụng hiện có và không gây ra thời gian chết.

Hoạt động thông minh - Khung bản đồ / giảm thiểu và tổng hợp gốc của MongoDB cung cấp thông tin chi tiết trong thời gian thực cho các ứng dụng, vượt xa khả năng của các công nghệ phân tích hàng loạt như Hadoop và các công cụ BI truyền thống.

Tính linh hoạt khi triển khai - MongoDB được xây dựng để hoạt động với phần cứng hàng hóa và kiến ​​trúc đám mây. Dữ liệu được bản địa hóa cho các truy vấn để đảm bảo hiệu suất mạnh mẽ và có thể dự đoán được bất kể quy mô triển khai.

Đơn giản Scale-Out - MongoDB được thiết kế để mở rộng trên các cụm máy chủ. Khi khối lượng dữ liệu tăng lên, các tổ chức có thể chỉ cần thêm nhiều nút hơn vào các cụm của họ và MongoDB sẽ cân bằng dữ liệu một cách liền mạch và tự động trong nền.

Truy vấn phong phú - MongoDB hỗ trợ ngôn ngữ truy vấn đầy đủ và lập chỉ mục chính và phụ, cũng như tìm kiếm toàn văn với cú pháp giống như Google.

Tại sao sử dụng MongoDB?

Dưới đây là một số lý do tại sao một người nên bắt đầu sử dụng MongoDB

Hướng tài liệu - Vì MongoDB là cơ sở dữ liệu kiểu NoSQL, thay vì có dữ liệu ở định dạng kiểu quan hệ, nó sẽ lưu trữ dữ liệu trong tài liệu. Điều này làm cho MongoDB rất linh hoạt và thích ứng với tình hình và yêu cầu thực tế của thế giới kinh doanh.

Truy vấn đặc biệt - MongoDB hỗ trợ tìm kiếm theo trường, truy vấn phạm vi và tìm kiếm biểu thức chính quy. Các truy vấn có thể được thực hiện để trả về các trường cụ thể trong tài liệu.

Lập chỉ mục - Các chỉ mục có thể được tạo để cải thiện hiệu suất của các tìm kiếm trong MongoDB. Bất kỳ trường nào trong tài liệu MongoDB đều có thể được lập chỉ mục.

Nhân bản - MongoDB có thể cung cấp tính khả dụng cao với các tập hợp bản sao. Một tập hợp bản sao bao gồm hai hoặc nhiều cá thể DB mongo. Mỗi thành viên tập hợp bản sao có thể hoạt động trong vai trò của bản sao chính hoặc thứ cấp bất kỳ lúc nào. Bản sao chính là máy chủ chính tương tác với máy khách và thực hiện tất cả các hoạt động đọc / ghi. Các bản sao thứ cấp duy trì một bản sao dữ liệu của bản sao chính bằng cách sử dụng bản sao được tích hợp sẵn. Khi một bản sao chính bị lỗi, tập hợp bản sao sẽ tự động chuyển sang bản sao thứ cấp và sau đó nó trở thành máy chủ chính.

Cân bằng tải - MongoDB sử dụng khái niệm sharding để chia tỷ lệ theo chiều ngang bằng cách chia nhỏ dữ liệu trên nhiều phiên bản MongoDB. MongoDB có thể chạy trên nhiều máy chủ, cân bằng tải và / hoặc sao chép dữ liệu để giữ cho hệ thống hoạt động trong trường hợp lỗi phần cứng.

Mô hình hóa dữ liệu trong MongoDB

Như chúng ta đã thấy từ phần Giới thiệu, dữ liệu trong MongoDB có một lược đồ linh hoạt. Không giống như trong cơ sở dữ liệu SQL , nơi bạn phải khai báo lược đồ của bảng trước khi chèn dữ liệu, các bộ sưu tập của MongoDB không thực thi cấu trúc tài liệu. Loại linh hoạt này là điều làm cho MongoDB trở nên mạnh mẽ như vậy.

Khi lập mô hình dữ liệu trong Mongo, hãy ghi nhớ những điều sau

Các nhu cầu của ứng dụng là gì - Xem xét các nhu cầu kinh doanh của ứng dụng và xem dữ liệu nào và loại dữ liệu cần thiết cho ứng dụng. Dựa trên cơ sở này, hãy đảm bảo rằng cấu trúc của tài liệu được quyết định phù hợp.

Các mẫu truy xuất dữ liệu là gì - Nếu bạn thấy trước việc sử dụng truy vấn nhiều thì hãy xem xét việc sử dụng các chỉ mục trong mô hình dữ liệu của mình để cải thiện hiệu quả của các truy vấn.

Có thường xuyên chèn, cập nhật và xóa trong cơ sở dữ liệu không? Xem xét lại việc sử dụng các chỉ mục hoặc kết hợp sharding nếu được yêu cầu trong thiết kế mô hình dữ liệu của bạn để cải thiện hiệu quả của môi trường MongoDB tổng thể của bạn.

MongoDB so với MySQL

MySQL (liên kết nằm bên ngoài IBM)  sử dụng ngôn ngữ truy vấn có cấu trúc để truy cập dữ liệu được lưu trữ. Ở định dạng này, các lược đồ được sử dụng để tạo cấu trúc cơ sở dữ liệu, sử dụng bảng như một cách để chuẩn hóa các kiểu dữ liệu để các giá trị có thể tìm kiếm được và có thể được truy vấn đúng cách. Một giải pháp hoàn thiện, MySQL hữu ích cho nhiều trường hợp bao gồm cơ sở dữ liệu trang web, ứng dụng và quản lý sản phẩm thương mại.

Do tính chất cứng nhắc của nó, MySQL được ưu tiên hơn MongoDB khi tính toàn vẹn và cách ly dữ liệu là cần thiết, chẳng hạn như khi quản lý dữ liệu giao dịch. Nhưng định dạng ít hạn chế hơn và hiệu suất cao hơn của MongoDB khiến nó trở thành lựa chọn tốt hơn, đặc biệt khi tính khả dụng và tốc độ là mối quan tâm chính.

Đăng bởi Nhân Phong 07-09-2021 63

Chuyên mục: Hỏi đáp
Tags: MongoDB
Các bài viết liên qua đến MongoDB là gì?

Tin nổi bật Hỏi đáp

MongoDB là gì?
MongoDB là cơ sở dữ liệu NoSQL hướng tài liệu được sử dụng để lưu trữ dữ liệu khối lượng lớn