Hướng dẫn mongodb realm flexible sync - mongodb lĩnh vực đồng bộ hóa linh hoạt

DOCS Home → Dịch vụ ứng dụng AtlasAtlas App Services

Trên trang này

  • Tổng quan
  • Trường truy vấn
  • Các loại trường đủ điều kiện
  • Tên trường dành riêng
  • Hiệu suất và lưu trữ
  • Bắt đầu với đồng bộ hóa linh hoạt
  • Xác định một lược đồ
  • Cho phép đồng bộ hóa
  • Tạo các truy vấn trong ứng dụng máy khách của bạn
  • Tối ưu hóa đồng bộ với đồng bộ hóa không đối xứng (tùy chọn)

Có hai chế độ đồng bộ hóa: đồng bộ hóa linh hoạt và đồng bộ hóa dựa trên phân vùng cũ. Chúng tôi khuyên bạn nên sử dụng đồng bộ hóa linh hoạt. Để biết thêm thông tin về đồng bộ hóa dựa trên phân vùng, hãy tham khảo đồng bộ hóa dựa trên phân vùng.

Đồng bộ hóa linh hoạt cho phép bạn xác định một truy vấn trong máy khách và chỉ đồng bộ hóa các đối tượng phù hợp với truy vấn. Với đăng ký phía máy khách, các ứng dụng khách có thể:

  • Duy trì các truy vấn

  • Phản ứng với những thay đổi

  • Thêm, thay đổi hoặc xóa truy vấn

Cùng với các quy tắc và quyền, đồng bộ hóa linh hoạt cung cấp một cách mạnh mẽ để định cấu hình đồng bộ xung quanh logic kinh doanh của bạn.

Mẹo

Xem thêm:

Khi khách hàng thực hiện truy vấn, Atlas Ứng dụng Dịch vụ tìm kiếm tập dữ liệu phía máy chủ cho các tài liệu khớp với truy vấn. Sau đó, công cụ đồng bộ hóa áp dụng một tập hợp các quy tắc để xác định tài liệu nào trong kết quả đặt người dùng sẽ có thể truy cập. Dịch vụ ứng dụng chỉ trả về các tài liệu phù hợp trong đó người dùng đã đọc hoặc đọc/ghi quyền truy cập và gán cho người dùng các quyền thích hợp.

Các ứng dụng khách có thể thêm, cập nhật hoặc xóa các truy vấn một cách linh hoạt khi chạy khỏi thiết bị.

Ghi chú

Điều kiện tiên quyết đồng bộ linh hoạt

Kích hoạt đồng bộ hóa linh hoạt trong ứng dụng Dịch vụ ứng dụng của bạn yêu cầu một cụm Atlas MongoDB không được che chở chạy MongoDB 5.0 trở lênMongoDB 5.0 or greater

Khi bạn định cấu hình đồng bộ hóa linh hoạt, bạn chỉ định một hoặc nhiều trường từ lược đồ dịch vụ ứng dụng mà ứng dụng khách của bạn có thể truy vấn.

Thí dụ

Trong một ứng dụng Trình theo dõi tác vụ, bạn có thể đặt assignee hoặc owner làm trường có thể truy vấn. Về phía máy khách, sau đó bạn có thể truy vấn các tác vụ có assignee hoặc owner phù hợp với người dùng đã đăng nhập.

Các trường có thể truy vấn áp dụng trên tất cả các bộ sưu tập trong lược đồ dịch vụ ứng dụng của ứng dụng. Bạn có thể sử dụng các quy tắc và quyền để định cấu hình kiểm soát truy cập chi tiết hơn trên các bộ sưu tập riêng lẻ.

Đồng bộ hóa linh hoạt chỉ hỗ trợ các trường nguyên thủy cấp cao nhất với loại vô hướng là các trường có thể truy vấn. Bạn cũng có thể bao gồm các mảng của các nguyên thủy này như các trường có thể truy vấn. Đồng bộ hóa linh hoạt không hỗ trợ các đối tượng nhúng hoặc mảng các đối tượng dưới dạng các trường có thể truy vấn.

Mẹo

Xem thêm:

