Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Xem ví dụ về giá của Cloud Firestore

Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

Sử dụng ví dụ thực tế này về ứng dụng trò chuyện cơ bản để đánh giá chi phí và mức sử dụng Cloud Firestore của bạn. Đây không phải là ước tính chính xác, nhưng nó có thể giúp bạn hiểu rõ hơn về cách tính phí sử dụng Cloud Firestore của bạn.

Tổng quan: Chi phí theo mức độ sử dụng

Để minh họa chi phí điển hình, hãy xem xét một ứng dụng trò chuyện mẫu, trong đó người dùng có thể bắt đầu trò chuyện với hai hoặc nhiều người tham gia. Người dùng có thể xem các cuộc trò chuyện đang hoạt động của họ trong danh sách, đọc tin nhắn và gửi tin nhắn. Đối với ví dụ này, chúng tôi đang sử dụng giá cho đa khu vực Bắc Mỹ (cụ thể là nam5 ).

giả định

Xem xét các giả định sau về việc sử dụng và lưu trữ dữ liệu:

  • Người dùng hoạt động hàng ngày (DAU) chiếm 10% tổng số lượt cài đặt ứng dụng. Bạn có thể ước tính chi phí hàng ngày của mình bằng cách sử dụng ước tính sơ bộ về Người dùng hoạt động hàng ngày (DAU). Đây là những người dùng tích cực mở và sử dụng ứng dụng của bạn vào một ngày nhất định, thường là một phần nhỏ trong tổng số lượt cài đặt ứng dụng của bạn. Đối với các phép tính bên dưới, chúng tôi ước tính DAU chiếm 10% tổng số lượt cài đặt ứng dụng.
  • Kích thước tài liệu tương đối nhỏ. Xem bảng bên dưới để biết chi tiết về kích thước tài liệu theo loại.
  • Dữ liệu chỉ được lưu trữ trong ba tháng. Các tin nhắn trong ứng dụng trò chuyện ví dụ chỉ được lưu trữ trong khoảng thời gian ba tháng. Để giải thích cho các hoạt động xóa, các phép tính bên dưới hiển thị một lần xóa hàng ngày cho mỗi lần ghi hàng ngày.
  • Các ước tính chi phí này phản ánh phần lớn chi phí của ứng dụng mẫu, nhưng không phải tất cả. Chúng tôi đã hạch toán phần lớn chi phí của ứng dụng bằng cách tính toán các hoạt động, dung lượng lưu trữ của người dùng và thư cũng như đầu ra cho các tác vụ người dùng thường xuyên nhất được nêu trong hướng dẫn này. Tuy nhiên, bạn có thể cần tính đến chi phí bổ sung, tùy thuộc vào cấu trúc ứng dụng và nhu cầu dữ liệu của bạn. Sử dụng ví dụ này để hướng dẫn tính toán của bạn, nhưng hãy tham khảo trang định giá để biết giải thích kỹ lưỡng hơn về chi phí của Cloud Firestore.

Để biết chi tiết về các hoạt động theo nhiệm vụ của người dùng, hãy xem phần Phân tích: Mức sử dụng được tính phí theo nhiệm vụ của người dùng .

Bé nhỏ
(50 nghìn lượt cài đặt)

Đối với 50.000 lượt cài đặt ứng dụng (5.000 Người dùng hoạt động hàng ngày): 12,14 USD/tháng

Chi phí Đọc/Ghi
Tổng chi phí hàng tháng = $11,10/tháng
Tổng số 400 nghìn lượt đọc hàng ngày = 50 nghìn lượt đọc miễn phí + (350 nghìn lượt đọc ở mức 0,06 đô la/100 nghìn) = 3,5 * 0,06 đô la
0,21 USD / ngày * 30 = 6,30 USD
Tổng cộng 100 nghìn lượt viết hàng ngày = 20K ghi miễn phí + (80K ghi ở mức 0,18 USD/100K) = 0,8 * 0,18 đô la
0,14 USD / ngày * 30 = 4,20 USD
Tổng cộng 100 nghìn lượt xóa hàng ngày = 20K lượt xóa miễn phí + (80K lượt xóa ở mức 0,02 USD/100K) = 0,8 * 0,02 đô la
0,02 USD / ngày * 30 = 0,60 USD
Chi phí lưu trữ/mạng
Tổng chi phí hàng tháng = $1,04/tháng
20KB/DAU xuất ra hàng ngày * 5K DAU = 100 MB lưu lượng truy cập hàng ngày * 30 = 3GB truy cập mạng hàng tháng
3 GB đầu ra miễn phí = 1 miễn phí
15KB dung lượng tin nhắn hàng ngày / Dung lượng DAU + 3KB / cài đặt 2 = 45KB dung lượng lưu trữ / DAU * 5K DAU = 225 MB dung lượng lưu trữ hàng ngày / DAU * 30 = Sử dụng dung lượng lưu trữ hàng tháng 6,75GB
Bộ nhớ miễn phí 1GB + (5,75 * 0,18 USD) = 1,04 USD / tháng

