Hãy sử dụng hướng dẫn này để tìm hiểu về các giới hạn của Cloud Firestore, và xem Cloud Firestore Giá để biết thông tin giải thích đầy đủ và chi tiết về Cloud Firestore chi phí, bao gồm cả những điều cần lưu ý.
Theo dõi mức sử dụng
Để theo dõi mức sử dụng Cloud Firestore, hãy mở thẻ Cloud Firestore Mức sử dụng 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.
Thông tin chi tiết về mức sử dụng trong bảng điều khiển Google Cloud
Khi tạo một dự án Firebase, bạn cũng đang tạo một dự án Google Cloud. Các trang Cloud Firestore Hạn mức API và App Engine Hạn mức trong bảng điều khiển Google Cloud theo dõi thông tin về hạn mức và mức sử dụng Cloud Firestore.
Hạn mức miễn phí
Cloud Firestore cung cấp hạn mức miễn phí để bạn có thể bắt đầu sử dụng mà không tốn chi phí. Nếu cần thêm hạn mức, bạn phải bật tính năng thanh toán cho dự ánGoogle Cloud của bạn.
Hạn mức đượ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ảng sau đây tóm tắt số lượng hạn mức miễn phí:
| Bậc miễn phí | Hạn mức |
|---|---|
| Dữ liệu đã lưu | 1 GiB |
| Số lần đọc tài liệu | 50.000 mỗi ngày |
| Số lần ghi tài liệu | 20.000 mỗi ngày |
| Số lần xoá tài liệu | 20.000 mỗi ngày |
| Truyền dữ liệu đi | 10 GiB mỗi tháng |
Các thao tác và tính năng sau đây không bao gồm mức sử dụng miễn phí. Bạn phải bật tính năng thanh toán để sử dụng các tính năng này:
- Xoá TTL
- Dữ liệu PITR
- Dữ liệu sao lưu
- Thao tác khôi phục
- Thao tác sao chép
Để biết thêm thông tin về cách tính phí các tính năng này, hãy xem trang Giá lưu trữ.
Giới hạn tiêu chuẩn
Các bảng sau đây cho thấy các giới hạn áp dụng cho Cloud Firestore. Đây là các giới hạn cứng, trừ phi có ghi chú khác.
Cơ sở dữ liệu
| Giới hạn | Thông tin chi tiết |
|---|---|
| Số lượng cơ sở dữ liệu tối đa cho mỗi dự án |
100 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ơ sở dữ liệu khoá mã hoá do khách hàng quản lý (CMEK) tối đa cho mỗi dự án |
0 Theo mặc định, hạn mức là 0 vì tính năng này nằm sau danh sách cho phép. Bạn có thể yêu cầu tăng hạn mức bằng cách điền vào biểu mẫu yêu cầu quyền truy cập CMEK. |
Bộ sưu tập, tài liệu và trường
| Giới hạn | Thông tin chi tiết |
|---|---|
| Các ràng buộc đối với mã bộ sưu tập |
|
| Độ sâu tối đa của bộ sưu tập con | 100 |
| Các ràng buộc đối với mã tài liệu |
|
| 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) |
| Các ràng buộc đối với tên trường |
|
| Kích thước tối đa của tên trường | 1.500 byte |
| Các ràng buộc đối với đường dẫn trường |
`). Ví dụ: foo.`x&y` đề cập đến trường x&y được lồng trong trường foo. Để tạo tên trường bằng ký tự dấu huyền, hãy thoát ký tự dấu huyền bằng ký tự dấu gạch chéo ngược (\). Để thuận tiện, bạn có thể tránh tên trường được trích dẫn bằng cách truyền đường dẫn trường dưới dạng đối tượng FieldPath (ví dụ: xem FieldPath JavaScript).
|
| 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 giá trị trường | 1 MiB – 89 byte (1.048.487 byte) |
| Độ sâu tối đa của các trường trong một bản đồ hoặc mảng | 20 Các trường bản đồ và mảng thêm một cấp vào độ sâu tổng thể của một đối tượng. Ví dụ: đối tượng sau đây có tổng chiều sâu là 3 cấp: |
Thao tác ghi 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ế cho quy mô.
| Giới hạn | Thông tin chi tiết |
|---|---|
| Kích thước tối đa của yêu cầu API | 10 MiB |
| Thời gian giớ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 |
Số lượng tối đa các phép biến đổi trường có thể được thực hiện trên một
tài liệu trong thao tác Commit hoặc trong một
giao dịch |
500 |
Chỉ số
Các giới hạn sau đây áp dụng cho chỉ mục một trường 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 |
|
| Số lượng cấu hình một trường tối đa cho một cơ sở dữ liệu |
Một cấu hình cấp trường có thể chứa nhiều cấu hình cho cùng một trường. Ví dụ: một trường được miễn lập chỉ mục và một 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 theo giới hạn. |
|
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 đây cho một tài liệu:
Để xem cách Cloud Firestore chuyển một tài liệu và một tập hợp 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ố lượng 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 một tài liệu |
8 MiB Tổng kích thước là tổng của các mục sau đây cho một tài liệu: |
| Kích thước tối đa của giá trị trường được lập chỉ mục |
1.500 byte Các giá trị trường trên 1.500 byte sẽ 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 | Thông tin chi tiết |
|---|---|
| Số lượng cấu hình một trường tối đa cho một cơ sở dữ liệu |
Một cấu hình cấp trường có thể chứa nhiều cấu hình cho cùng một trường. Ví dụ: một trường được miễn lập chỉ mục và một 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 theo giới hạn. |
Xuất khẩu/Nhập khẩu
Các giới hạn sau đây áp dụng cho các thao tác nhập và xuất được quản lý:
| Giới hạn | Thông tin chi tiết |
|---|---|
| Tổng số 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ượng tối đa các thao tác xuất và nhập đồng thời | 50 |
| Số lượng tối đa bộ lọc mã bộ sưu tập 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 tối đa các lệnh gọi exists(), get() và getAfter() cho mỗi yêu cầu |
Việc vượt quá một trong hai giới hạn sẽ dẫn đến lỗi bị từ chối quyền. Một số lệnh gọi truy cập tài liệu có thể được lưu vào bộ nhớ đệm, và các lệnh gọi được lưu vào bộ nhớ đệm không được tính vào giới hạn. |
Độ sâu tối đa của câu lệnh match được lồng |
10 |
Độ dài đường dẫn tối đa (tính bằng phân đoạn đường dẫn) được phép trong một tập hợp các câu lệnh
match được lồng |
100 |
Số lượng tối đa các biến chụp đường dẫn được phép trong một tập hợp các
câu lệnh match được lồng |
20 |
| Độ sâu tối đa của lệnh gọi hàm | 20 |
| Số lượng đối số hàm tối đa | 7 |
Số lượng tối đa các liên kết biến let cho mỗi hàm |
10 |
| Số lượng tối đa các lệnh gọi hàm đệ quy hoặc theo chu kỳ | 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 tập quy tắc | Tập quy tắc phải tuân thủ 2 giới hạn về kích thước:
|
Quản lý chi tiêu
Để tránh các khoản phí không mong muốn trên hoá đơ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, hãy tạo ngân sách hằng tháng trong bảng điều khiển Google Cloud. 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 đến hoặc vượt quá chi phí dự kiến cho tháng đó.
Để đặt ngân sách, hãy chuyển đến phần Thanh toán trong bảng điều khiển Google Cloud rồi tạo ngân sách cho tài khoản Cloud Billing. Bạn có thể sử dụng chế độ 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 ở các tỷ lệ phần trăm khác nhau của ngân sách hằng tháng.
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.