Khi khách hàng thực hiện truy vấn, Atlas Ứng dụng Dịch vụ tìm kiếm tập dữ liệu phía máy chủ cho các tài liệu khớp với truy vấn. Sau đó, công cụ đồng bộ hóa áp dụng một tập hợp các quy tắc để xác định tài liệu nào trong kết quả đặt người dùng sẽ có thể truy cập. Dịch vụ ứng dụng chỉ trả về các tài liệu phù hợp trong đó người dùng đã đọc hoặc đọc/ghi quyền truy cập và gán cho người dùng các quyền thích hợp.

Các ứng dụng khách có thể thêm, cập nhật hoặc xóa các truy vấn một cách linh hoạt khi chạy khỏi thiết bị.

  • Ghi chú

  • Điều kiện tiên quyết đồng bộ linh hoạt

  • Kích hoạt đồng bộ hóa linh hoạt trong ứng dụng Dịch vụ ứng dụng của bạn yêu cầu một cụm Atlas MongoDB không được che chở chạy MongoDB 5.0 trở lên

  • Khi bạn định cấu hình đồng bộ hóa linh hoạt, bạn chỉ định một hoặc nhiều trường từ lược đồ dịch vụ ứng dụng mà ứng dụng khách của bạn có thể truy vấn.

  • Thí dụ

  • Trong một ứng dụng Trình theo dõi tác vụ, bạn có thể đặt assignee hoặc owner làm trường có thể truy vấn. Về phía máy khách, sau đó bạn có thể truy vấn các tác vụ có assignee hoặc owner phù hợp với người dùng đã đăng nhập.

  • Các trường có thể truy vấn áp dụng trên tất cả các bộ sưu tập trong lược đồ dịch vụ ứng dụng của ứng dụng. Bạn có thể sử dụng các quy tắc và quyền để định cấu hình kiểm soát truy cập chi tiết hơn trên các bộ sưu tập riêng lẻ.

  • Đồng bộ hóa linh hoạt chỉ hỗ trợ các trường nguyên thủy cấp cao nhất với loại vô hướng là các trường có thể truy vấn. Bạn cũng có thể bao gồm các mảng của các nguyên thủy này như các trường có thể truy vấn. Đồng bộ hóa linh hoạt không hỗ trợ các đối tượng nhúng hoặc mảng các đối tượng dưới dạng các trường có thể truy vấn.

  • Xem thêm: Ngôn ngữ truy vấn của Realm - Giới hạn đồng bộ linh hoạt

  • Dịch vụ ứng dụng bảo lưu một số từ khóa cho ngôn ngữ truy vấn của Realm và các mục đích khác. Bạn không thể sử dụng các từ khóa dành riêng làm tên trường.

  • Dịch vụ ứng dụng dự trữ các từ khóa sau với bất kỳ vốn hóa nào:

  • Tăng dần

  • tăng dần

  • bắt đầu với

  • giữa

  • chứa

  • null

  • desc

  • giảm dần

  • riêng biệt

  • kết thúc

Thí dụ

Trong một ứng dụng Trình theo dõi tác vụ, bạn có thể đặt assignee hoặc owner làm trường có thể truy vấn. Về phía máy khách, sau đó bạn có thể truy vấn các tác vụ có assignee hoặc owner phù hợp với người dùng đã đăng nhập.

Các trường có thể truy vấn áp dụng trên tất cả các bộ sưu tập trong lược đồ dịch vụ ứng dụng của ứng dụng. Bạn có thể sử dụng các quy tắc và quyền để định cấu hình kiểm soát truy cập chi tiết hơn trên các bộ sưu tập riêng lẻ.

  • Đồng bộ hóa linh hoạt chỉ hỗ trợ các trường nguyên thủy cấp cao nhất với loại vô hướng là các trường có thể truy vấn. Bạn cũng có thể bao gồm các mảng của các nguyên thủy này như các trường có thể truy vấn. Đồng bộ hóa linh hoạt không hỗ trợ các đối tượng nhúng hoặc mảng các đối tượng dưới dạng các trường có thể truy vấn.

  • Xem thêm: Ngôn ngữ truy vấn của Realm - Giới hạn đồng bộ linh hoạt

  • B64

  • Dịch vụ ứng dụng bảo lưu một số từ khóa cho ngôn ngữ truy vấn của Realm và các mục đích khác. Bạn không thể sử dụng các từ khóa dành riêng làm tên trường.

  • Dịch vụ ứng dụng dự trữ các từ khóa sau với bất kỳ vốn hóa nào:

  • Tăng dần

  • tăng dần

  • bắt đầu với

  • giữa

  • chứa

  • false

  • in

  • desc

  • giảm dần

  • riêng biệt

  • kết thúc

  • true

  • sai