1 10GB dung lượng truy cập mạng hàng tháng là miễn phí đối với Cloud Firestore.
2 Vì giả định của chúng tôi là DAU chiếm 10% tổng số lượt cài đặt ứng dụng nên con số này chiếm tổng số người dùng đã cài đặt ứng dụng của bạn.

Trung bình
(1 triệu lượt cài đặt)

Đối với 1.000.000 lượt cài đặt ứng dụng (100.000 Người dùng hoạt động hàng ngày): $292,02/tháng

Chi phí Đọc/Ghi
Tổng chi phí hàng tháng = $261,90/tháng
Tổng số 8 triệu lượt đọc hàng ngày = 50 nghìn lượt đọc miễn phí + (7,95 triệu lượt đọc ở mức 0,06 đô la/100 nghìn) = 79,5 * 0,06 đô la
4,77 USD / ngày * 30 = 143,10 USD
Tổng số 2M viết hàng ngày = 20K ghi miễn phí + (1,98 triệu ghi ở mức 0,18 USD/100K) = 19,8 * 0,18 đô la
3,56 USD / ngày * 30 = 106,80 USD
Tổng số 2 triệu lượt xóa hàng ngày = 20 nghìn lượt xóa miễn phí + (1,98 triệu lượt xóa ở mức 0,02 USD/100 nghìn) = 19,8 * 0,02 đô la
0,40 USD / ngày * 30 = 12,00 USD
Chi phí lưu trữ/mạng
Tổng chi phí hàng tháng = $30,12/tháng
20KB/DAU xuất ra hàng ngày * 100K DAU = 2GB lưu lượng truy cập hàng ngày * 30 = 60GB truy cập mạng hàng tháng
10 GB đầu ra miễn phí + (50GB đầu ra * 0,12 USD/GB) = 6,00 USD / tháng
15KB dung lượng tin nhắn hàng ngày / Dung lượng DAU + 3KB / cài đặt 1 = 45KB dung lượng lưu trữ / DAU * 100K DAU = 4,5GB dung lượng lưu trữ hàng ngày / DAU * 30 = Dung lượng lưu trữ hàng tháng 135GB
Bộ nhớ miễn phí 1GB + (134GB * 0,18 USD/GB) = 24,12 USD / tháng

1 Vì giả định của chúng tôi là DAU chiếm 10% tổng số lượt cài đặt ứng dụng nên con số này chiếm tổng số người dùng đã cài đặt ứng dụng của bạn.

Lớn
(10 triệu lượt cài đặt)

Đối với 10.000.000 lượt cài đặt ứng dụng (1.000.000 Người dùng hoạt động hàng ngày): $2951,52

Chi phí Đọc/Ghi
Tổng chi phí hàng tháng = Tổng cộng: $2637,90/tháng
Tổng số 80 triệu lượt đọc hàng ngày = 50 nghìn lượt đọc miễn phí + (79,95 triệu lượt đọc ở mức 0,06 đô la/100 nghìn) = 799,5 * 0,06 đô la
47,97 USD / ngày * 30 = 1439,10 USD
Tổng cộng 20 triệu lượt viết hàng ngày = 20 nghìn lượt ghi miễn phí + (19,98 triệu lượt ghi ở mức 0,18 USD/100 nghìn) = 199,8 * 0,18 đô la
35,96 USD / ngày * 30 = 1078,80 USD
Tổng số 20 triệu lượt xóa hàng ngày = 20 nghìn lượt xóa miễn phí + (19,98 triệu lượt xóa ở mức 0,02 USD/100 nghìn) = 199,8 * 0,02 đô la
4,00 USD / ngày * 30 = 120,00 USD
Chi phí lưu trữ/mạng
Tổng chi phí hàng tháng = $313,62/tháng
20KB / DAU xuất ra hàng ngày * 1 triệu DAU = 20GB dung lượng truy cập hàng ngày * 30 = 600GB truy cập mạng hàng tháng
10 GB đầu ra miễn phí + (590GB đầu ra * 0,12 USD/GB) = 70,80 USD / tháng
15KB dung lượng tin nhắn hàng ngày / Dung lượng DAU + 3KB / cài đặt 1 = 45KB dung lượng lưu trữ / DAU * 1 triệu DAU = 45GB dung lượng lưu trữ hàng ngày / DAU * 30 = Dung lượng lưu trữ hàng tháng 1350GB
(Bộ nhớ miễn phí 1GB) + (1349GB * 0,18 USD/GB) = 242,82 USD / tháng

