Check out what’s new from Firebase at Google I/O 2022. 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 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

Để theo dõi 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 trang tổng quan để đánh giá mứ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 bạn tạo một dự án Firebase, bạn cũng đang tạo một dự án Google Cloud. Trang App Engine Quotas trong Google Cloud Console theo dõi việc sử dụng Cloud Firestore và thông tin về hạn ngạch.

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 bạn cần thêm hạn ngạch, bạn phải bật 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à được đặ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 Thông tin chi tiết
Ràng buộc về ID bộ sưu tập
  • Phải là các 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 lên ( / )
  • Không thể chỉ bao gồm một dấu chấm đơn ( . ) Hoặc dấu chấm kép ( .. )
  • Không thể khớp với biểu thức chính quy __.*__
Độ sâu tối đa của bộ sưu tập con 100
Ràng buộc về ID tài liệu
  • Phải là các 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 lên ( / )
  • Không thể chỉ bao gồm một dấu chấm đơn ( . ) Hoặc dấu chấm kép ( .. )
  • 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ể Datastore vào cơ sở dữ liệu Firestore, các ID thực thể số sẽ được hiển thị dưới dạng __id[0-9]+__
Kích thước tối đa cho 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à các ký tự UTF-8 hợp lệ
Kích thước tối đa của tên trường 1.500 byte
Ràng buộc trên đường dẫn thực địa
  • Phải tách các tên trường bằng một dấu chấm ( . )
  • Có thể được chuyển dưới dạng một chuỗi khi tất cả các tên trường trong đường dẫn là đơn giản, nếu không thì phải được chuyển dưới dạng một đối tượng FieldPath ( ví dụ: JavaScript FieldPath )
Tên trường đơn giản là một tên trường mà tất cả những điều sau đây đều đú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

Giới hạn Thông tin chi tiết
Ghi tối đa mỗi giây trên mỗi cơ sở dữ liệu 10.000 (lên đến 10 MiB mỗi giây)
Kích thước yêu cầu API tối đa 10 MiB
Số lần ghi tối đa có thể được chuyển cho một hoạt động Commit hoặc thực hiện trong một giao dịch 500
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 hoạt động Commit hoặc trong một 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 tải 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 dưới đây, nhưng làm như vậy sẽ ảnh hưởng đến hiệu suất.

Giới hạn mềm Thông tin chi tiết
Tốc độ ghi tối đa được duy trì vào một tài liệu

1 mỗi giây

Duy trì tốc độ ghi trên một lần mỗi giây sẽ làm tăng độ trễ và gây ra lỗi tranh cãi. Đây không phải là một giới hạn cứng và bạn có thể vượt qua giới hạn trong các đợt giao dịch ngắn hạn.

Tốc độ ghi tối đa vào tập hợ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

Cập nhật thời gian thực

Giới hạn mềm Thông tin chi tiết
Các kết nối đồng thời tối đa cho các ứng dụng di động / web trên mỗi cơ sở dữ liệu

1.000.000

Cloud Firestore không ngăn bạn vượt quá giới hạn mềm này nhưng làm như vậy ảnh hưởng rất nhiều đến độ trễ và tỷ lệ lỗi.

Chỉ mục

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

Giới hạn Thông tin chi tiết
Số lượng chỉ mục tổng hợp tối đa cho một cơ sở dữ liệu 200
Số lượng miễn trừ chỉ mục trường đơn tối đa cho cơ sở dữ liệu 200

Số lượng 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 các mục sau cho một tài liệu:

  • Số lượng mục nhập chỉ mục trường đơn
  • Số lượng 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ố mục nhập chỉ mục này .

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ác kích thước sau cho một tài liệu:

  • Tổng kích thước của các mục nhập chỉ mục trường đơn 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 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 ngắn có thể trả về kết quả không nhất quá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 Thông tin chi tiết
    Tổng số lượng tối đa cả yêu cầu xuất và nhập cho một dự án được phép mỗi phút 20
    Số lượng tối đa các lần xuất và nhập đồng thời 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 Thông tin chi tiết
    Số lượng lệnh gọi exists() , get()getAfter() tối đa cho mỗi yêu cầu
    • 10 cho các yêu cầu một tài liệu và các yêu cầu truy vấn.
    • 20 cho nhiều lần đọc, giao dịch và ghi hàng loạt. Giới hạn trước đó là 10 cũng được áp dụng cho mỗi hoạt động.

      Ví dụ: hãy tưởng tượng bạn tạo một yêu cầu ghi hàng loạt 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 của nó và yêu cầu ghi theo đợt sử dụng 6 trong số 20 lệnh gọi truy cập của nó.

    Vượt quá một trong hai giới hạn dẫn đến lỗi bị từ chối cấp phép.

    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 câu lệnh match lồng nhau tối đa 10
    Độ dài đường dẫn tối đa, trong các phân đoạn đường dẫn, được phép trong một tập hợp các câu lệnh so 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 so match lồng nhau 20
    Độ sâu cuộc gọi chức năng tối đa 20
    Số lượng tối đa các đối số của hàm 7
    Số lượng tối đa các ràng buộc biến let mỗi hàm 10
    Số lượng lệnh gọi hàm đệ quy hoặc tuần hoàn tối đa 0 (không được phép)
    Số lượng 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 về 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 sử dụng firebase deploy .
    • giới hạn 250 KB về 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 trên back-end.

    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í dự kiến ​​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 qua đá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 với 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ề cách 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 liên quan đến App Engine, bao gồm Cloud Firestore. Giới hạn của App Engine không áp dụng cho bất kỳ sản phẩm Firebase nào khác.