Thí dụ

Trong một ứng dụng Trình theo dõi tác vụ, bạn có thể đặt assignee hoặc owner làm trường có thể truy vấn. Về phía máy khách, sau đó bạn có thể truy vấn các tác vụ có assignee hoặc owner phù hợp với người dùng đã đăng nhập.

Các trường có thể truy vấn áp dụng trên tất cả các bộ sưu tập trong lược đồ dịch vụ ứng dụng của ứng dụng. Bạn có thể sử dụng các quy tắc và quyền để định cấu hình kiểm soát truy cập chi tiết hơn trên các bộ sưu tập riêng lẻ.

Mẹo

Xem thêm:

Khi khách hàng thực hiện truy vấn, Atlas Ứng dụng Dịch vụ tìm kiếm tập dữ liệu phía máy chủ cho các tài liệu khớp với truy vấn. Sau đó, công cụ đồng bộ hóa áp dụng một tập hợp các quy tắc để xác định tài liệu nào trong kết quả đặt người dùng sẽ có thể truy cập. Dịch vụ ứng dụng chỉ trả về các tài liệu phù hợp trong đó người dùng đã đọc hoặc đọc/ghi quyền truy cập và gán cho người dùng các quyền thích hợp.eligible fields in your schema become queryable fields you can select when you enable Flexible Sync.

Các ứng dụng khách có thể thêm, cập nhật hoặc xóa các truy vấn một cách linh hoạt khi chạy khỏi thiết bị.

Mẹo

Xem thêm:

Khi khách hàng thực hiện truy vấn, Atlas Ứng dụng Dịch vụ tìm kiếm tập dữ liệu phía máy chủ cho các tài liệu khớp với truy vấn. Sau đó, công cụ đồng bộ hóa áp dụng một tập hợp các quy tắc để xác định tài liệu nào trong kết quả đặt người dùng sẽ có thể truy cập. Dịch vụ ứng dụng chỉ trả về các tài liệu phù hợp trong đó người dùng đã đọc hoặc đọc/ghi quyền truy cập và gán cho người dùng các quyền thích hợp.

Các ứng dụng khách có thể thêm, cập nhật hoặc xóa các truy vấn một cách linh hoạt khi chạy khỏi thiết bị.

Mẹo

Xem thêm:

Khi khách hàng thực hiện truy vấn, Atlas Ứng dụng Dịch vụ tìm kiếm tập dữ liệu phía máy chủ cho các tài liệu khớp với truy vấn. Sau đó, công cụ đồng bộ hóa áp dụng một tập hợp các quy tắc để xác định tài liệu nào trong kết quả đặt người dùng sẽ có thể truy cập. Dịch vụ ứng dụng chỉ trả về các tài liệu phù hợp trong đó người dùng đã đọc hoặc đọc/ghi quyền truy cập và gán cho người dùng các quyền thích hợp.

  • Các ứng dụng khách có thể thêm, cập nhật hoặc xóa các truy vấn một cách linh hoạt khi chạy khỏi thiết bị.eligible fields in your schema.

  • Ghi chúeligible field type in your client application.

Điều kiện tiên quyết đồng bộ linh hoạt

Kích hoạt đồng bộ hóa linh hoạt trong ứng dụng Dịch vụ ứng dụng của bạn yêu cầu một cụm Atlas MongoDB không được che chở chạy MongoDB 5.0 trở lên

Khi bạn định cấu hình đồng bộ hóa linh hoạt, bạn chỉ định một hoặc nhiều trường từ lược đồ dịch vụ ứng dụng mà ứng dụng khách của bạn có thể truy vấn.

  • Thí dụ

  • Trong một ứng dụng Trình theo dõi tác vụ, bạn có thể đặt assignee hoặc owner làm trường có thể truy vấn. Về phía máy khách, sau đó bạn có thể truy vấn các tác vụ có assignee hoặc owner phù hợp với người dùng đã đăng nhập.

  • Các trường có thể truy vấn áp dụng trên tất cả các bộ sưu tập trong lược đồ dịch vụ ứng dụng của ứng dụng. Bạn có thể sử dụng các quy tắc và quyền để định cấu hình kiểm soát truy cập chi tiết hơn trên các bộ sưu tập riêng lẻ.

