Chọn một cấu trúc dữ liệu

Hãy nhớ rằng khi sắp xếp dữ liệu trong Cloud Firestore, bạn có một vài lựa chọn:

  • Tài liệu
  • Nhiều bộ sưu tập
  • Bộ sưu tập con trong tài liệu

Hãy cân nhắc ưu điểm của từng lựa chọn liên quan đến trường hợp sử dụng của bạn. Hướng dẫn này trình bày một vài ví dụ về cấu trúc cho dữ liệu phân cấp.

Dữ liệu lồng nhau trong tài liệu

Bạn có thể lồng các đối tượng phức tạp như mảng hoặc bản đồ vào trong tài liệu.

  • Ưu điểm: Nếu bạn có danh sách dữ liệu đơn giản, cố định mà bạn muốn giữ trong tài liệu của mình, thì việc này rất dễ thiết lập và giúp đơn giản hoá cấu trúc dữ liệu của bạn.
  • Hạn chế: Cách này không có khả năng mở rộng như các lựa chọn khác, đặc biệt là nếu dữ liệu của bạn mở rộng theo thời gian. Với danh sách lớn hơn hoặc đang tăng lên, tài liệu cũng tăng lên, điều này có thể dẫn đến thời gian truy xuất tài liệu chậm hơn.
  • Trường hợp sử dụng có thể xảy ra là gì? Ví dụ: trong một ứng dụng trò chuyện, bạn có thể lưu trữ 3 phòng trò chuyện mà người dùng truy cập gần đây nhất dưới dạng danh sách lồng nhau trong hồ sơ của họ.
  • alovelace
    •     name :
            first : "Ada"
            last : "Lovelace"
          born : 1815
          rooms :
            0 : "Software Chat"
            1 : "Famous Figures"
            2 : "Famous SWEs"

Bộ sưu tập con

Bạn có thể tạo các tập hợp trong tài liệu khi có dữ liệu có thể mở rộng theo thời gian.

  • Ưu điểm: Khi danh sách của bạn tăng lên, kích thước của tài liệu mẹ không thay đổi. Bạn cũng có đầy đủ các chức năng truy vấn trên các tập hợp con và có thể đưa ra truy vấn nhóm tập hợp trên các tập hợp con.
  • Hạn chế: Bạn không thể dễ dàng xoá bộ sưu tập con.
  • Trường hợp sử dụng có thể xảy ra là gì? Ví dụ: trong cùng một ứng dụng trò chuyện, bạn có thể tạo tập hợp người dùng hoặc tin nhắn trong tài liệu phòng trò chuyện.
  • khoa học
    • software
        name : "software chat"
      • người dùng
        • alovelace
              first : "Ada"
              last : "Lovelace"
        • sride
              first : "Sally"
              last : "Ride"`


    • vật lý thiên văn
      • ...

Bộ sưu tập cấp gốc

Tạo tập hợp ở cấp gốc của cơ sở dữ liệu để sắp xếp các tập dữ liệu riêng biệt.

  • Ưu điểm: Bộ sưu tập cấp gốc phù hợp với mối quan hệ nhiều với nhiều và cung cấp khả năng truy vấn mạnh mẽ trong mỗi bộ sưu tập.
  • Hạn chế: Việc lấy dữ liệu có cấu trúc phân cấp tự nhiên có thể ngày càng phức tạp khi cơ sở dữ liệu của bạn phát triển.
  • Trường hợp sử dụng có thể xảy ra là gì? Ví dụ: trong cùng một ứng dụng trò chuyện, bạn có thể tạo một bộ sưu tập cho người dùng và một bộ sưu tập khác cho phòng và tin nhắn.
  • người dùng
    • alovelace
          first : "Ada"
          last : "Lovelace"
          born : 1815
    • sride
          first : "Sally"
          last : "Ride"
          born : 1951
  • phòng
    • phần mềm
      • tin nhắn
        • message1
              from : "alovelace"
              content : "..."
        • message2
              from : "sride"
              content : "..."