Hướng dẫn mongodb data modeling tool - công cụ mô hình hóa dữ liệu mongodb

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

Thách thức chính trong mô hình hóa dữ liệu là cân bằng các nhu cầu của ứng dụng, đặc điểm hiệu suất của công cụ cơ sở dữ liệu và các mẫu truy xuất dữ liệu. Khi thiết kế các mô hình dữ liệu, luôn luôn xem xét việc sử dụng ứng dụng của dữ liệu (nghĩa là truy vấn, cập nhật và xử lý dữ liệu) cũng như cấu trúc vốn có của chính dữ liệu.

Không giống như cơ sở dữ liệu SQL, nơi bạn phải xác định và 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, theo mặc định, không yêu cầu tài liệu của họ có cùng lược đồ. Đó là:

  • Các tài liệu trong một bộ sưu tập duy nhất không cần phải có cùng một tập hợp các trường và kiểu dữ liệu cho một trường có thể khác nhau giữa các tài liệu trong một bộ sưu tập.

  • Để thay đổi cấu trúc của các tài liệu trong một bộ sưu tập, chẳng hạn như thêm các trường mới, xóa các trường hiện có hoặc thay đổi các giá trị trường thành loại mới, hãy cập nhật các tài liệu lên cấu trúc mới.

Tính linh hoạt này tạo điều kiện cho việc ánh xạ các tài liệu đến một thực thể hoặc một đối tượng. Mỗi tài liệu có thể khớp với các trường dữ liệu của thực thể được biểu thị, ngay cả khi tài liệu có sự thay đổi đáng kể từ các tài liệu khác trong bộ sưu tập.

Tuy nhiên, trong thực tế, các tài liệu trong bộ sưu tập có chung cấu trúc và bạn có thể thực thi các quy tắc xác thực tài liệu cho một bộ sưu tập trong quá trình cập nhật và chèn các hoạt động. Xem xác thực lược đồ để biết chi tiết.

Quyết định chính trong việc thiết kế các mô hình dữ liệu cho các ứng dụng MongoDB xoay quanh cấu trúc của các tài liệu và cách ứng dụng đại diện cho mối quan hệ giữa dữ liệu. MongoDB cho phép dữ liệu liên quan được nhúng trong một tài liệu.

Các tài liệu nhúng nắm bắt mối quan hệ giữa dữ liệu bằng cách lưu trữ dữ liệu liên quan trong một cấu trúc tài liệu duy nhất. Tài liệu MongoDB cho phép nhúng các cấu trúc tài liệu vào một trường hoặc mảng trong một tài liệu. Các mô hình dữ liệu được chuẩn bị này cho phép các ứng dụng truy xuất và thao tác dữ liệu liên quan trong một hoạt động cơ sở dữ liệu duy nhất.

Hướng dẫn mongodb data modeling tool - công cụ mô hình hóa dữ liệu mongodb

Đối với nhiều trường hợp sử dụng trong MongoDB, mô hình dữ liệu được chuẩn hóa là tối ưu.

Xem các mô hình dữ liệu nhúng cho các điểm mạnh và điểm yếu của các tài liệu nhúng.

Tài liệu tham khảo lưu trữ mối quan hệ giữa dữ liệu bằng cách bao gồm các liên kết hoặc tài liệu tham khảo từ tài liệu này sang tài liệu khác. Các ứng dụng có thể giải quyết các tham chiếu này để truy cập dữ liệu liên quan. Nhìn chung, đây là các mô hình dữ liệu được chuẩn hóa.

Xem các mô hình dữ liệu được chuẩn hóa cho các điểm mạnh và điểm yếu của việc sử dụng các tài liệu tham khảo.

Trong MongoDB, một hoạt động ghi là nguyên tử ở cấp độ của một tài liệu duy nhất, ngay cả khi hoạt động sửa đổi nhiều tài liệu nhúng trong một tài liệu.

Một mô hình dữ liệu được chuẩn hóa với dữ liệu nhúng kết hợp tất cả các dữ liệu liên quan trong một tài liệu thay vì bình thường hóa trên nhiều tài liệu và bộ sưu tập. Mô hình dữ liệu này tạo điều kiện cho các hoạt động nguyên tử.

Để biết chi tiết về các giao dịch trong MongoDB, hãy xem trang Giao dịch.