Đồng bộ hóa linh hoạt chỉ hỗ trợ các trường nguyên thủy cấp cao nhất với loại vô hướng là các trường có thể truy vấn. Bạn cũng có thể bao gồm các mảng của các nguyên thủy này như các trường có thể truy vấn. Đồng bộ hóa linh hoạt không hỗ trợ các đối tượng nhúng hoặc mảng các đối tượng dưới dạng các trường có thể truy vấn.

Bạn cũng có thể tạo vai trò mặc định, không áp dụng cho một bộ sưu tập cụ thể. Thay vào đó, vai trò mặc định áp dụng cho bất kỳ bộ sưu tập nào bạn không xác định vai trò tùy chỉnh.

Mẹo

Xem thêm:

Với kích hoạt đồng bộ linh hoạt, bạn có thể bắt đầu tạo các truy vấn từ ứng dụng khách của mình.

Các SDK của Realm cung cấp các phương thức để tạo, cập nhật và xóa các truy vấn khỏi ứng dụng máy khách. SDK sử dụng đăng ký để duy trì các truy vấn đó ở phía máy khách. Thông qua các đăng ký này, các ứng dụng của bạn đồng bộ hóa các đối tượng với ứng dụng phụ trợ và có thể xem và phản ứng với các thay đổi.

Đồng bộ hóa không đối xứng là một chiến lược đồng bộ hóa được tối ưu hóa cho các ứng dụng có khối lượng công việc chỉ có phía máy khách nặng. Bạn kích hoạt nó cho một hoặc nhiều bộ sưu tập. Nó hỗ trợ viết cho bất kỳ loại bộ sưu tập nào, bao gồm bộ sưu tập sê-ri thời gian Atlas.

Ví dụ: một ứng dụng IoT thường đăng nhập dữ liệu cảm biến có khối lượng công việc ghi đáng kể và không có khối lượng công việc đọc. Thiết bị cũng có thể ngoại tuyến trong thời gian dài. Đồng bộ hóa không đối xứng bỏ qua một số xử lý cần thiết để đồng bộ hóa hai chiều, cải thiện đáng kể tốc độ ghi vào bộ sưu tập Atlas.

Các trường hợp sử dụng khác bao gồm viết dữ liệu bất biến, chẳng hạn như hóa đơn từ ứng dụng bán lẻ hoặc các sự kiện ứng dụng ghi nhật ký, cả hai đều không yêu cầu giải quyết xung đột.

Bạn có thể áp dụng đồng bộ hóa không đối xứng cho các bộ sưu tập riêng lẻ. Điều này có nghĩa là ứng dụng của bạn có thể sử dụng đồng bộ hóa không đối xứng để viết một số dữ liệu, nhưng đồng bộ hóa linh hoạt hai chiều trên các bộ sưu tập khác.

Quan trọng

Bộ sưu tập đồng bộ không đối xứng chỉ để viết dữ liệu. Bạn không thể sử dụng các truy vấn đồng bộ linh hoạt đối với các bộ sưu tập này. Thay vào đó, sử dụng các nguồn dữ liệu MongoDB.

Bạn định cấu hình và kích hoạt đồng bộ hóa không đối xứng trong phần Tùy chọn nâng cao của trang SYNC CELL UP. Để biết thêm thông tin về việc thiết lập đồng bộ hóa linh hoạt với đồng bộ hóa không đối xứng, xem Bật đồng bộ hóa.Advanced Options section of the Sync set up page. For more information on setting up Flexible Sync with Asymmetric Sync, see Enable Sync.

Sau khi bạn đã kích hoạt đồng bộ hóa không đối xứng, bạn đã triển khai nó trong ứng dụng máy khách thông qua SDK của máy khách.

Ghi chú

Hỗ trợ SDK

SDK JavaScript hỗ trợ đồng bộ hóa không đối xứng. Hỗ trợ trong các SDK khác là sắp tới.