Catch up on highlights from Firebase at Google I/O 2023. Learn more

Sử dụng và giới hạn

Sử dụng hướng dẫn này để hiểu các giới hạn của Cloud Firestore và xem Định giá của Cloud Firestore để có giải thích đầy đủ, chi tiết về chi phí của Cloud Firestore, bao gồm cả những điều cần chú ý.

Giám sát việc sử dụng của bạn

Để giám sát việc sử dụng Cloud Firestore của bạn, hãy mở tab Sử dụng Cloud Firestore trong bảng điều khiển Firebase. Sử dụng bảng điều khiển để đánh giá việc sử dụng của bạn trong các khoảng thời gian khác nhau.

Cách sử dụng chi tiết trong Google Cloud Console

Khi tạo dự án Firebase, bạn cũng đang tạo dự án Google Cloud. Các trang Hạn ngạch API Cloud FirestoreHạn ngạch máy ứng dụng trong Google Cloud Console theo dõi thông tin hạn ngạch và mức sử dụng Cloud Firestore.

hạn ngạch miễn phí

Cloud Firestore cung cấp hạn ngạch miễn phí cho phép bạn bắt đầu miễn phí. Số lượng hạn ngạch miễn phí được liệt kê dưới đây. Nếu cần thêm hạn ngạch, bạn phải bật tính năng thanh toán cho dự án Nền tảng đám mây của mình .

Hạn ngạch được áp dụng hàng ngày và đặt lại vào khoảng nửa đêm theo giờ Thái Bình Dương.

bậc miễn phí Hạn ngạch
Dữ liệu được lưu trữ 1 GIB
tài liệu đọc 50.000 mỗi ngày
tài liệu viết 20.000 mỗi ngày
Xóa tài liệu 20.000 mỗi ngày
đầu ra mạng 10 GiB mỗi tháng

giới hạn tiêu chuẩn

Các bảng sau đây hiển thị các giới hạn áp dụng cho Cloud Firestore. Đây là những giới hạn cứng trừ khi có ghi chú khác.

Bộ sưu tập, tài liệu và trường

Giới hạn Chi tiết
Các ràng buộc về ID bộ sưu tập
  • Phải là ký tự UTF-8 hợp lệ
  • Không được dài hơn 1.500 byte
  • Không được chứa dấu gạch chéo ( / )
  • Không thể chỉ bao gồm một dấu chấm ( . ) hoặc hai dấu chấm ( .. )
  • Không thể khớp với biểu thức chính quy __.*__
Độ sâu tối đa của các bộ sưu tập con 100
Các ràng buộc về ID tài liệu
  • Phải là ký tự UTF-8 hợp lệ
  • Không được dài hơn 1.500 byte
  • Không được chứa dấu gạch chéo ( / )
  • Không thể chỉ bao gồm một dấu chấm ( . ) hoặc hai dấu chấm ( .. )
  • Không thể khớp với biểu thức chính quy __.*__
  • Nếu bạn nhập các thực thể Kho dữ liệu vào cơ sở dữ liệu Firestore, ID thực thể số sẽ hiển thị dưới dạng __id[0-9]+__
Kích thước tối đa cho một tên tài liệu 6 KiB
Kích thước tối đa cho một tài liệu 1 MiB (1.048.576 byte)
Ràng buộc về tên trường Phải là ký tự UTF-8 hợp lệ
Kích thước tối đa của tên trường 1.500 byte
Các ràng buộc trên đường dẫn trường
  • Phải tách tên trường bằng một dấu chấm ( . )
  • Có thể được chuyển dưới dạng chuỗi khi tất cả các tên trường trong đường dẫn đều đơn giản, nếu không thì phải được chuyển dưới dạng đối tượng FieldPath ( ví dụ: JavaScript FieldPath )
Một tên trường đơn giản là một trong đó tất cả những điều sau đây là đúng:
  • Chỉ chứa các ký tự az , AZ , 0-9 và dấu gạch dưới ( _ )
  • Không bắt đầu bằng 0-9
