Tính toán kích thước lưu trữ

Trang này mô tả kích thước lưu trữ của tài liệu, tên tài liệu, trường và mục nhập chỉ mục trong Cloud Firestore.

Bạn có thể tìm hiểu về chi phí của bộ lưu trữ này tại Giá của Cloud Firestore .

Kích thước chuỗi

Kích thước chuỗi được tính bằng số byte được mã hóa UTF-8 + 1.

Sau đây được lưu trữ dưới dạng chuỗi:

  • ID bộ sưu tập
  • ID tài liệu chuỗi
  • Tên tài liệu
  • Tên trường
  • Giá trị trường chuỗi

Ví dụ:

  • tasks ID bộ sưu tập sử dụng 5 byte + 1 byte, tổng cộng là 6 byte.
  • description tên trường sử dụng 11 byte + 1 byte, tổng cộng là 12 byte.

Kích thước ID tài liệu

Kích thước của ID tài liệu là kích thước chuỗi đối với ID chuỗi hoặc 8 byte đối với ID số nguyên.

Kích thước tên tài liệu

Kích thước của tên tài liệu là tổng của:

  • Kích thước của từng ID bộ sưu tập và ID tài liệu trong đường dẫn đến tài liệu
  • 16 byte bổ sung

Đối với tài liệu trong tập hợp con users/jeff/tasks có ID tài liệu chuỗi là my_task_id , kích thước tên tài liệu là 6 + 5 + 6 + 11 + 16 = 44 byte:

  • 6 byte cho ID bộ sưu tập users
  • 5 byte cho ID tài liệu jeff
  • 6 byte cho ID bộ sưu tập tasks
  • 11 byte cho ID tài liệu my_task_id
  • 16 byte bổ sung

Kích thước giá trị trường

Bảng sau đây hiển thị kích thước của các giá trị trường theo loại.

Kiểu Kích cỡ
Mảng Tổng kích thước của các giá trị của nó
Boolean 1 byte
Byte Độ dài byte
Ngày và giờ 8 byte
Số điểm nổi 8 byte
điểm địa lý 16 byte
số nguyên 8 byte
Bản đồ Kích thước của bản đồ, được tính giống như kích thước tài liệu
Vô giá trị 1 byte
Thẩm quyền giải quyết Kích thước tên tài liệu
Chuỗi văn bản Số byte được mã hóa UTF-8 + 1

Ví dụ: trường boolean có tên done sẽ sử dụng 6 byte:

  • 5 byte cho tên trường done
  • 1 byte cho giá trị boolean

Kích thước tài liệu

Kích thước của một tài liệu là tổng của:

Ví dụ này dành cho một tài liệu trong bộ sưu tập con users/jeff/tasks có ID tài liệu chuỗi là my_task_id :

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Tổng kích thước của các trường là 71 byte:

Tên trường và giá trị Kích thước trường tính bằng byte
"type": "Personal" 14
5 cho tên trường + 9 cho giá trị chuỗi của trường
"done": false 6
5 cho tên trường + 1 cho giá trị boolean của trường
"priority": 1 17
9 cho tên trường + 8 cho giá trị số nguyên của trường
"description": "Learn Cloud Firestore" 34
12 cho tên trường + 22 cho giá trị chuỗi của trường

Vì vậy kích thước tài liệu là 44 + 71 + 32 = 147 byte:

  • 44 byte cho tên tài liệu
  • 71 byte cho các trường
  • 32 byte bổ sung

Kích thước mục nhập chỉ mục

Kích thước mục nhập chỉ mục được tính như sau cho các chỉ mục trường đơn và chỉ mục tổng hợp.

Kích thước mục nhập chỉ mục một trường

Kích thước của mục nhập chỉ mục một trường tùy thuộc vào việc chỉ mục đó nằm trong phạm vi bộ sưu tập hay nhóm bộ sưu tập.

phạm vi thu thập

Kích thước của một mục trong chỉ mục một trường có phạm vi thu thập là tổng của:

Hãy xem xét một tài liệu trong bộ sưu tập phụ users/jeff/tasks có ID tài liệu chuỗi là my_task_id :

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Đối với chỉ mục một trường có phạm vi thu thập lập chỉ mục trường done , tổng kích thước của mục nhập trong chỉ mục này là 109 byte:

  • 44 byte cho tên tài liệu users/jeff/tasks/my_task_id
  • 27 byte cho tên tài liệu của tài liệu gốc users/jeff
  • 5 byte cho tên trường done
  • 1 byte cho giá trị trường boolean
  • 32 byte bổ sung

Phạm vi nhóm thu thập

Kích thước của một mục trong chỉ mục một trường có phạm vi nhóm bộ sưu tập là tổng của:

Hãy xem xét một tài liệu trong bộ sưu tập phụ users/jeff/tasks có ID tài liệu chuỗi là my_task_id :

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Đối với chỉ mục một trường có phạm vi nhóm thu thập lập chỉ mục trường done , tổng kích thước của mục nhập trong chỉ mục này là 98 byte:

  • 44 byte cho tên tài liệu users/jeff/tasks/my_task_id
  • 5 byte cho tên trường done
  • 1 byte cho giá trị trường boolean
  • 48 byte bổ sung

Kích thước mục nhập chỉ mục tổng hợp

Kích thước của một mục trong chỉ mục tổng hợp phụ thuộc vào việc chỉ mục đó nằm trong phạm vi bộ sưu tập hay nhóm bộ sưu tập.

phạm vi thu thập

Kích thước của mục nhập chỉ mục trong chỉ mục tổng hợp có phạm vi thu thập là tổng của:

Hãy xem xét một tài liệu trong tập hợp con users/jeff/tasks có ID tài liệu chuỗi là my_task_id :

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Đối với chỉ mục tổng hợp có phạm vi thu thập lập chỉ mục các trường done và trường priority (cả hai đều tăng dần), tổng kích thước của mục nhập trong chỉ mục này là 112 byte:

  • 44 byte cho tên tài liệu users/jeff/tasks/my_task_id
  • 27 byte cho tên tài liệu của tài liệu gốc users/jeff
  • 1 byte cho giá trị trường boolean
  • 8 byte cho giá trị trường số nguyên
  • 32 byte bổ sung

Phạm vi nhóm thu thập

Kích thước của mục nhập chỉ mục trong chỉ mục tổng hợp có phạm vi nhóm bộ sưu tập là tổng của:

Hãy xem xét một tài liệu trong tập hợp con users/jeff/tasks có ID tài liệu chuỗi là my_task_id :

 - "type": "Personal"
 - "done": false
 - "priority": 1
 - "description": "Learn Cloud Firestore"

Đối với chỉ mục tổng hợp có phạm vi nhóm tập hợp lập chỉ mục các trường done và trường priority (cả hai đều tăng dần), tổng kích thước của mục nhập chỉ mục trong chỉ mục này là 85 byte:

  • 44 byte cho tên tài liệu users/jeff/tasks/my_task_id
  • 1 byte cho giá trị trường boolean
  • 8 byte cho giá trị trường số nguyên
  • 32 byte bổ sung

Cái gì tiếp theo

Tìm hiểu về giá của Cloud Firestore .