Dung lượng bộ nhớ

Chỉ áp dụng cho phiên bản Cloud Firestore Enterprise.

Trang này mô tả kích thước bộ nhớ của tài liệu, trường và mục nhập chỉ mục trong Cloud Firestore có khả năng tương thích với MongoDB.

Bạn có thể tìm hiểu về chi phí của bộ nhớ này trên trang 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.

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

  • Tên bộ sưu tập
  • Tên trường
  • Giá trị trường chuỗi (bao gồm cả _id)

Ví dụ:

  • Tên bộ sưu tập tasks sử dụng 5 byte + 1 byte, tổng cộng là 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 giá trị trường

Bảng sau đây cho biết kích thước của các 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
Dữ liệu nhị phân Độ dài byte + 1 cho loại phụ không chung chung (không phải 0)
Ngày 8 byte
Giường đôi 8 byte
Double128 16 byte
Số nguyên 32 bit 4 byte
Số nguyên 64 bit (dài) 8 byte
Đối tượng Tổng kích thước chuỗi của từng tên trường và kích thước của từng giá trị trường trong đối tượng được nhúng
Khoá tối thiểu 1 byte
Max Key 1 byte
Null 1 byte
Cụm từ thông dụng (Độ dài mẫu + 1) + (Độ dài lựa chọn + 1)
Dấu thời gian 8 byte
Chuỗi Số lượng byte được mã hoá theo 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 tập hợp tasks:

{
  "_id": "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à 78 byte:

Tên và giá trị trường Kích thước trường tính bằng byte
"_id": "my_task_id" 11 cho giá trị chuỗi của trường
"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 + 4 cho giá trị số nguyên 32 bit 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ậy kích thước tài liệu là 6 + 78 + 48 = 132 byte:

  • 6 cho tên bộ sưu tập
  • 78 byte cho các trường
  • 48 byte bổ sung

Kích thước mục chỉ mục

Kích thước của một mục chỉ mục trong chỉ mục là tổng của:

Hãy xem xét một tài liệu trong tập hợp tasks:

{
  "_id": "my_task_id",
  "type": "Personal",
  "done": false,
  "priority": 1,
  "description": "Learn Cloud Firestore"
}

Đối với chỉ mục trên các trường donepriority (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à 70 byte:

  • 6 byte cho tên bộ sưu tập tasks
  • 11 byte cho giá trị trường _id
  • 1 byte cho giá trị trường boolean
  • 4 byte cho giá trị trường số nguyên 32 bit
  • 48 byte bổ sung

Đối với chỉ mục thưa thớt, nếu một tài liệu không chứa bất kỳ trường nào, thì không có mục nhập chỉ mục nào được tạo. Nếu một tài liệu chứa ít nhất một trong các trường được lập chỉ mục, thì một mục chỉ mục sẽ được tạo với các trường được lập chỉ mục không có giá trị được đặt thành NULL.

Bước tiếp theo

Tìm hiểu về giá.