Kích thước tối đa của đường dẫn trường 1.500 byte
Kích thước tối đa của một giá trị trường 1 MiB - 89 byte (1.048.487 byte)
Độ sâu trường tối đa trong bản đồ hoặc mảng 20

Viết và giao dịch

Ngoài các giới hạn này, bạn cũng nên xem các phương pháp hay nhất để thiết kế theo tỷ lệ .

Giới hạn Chi tiết
Kích thước yêu cầu API tối đa 10 MiB
Số lượng chuyển đổi trường tối đa có thể được thực hiện trên một tài liệu trong thao tác Commit hoặc trong giao dịch 500
Thời hạn cho một giao dịch 270 giây, với thời gian hết hạn không hoạt động là 60 giây

giới hạn mềm

Cloud Firestore không ngăn bạn vượt quá các ngưỡng bên dưới, nhưng làm như vậy sẽ ảnh hưởng đến hiệu suất.

giới hạn mềm Chi tiết
Tốc độ ghi tối đa vào bộ sưu tập trong đó tài liệu chứa các giá trị tuần tự trong trường được lập chỉ mục 500 mỗi giây

chỉ mục

Các giới hạn sau áp dụng cho chỉ mục trường đơnchỉ mục tổng hợp :

Giới hạn Chi tiết
Số chỉ mục tổng hợp tối đa cho một cơ sở dữ liệu

200

Bạn có thể liên hệ với bộ phận hỗ trợ để yêu cầu tăng giới hạn này.

Số lượng cấu hình trường đơn tối đa cho cơ sở dữ liệu

200

Cho phép tổng cộng 200 cấu hình cấp trường. Một cấu hình trường có thể chứa nhiều cấu hình cho cùng một trường. Ví dụ: miễn lập chỉ mục một trường và chính sách TTL trên cùng một trường được tính là một cấu hình trường đối với giới hạn.

Số mục nhập chỉ mục tối đa cho mỗi tài liệu

40.000

Số lượng mục nhập chỉ mục là tổng của những điều sau đây cho một tài liệu:

  • Số mục nhập chỉ mục trường đơn
  • Số mục nhập chỉ mục tổng hợp

Để xem cách Cloud Firestore biến một tài liệu và một tập hợp các chỉ mục thành các mục nhập chỉ mục, hãy xem ví dụ về số lượng mục nhập chỉ mục này .

Số trường tối đa trong một chỉ mục tổng hợp 100
Kích thước tối đa của một mục nhập chỉ mục

7,5 KiB

Để xem cách Cloud Firestore tính toán kích thước mục nhập chỉ mục, hãy xem kích thước mục nhập chỉ mục .

Tổng kích thước tối đa của các mục nhập chỉ mục của tài liệu

8 MiB