Khi một hoạt động ghi duy nhất (ví dụ: db.collection.updateMany()) sửa đổi nhiều tài liệu, việc sửa đổi từng tài liệu là nguyên tử, nhưng toàn bộ hoạt động không phải là nguyên tử.

Khi thực hiện các hoạt động ghi đa tài liệu, cho dù thông qua một thao tác viết duy nhất hoặc nhiều hoạt động ghi, các hoạt động khác có thể xen kẽ.

Đối với các tình huống yêu cầu tính nguyên tử của việc đọc và ghi vào nhiều tài liệu (trong một hoặc nhiều bộ sưu tập), MongoDB hỗ trợ các giao dịch đa tài liệu:

  • Trong phiên bản 4.0, MongoDB hỗ trợ các giao dịch đa tài liệu trên các bộ bản sao., MongoDB supports multi-document transactions on replica sets.

  • Trong phiên bản 4.2, MongoDB giới thiệu các giao dịch phân tán, bổ sung hỗ trợ cho các giao dịch đa tài liệu trên các cụm chia nhỏ và kết hợp hỗ trợ hiện có cho các giao dịch đa tài liệu trên các bộ bản sao., MongoDB introduces distributed transactions, which adds support for multi-document transactions on sharded clusters and incorporates the existing support for multi-document transactions on replica sets.

Để biết chi tiết về các giao dịch trong MongoDB, hãy xem trang Giao dịch.

Khi một hoạt động ghi duy nhất (ví dụ: db.collection.updateMany()) sửa đổi nhiều tài liệu, việc sửa đổi từng tài liệu là nguyên tử, nhưng toàn bộ hoạt động không phải là nguyên tử.

Khi thực hiện các hoạt động ghi đa tài liệu, cho dù thông qua một thao tác viết duy nhất hoặc nhiều hoạt động ghi, các hoạt động khác có thể xen kẽ.

Đối với các tình huống yêu cầu tính nguyên tử của việc đọc và ghi vào nhiều tài liệu (trong một hoặc nhiều bộ sưu tập), MongoDB hỗ trợ các giao dịch đa tài liệu:

Trong phiên bản 4.0, MongoDB hỗ trợ các giao dịch đa tài liệu trên các bộ bản sao.

Trong phiên bản 4.2, MongoDB giới thiệu các giao dịch phân tán, bổ sung hỗ trợ cho các giao dịch đa tài liệu trên các cụm chia nhỏ và kết hợp hỗ trợ hiện có cho các giao dịch đa tài liệu trên các bộ bản sao.

Quan trọng

Xem các yếu tố hoạt động và mô hình dữ liệu để biết thêm thông tin về những điều này và các cân nhắc hoạt động khác ảnh hưởng đến các thiết kế mô hình dữ liệu.

Để tìm hiểu cách kết hợp mô hình dữ liệu linh hoạt vào lược đồ của bạn, hãy xem các bài thuyết trình sau từ MongoDB.Live 2020:MongoDB.live 2020:

  • Tìm hiểu về các mối quan hệ thực thể trong MongoDB và các ví dụ về việc triển khai của họ với mô hình dữ liệu với MongoDB.Data Modeling with MongoDB.

  • Tìm hiểu các mẫu thiết kế mô hình dữ liệu nâng cao Bạn có thể kết hợp vào lược đồ của mình với các mẫu thiết kế lược đồ tiên tiến.Advanced Schema Design Patterns.

Tìm hiểu cách cấu trúc các tài liệu và xác định lược đồ của bạn trong khóa học mô hình dữ liệu M320 của Đại học MongoDB.M320 Data Modeling course.

Để biết thêm thông tin về mô hình dữ liệu với MongoDB, hãy tải xuống Hướng dẫn hiện đại hóa ứng dụng MongoDB.MongoDB Application Modernization Guide.

Tải xuống bao gồm các tài nguyên sau:

  • Trình bày về phương pháp mô hình dữ liệu với MongoDB

  • Giấy trắng bao gồm các thực tiễn tốt nhất và cân nhắc để di chuyển sang MongoDB từ mô hình dữ liệu RDBMS

  • Tham chiếu lược đồ mongoDB với RDBMS tương đương

  • Ứng dụng hiện đại hóa bảng điểm