1 Vì giả định của chúng tôi là DAU chiếm 10% tổng số lượt cài đặt ứng dụng nên con số này chiếm tổng số người dùng đã cài đặt ứng dụng của bạn.

Một lợi ích của mô hình thanh toán Cloud Firestore đáng xem xét là bạn chỉ trả tiền cho những gì bạn sử dụng. Do đó, hóa đơn của bạn có thể tăng và giảm theo số lượng DAU của bạn.

Phân tích: Mức sử dụng được tính phí theo tác vụ của người dùng

Đối với ứng dụng trò chuyện ví dụ của chúng tôi, cấu trúc dữ liệu như sau:

  • users/{userId} - Bản ghi người dùng
  • groups/{groupId} — Trò chuyện giữa 2 người dùng trở lên
    • messages/{messageId} — Mỗi tin nhắn trong một cuộc trò chuyện.

lưu trữ dữ liệu

Để tính toán chi phí lưu trữ để lưu trữ dữ liệu của ứng dụng, hãy áp dụng các giả định sau về kích thước tài liệu:

Bộ sưu tập Kích thước tài liệu (đang chuyển tiếp) Kích thước tài liệu (trên đĩa)*
người dùng 1KB 3KB
các nhóm 0,5KB 1,5KB
tin nhắn 0,25KB 0,75KB

*Tính toán kích thước này bao gồm các chỉ mục cho các trường thông báo, nhưng giả sử tính năng lập chỉ mục bị vô hiệu hóa đối với nội dung thông báo.

Ứng dụng này cũng chỉ lưu trữ các tin nhắn có thời hạn tối đa ba tháng để giảm chi phí lưu trữ.

Để biết thêm thông tin về cách tính chi phí lưu trữ, hãy xem Tìm hiểu cách tính kích thước lưu trữ .

hoạt động

Người dùng thường hoàn thành các tác vụ phổ biến sau trong ứng dụng:

Tổng số hoạt động ước tính của ứng dụng mẫu trong Cloud Firestore cho ba tác vụ thông thường của người dùng như sau:

  • Lượt đọc: (5 * 10) + (30) = 80 lượt đọc/người dùng/ngày
  • Số lần viết: (10 * 2) = 20 lần viết/người dùng/ngày
  • Đầu ra mạng : (50 * 0,25KB) + (30 * 0,25KB) = 20KB/người dùng/ngày
  • Lưu trữ : (20 * 0,75KB) = 15 KB/người dùng/ngày

Tổng mức sử dụng theo tác vụ của người dùng

Chọn từng tác vụ của người dùng để xem mô tả đầy đủ và bảng phân tích chi phí vận hành, lưu trữ và kết nối mạng trong ứng dụng.

Xem danh sách các cuộc trò chuyện

Màn hình chính của ứng dụng tải 25 cuộc trò chuyện gần đây nhất, phát sinh phí cho 25 lần đọc tài liệu. Giả sử rằng một người dùng đang hoạt động mở ứng dụng 5 lần mỗi ngày, tổng cộng mỗi người dùng có 125 lượt đọc mỗi ngày. Tuy nhiên, các truy vấn hiệu quả hơn, như truy vấn trong ví dụ sau, có thể giảm tải này.

Trong ví dụ bên dưới, chúng tôi giới hạn truy vấn đối với các cuộc trò chuyện mới bằng cách sử dụng dấu thời gian của mỗi lần tìm nạp thành công, được ứng dụng lưu trữ:

