Trang này mô tả kích thước bộ nhớ 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ộ nhớ này tại Cloud Firestore Giá.Kích thước chuỗi
Kích thước chuỗi được tính bằng số byte được mã hoá UTF-8 + 1.
Các giá trị sau đây được lưu trữ dưới dạng chuỗi:
- Mã bộ sưu tập
- Mã tài liệu chuỗi
- Tên tài liệu
- Tên trường
- Giá trị của trường chuỗi
Ví dụ:
- Mã bộ sưu tập
tasks
dùng 5 byte + 1 byte, tổng cộng 6 byte. - Tên trường
description
sử dụng 11 byte + 1 byte, tổng cộng là 12 byte.
Kích thước mã nhận dạng tài liệu
Kích thước của mã tài liệu là kích thước chuỗi của chuỗi Mã nhận dạng hoặc 8 byte đối với mã nhận dạng 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 mỗi mã bộ sưu tập và mã 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 bộ sưu tập con users/jeff/tasks
có mã tài liệu chuỗi
trong my_task_id
, kích thước tên tài liệu là 6 + 5 + 6 + 11 + 16 = 44 byte:
- 6 byte cho mã bộ sưu tập
users
- 5 byte cho mã nhận dạng tài liệu
jeff
- 6 byte cho mã bộ sưu tập
tasks
- 11 byte cho mã tài liệu
my_task_id
- 16 byte bổ sung
Kích thước giá trị của trường
Bảng sau đây cho biết kích thước của giá trị trường theo loại.
Loại | Kích thước |
---|---|
Mảng | Tổng kích thước của các giá trị |
Boolean | 1 byte |
Byte | Độ dài byte |
Ngày và giờ | 8 byte |
Số dấu phẩy động | 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 theo cách tương tự như kích thước tài liệu |
Null | 1 byte |
Tham khảo | Kích thước tên tài liệu |
Chuỗi văn bản | Số byte được mã hoá UTF-8 + 1 |
Ví dụ: một 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:
- Kích thước tên tài liệu
- Tổng kích thước chuỗi của mỗi tên trường
- Tổng kích thước của từng giá trị trường
- 32 byte bổ sung
Ví dụ này là về một tài liệu trong bộ sưu tập con users/jeff/tasks
có mã 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 và giá trị trường | 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 |
Do đó, 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 đối với chỉ mục đơn trường 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 phụ thuộc vào việc chỉ mục có nằm trong phạm vi một bộ sưu tập hoặc một 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 trong số:
- Kích thước tên tài liệu của tài liệu được lập chỉ mục
- Kích thước tên tài liệu của tài liệu gốc được lập chỉ mục tài liệu
- Kích thước chuỗi của tên trường được lập chỉ mục
- Kích thước của giá trị trường được lập chỉ mục
- 32 byte bổ sung
Hãy xem xét một tài liệu trong tập hợp con users/jeff/tasks
có mã tài liệu dạng 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 giúp lập chỉ mục done
trường, tổng kích thước của mục 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
users/jeff
của tài liệu gốc - 5 byte cho tên trường
done
- 1 byte cho giá trị trường boolean
- 32 byte bổ sung
Phạm vi của 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 thu thập là tổng của:
- Kích thước tên tài liệu của tài liệu được lập chỉ mục
- Kích thước chuỗi của tên trường được lập chỉ mục
- Kích thước của giá trị trường được lập chỉ mục
- 48 byte bổ sung
Xem xét một tài liệu trong tập hợp con users/jeff/tasks
có
mã tài liệu chuỗi của 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 bộ sưu tậ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 đó có nằm trong phạm vi hay không đối với một bộ sưu tập hoặc nhóm bộ sưu tập.
Phạm vi thu thập
Kích thước của một 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:
- Kích thước tên tài liệu của tài liệu được lập chỉ mục
- Kích thước tên tài liệu của tài liệu gốc được lập chỉ mục tài liệu
- Tổng của giá trị trường đã lập chỉ mục
- 32 byte bổ sung
Xem xét một tài liệu trong tập hợp con users/jeff/tasks
có
mã tài liệu chuỗi của 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 nhằm lập chỉ mục done
và
priority
trường (cả hai đều tăng dần), tổng kích thước của mục 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
users/jeff
của tài liệu gốc - 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 của 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 thu thập là tổng của:
- Kích thước tên tài liệu của tài liệu được lập chỉ mục
- Tổng của giá trị trường đã lập chỉ mục
- 32 byte bổ sung
Xem xét một tài liệu trong tập hợp con users/jeff/tasks
có
mã tài liệu chuỗi của 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 thu thập nhằm lập chỉ mục done
và
priority
trường (cả hai đều tăng dần), tổng kích thước của mục nhập chỉ mục trong trường này
chỉ mục 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