Tổng kích thước là tổng của những điều sau đây cho một tài liệu:

  • Tổng kích thước của các mục nhập chỉ mục một trường của tài liệu
  • Tổng kích thước của các mục nhập chỉ mục tổng hợp của tài liệu
  • Kích thước tối đa của một giá trị trường được lập chỉ mục

    1500 byte

    Giá trị trường trên 1500 byte bị cắt bớt. Các truy vấn liên quan đến giá trị trường bị cắt bớt có thể trả về kết quả không nhất quán.

    Thời gian tồn tại (TTL)

    Giới hạn Chi tiết
    Số lượng cấu hình trường đơn tối đa cho cơ sở dữ liệu

    200

    Cho phép tổng cộng 200 cấu hình cấp trường. Một cấu hình trường có thể chứa nhiều cấu hình cho cùng một trường. Ví dụ: miễn lập chỉ mục một trường và chính sách TTL trên cùng một trường được tính là một cấu hình trường đối với giới hạn.

    Xuất nhập khẩu

    Các giới hạn sau áp dụng cho các hoạt động xuất nhập khẩu được quản lý :

    Giới hạn Chi tiết
    Tổng số lượng yêu cầu xuất và nhập tối đa cho một dự án được phép mỗi phút 20
    Số lần xuất và nhập đồng thời tối đa 50
    Số bộ lọc ID bộ sưu tập tối đa cho các yêu cầu xuất và nhập 100

    Quy tắc bảo mật

    Giới hạn Chi tiết
    Số lượng lệnh exists() , get()getAfter() tối đa cho mỗi yêu cầu
    • 10 cho các yêu cầu tài liệu đơn và yêu cầu truy vấn.
    • 20 để đọc, giao dịch và ghi nhiều tài liệu. Giới hạn trước đó là 10 cũng áp dụng cho từng thao tác.

      Ví dụ: hãy tưởng tượng bạn tạo một yêu cầu ghi theo lô với 3 thao tác ghi và các quy tắc bảo mật của bạn sử dụng 2 lệnh gọi truy cập tài liệu để xác thực mỗi lần ghi. Trong trường hợp này, mỗi lần ghi sử dụng 2 trong số 10 lệnh gọi truy cập và yêu cầu ghi theo lô sử dụng 6 trong số 20 lệnh gọi truy cập.

    Vượt quá một trong hai giới hạn sẽ dẫn đến lỗi quyền bị từ chối.

    Một số cuộc gọi truy cập tài liệu có thể được lưu trong bộ nhớ cache và các cuộc gọi được lưu trong bộ nhớ cache không được tính vào giới hạn.

    Độ sâu match lồng nhau tối đa 10
    Độ dài đường dẫn tối đa, trong các đoạn đường dẫn, được phép trong một tập hợp các câu lệnh match lồng nhau 100
    Số lượng biến nắm bắt đường dẫn tối đa được phép trong một tập hợp các câu lệnh match lồng nhau 20
    Độ sâu cuộc gọi chức năng tối đa 20
    Số đối số hàm tối đa 7
    Số liên kết biến let tối đa trên mỗi hàm 10
    Số lần gọi hàm đệ quy hoặc theo chu kỳ tối đa 0 (không được phép)
    Số biểu thức tối đa được đánh giá cho mỗi yêu cầu 1.000
    Kích thước tối đa của một bộ quy tắc Bộ quy tắc phải tuân theo hai giới hạn kích thước:
    • giới hạn 256 KB đối với kích thước của nguồn văn bản bộ quy tắc được xuất bản từ bảng điều khiển Firebase hoặc từ CLI bằng firebase deploy .
    • giới hạn 250 KB đối với kích thước của bộ quy tắc đã biên dịch là kết quả khi Firebase xử lý nguồn và làm cho nó hoạt động ở mặt sau.

    quản lý chi tiêu

    Để giúp tránh các khoản phí không mong muốn trên hóa đơn của bạn, hãy đặt ngân sách và cảnh báo hàng tháng.

    Đặt ngân sách hàng tháng

    Để theo dõi chi phí Cloud Firestore của bạn, hãy tạo ngân sách hàng tháng trong Google Cloud Console. Ngân sách sẽ không giới hạn mức sử dụng của bạn, nhưng bạn có thể đặt cảnh báo để thông báo cho bạn khi bạn sắp đạt hoặc vượt quá chi phí theo kế hoạch trong tháng.

    Để đặt ngân sách, hãy chuyển đến phần Thanh toán trong Google Cloud Console và tạo ngân sách cho tài khoản Thanh toán trên đám mây của bạn. Bạn có thể sử dụng cài đặt cảnh báo mặc định hoặc sửa đổi cảnh báo để gửi thông báo theo các tỷ lệ phần trăm khác nhau trong ngân sách hàng tháng của mình.

    Tìm hiểu thêm về thiết lập ngân sách và cảnh báo ngân sách .

    Đặt giới hạn chi tiêu hàng ngày

    Để giới hạn mức sử dụng Cloud Firestore của bạn, hãy đặt giới hạn chi tiêu hàng ngày thông qua App Engine. App Engine cho phép bạn đặt giới hạn chi tiêu hàng ngày cho các tài nguyên được liên kết với App Engine, bao gồm cả Cloud Firestore. Giới hạn Máy ứng dụng không áp dụng cho bất kỳ sản phẩm Firebase nào khác.