db.collection('groups')
  .where('participants', 'array-contains', 'user123')
  .where('lastUpdated', '>', lastFetchTimestamp)
  .orderBy('lastUpdated', 'desc')
  .limit(25)

Giả sử có trung bình 10 cuộc trò chuyện được cập nhật mỗi khi người dùng kiểm tra ứng dụng. Truy vấn này chỉ phát sinh 10 lần đọc tài liệu.

Đọc tin nhắn trong một cuộc trò chuyện

Người dùng nhấp vào chuỗi trò chuyện từ màn hình chính để xem các tin nhắn gần đây, tải 50 tin nhắn gần đây nhất trong lần tải đầu tiên.

Giả sử người dùng thông thường thực hiện hành động này 5 lần mỗi ngày (một lần cho mỗi lần họ mở màn hình chính), dẫn đến tổng số lượt đọc mỗi người dùng là 250 lần mỗi ngày. Chúng tôi cũng có thể giới hạn truy vấn của mình đối với các thư mới kể từ lần tìm nạp cuối cùng:

db.collection('groups')
  .doc('group234')
  .collection('messages')
  .where('sentTime', '>', lastFetchTimestamp)
  .orderBy('sentTime', 'desc')
  .limit(50)

Giả sử rằng một người dùng nhận được khoảng 30 tin nhắn mỗi ngày trên tất cả các cuộc trò chuyện. Vì bạn đã giới hạn truy vấn tìm nạp thư mới, điều này có nghĩa là chỉ 30 thư được truy xuất/ngày.

Gửi tin nhắn đến một cuộc trò chuyện

Người dùng có thể gửi tin nhắn cho những người tham gia khác khi họ đang trò chuyện. Giả sử rằng một người dùng đang hoạt động gửi khoảng 10 tin nhắn mỗi ngày.

Mỗi tin nhắn đã gửi sẽ có hai lần ghi tài liệu: một lần ghi vào tập hợp con messages của cuộc trò chuyện và một lần ghi vào tài liệu gốc của cuộc trò chuyện để cập nhật dấu thời gian Cập nhật lần lastUpdated và siêu dữ liệu khác.

Lưu ý rằng chi phí đọc những tin nhắn này đã được tính trong các hành trình khác, vì vậy tổng số dưới đây chỉ xem xét chi phí viết này.

Lợi ích đi kèm: Dịch vụ miễn phí cho ứng dụng của bạn

Mặc dù các hoạt động, dung lượng lưu trữ và băng thông mạng của Cloud Firestore đều được coi là mức sử dụng phải trả phí, nhưng bạn cũng nhận được nhiều lợi ích khác mà không phải trả thêm phí. Hãy xem xét các dịch vụ miễn phí sau đây khi bạn so sánh Cloud Firestore với các tùy chọn cơ sở dữ liệu khác:

  • Truy cập máy khách trực tiếp: Cloud Firestore được truy cập trực tiếp từ mã máy khách của bạn bằng SDK gốc của chúng tôi. Điều này có nghĩa là bạn không cần xây dựng và chạy máy chủ API để kết nối máy khách di động của mình với cơ sở dữ liệu.
  • Cân bằng tải: Vì Cloud Firestore tự động thay đổi quy mô để hỗ trợ lưu lượng truy cập vào cơ sở dữ liệu của bạn nên bạn không cần phải chạy bộ cân bằng tải.
  • Thời gian hoạt động của máy chủ: Cơ sở dữ liệu Cloud Firestore hoạt động trên các máy chủ của Google Cloud, cung cấp hơn 99% thời gian hoạt động hàng tháng .
  • Xác thực: Xác thực người dùng không giới hạn một cách đơn giản và an toàn với Xác thực Firebase . Xác thực Firebase tích hợp trực tiếp với Cloud Firestore, do đó bạn không cần chạy dịch vụ xác thực của riêng mình.
  • Thông báo đẩy: Gửi tin nhắn và thông báo bằng Cloud Messaging .
  • Các sản phẩm Firebase khác: Tích hợp miễn phí các sản phẩm Firebase khác, bao gồm Thử nghiệm A/B, Phân tích, Phân tích sự cố, Giám sát hiệu suất và Cấu hình từ xa. Tìm hiểu thêm về các sản phẩm Firebase khácgiá Firebase .