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

Sử dụng ví dụ thực tế này về một ứng dụng trò chuyện cơ bản để đánh giá Cloud Firestore của bạn mức sử dụng và chi phí. Đây không phải là số liệu ước tính chính xác, nhưng có thể giúp bạn nắm rõ hơn tìm hiểu 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 hoạ các chi phí thông thường, hãy xem xét một ứng dụng trò chuyện mẫu mà người dùng có thể bắt đầu trò chuyện với hai người tham gia trở lên. Người dùng có thể thấy trạng thái cuộc trò chuyện 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 sử dụng giá cho nhiều khu vực tại Bắc Mỹ (cụ thể là nam5).

Các giả định

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

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

Để biết bảng chi tiết về hoạt động theo tác vụ của người dùng, hãy xem Thông tin chi tiết: Mức sử dụng được lập hoá đơn theo việc cần làm của người dùng.

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,1 USD/tháng
Tổng cộng 400 nghìn lượt đọc hằng ngày = 50.000 lượt đọc miễn phí + (350 nghìn lượt đọc ở mức $0,06/100 nghìn) = 3,5 * $0,06
0,21 USD / ngày * 30 = 6,3 USD
 
Tổng cộng 100 nghìn lượt ghi mỗi ngày = 20.000 lượt viết miễn phí + (80 nghìn viết ở mức $0,18/100 nghìn) = .8 * $0,18
0,14 USD / ngày * 30 = 4,2 USD
 
Tổng cộng 100 nghìn lượt xoá hằng ngày = 20.000 lượt xoá miễn phí + (80 nghìn lượt xoá với giá 0,02 USD/100 nghìn) = 0,8 * $0,02
0,02 USD / ngày * 30 = 0,6 USD
Chi phí lưu trữ/mạng
Tổng chi phí hằng tháng = 1,04 USD/tháng
20KB / DAU lưu lượng truy cập hằng ngày * 5.000 DAU = 100MB lưu lượng ra hằng ngày * 30 = Mức sử dụng mạng hằng tháng là 3 GB
3 GB đầu ra không tốn phí = Không mất phí1
 
Dung lượng lưu trữ tin nhắn hằng ngày 15KB / Số người dùng hoạt động hằng ngày + 3KB bộ nhớ / lượt cài đặt2 = 45KB dung lượng lưu trữ / DAU * 5.000 DAU = 225MB bộ nhớ hằng ngày / DAU * 30 = Mức sử dụng bộ nhớ hằng tháng là 6,75 GB
1GB bộ nhớ không tốn phí + (5,75 * 0,18 USD) = 1,04 USD / tháng

1 10 GB lưu lượng ra mạng hằng tháng không mất phí đối với Cloud Firestore.
2 Vì giả định của chúng tôi là số người dùng hoạt động hằng ngày (DAU) chiếm 10% tổng số ứng dụng lượt cài đặt, điều này số tài khoản cho 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 USD/tháng

Chi phí đọc/ghi
Tổng chi phí hằng tháng = 261,9 USD/tháng
Tổng cộng 8 triệu lượt đọc hằng ngày = 50.000 lượt đọc miễn phí + (7,95 triệu lượt đọc ở mức 0,06 USD/100 nghìn) = 79,5 * 0,06 USD
4,77 USD / ngày * 30 = 143,1 USD
 
Tổng cộng 2 triệu lượt ghi mỗi ngày = 20.000 lượt viết miễn phí + (1,98 triệu viết ở mức 0,18 đô la/100 nghìn) = 19,8 * $0,18
3,56 USD / ngày * 30 = 106,8 USD
 
Tổng cộng 2 triệu lượt xoá hằng ngày = 20.000 lượt xoá miễn phí + (1,98 triệu lượt xoá ở mức 0,02 USD/100 nghìn) = 19,8 * $0,02
0,4 USD / ngày * 30 = 12 USD
Chi phí lưu trữ/mạng
Tổng chi phí hằng tháng = 30,12 USD/tháng
20KB / DAU lưu lượng truy cập hằng ngày * 100.000 DAU = 2GB lưu lượng ra hằng ngày * 30 = Mức sử dụng mạng hằng tháng 60 GB
10 GB lưu lượng ra không tốn phí + (Lượng ra 50 GB * 0,12 USD/GB) = 6 USD / tháng
 
Dung lượng lưu trữ tin nhắn hằng ngày 15KB / DAU + 3KB bộ nhớ / lượt cài đặt1 = 45KB dung lượng lưu trữ / DAU * 100.000 DAU = 4,5 GB dung lượng lưu trữ hằng ngày / DAU * 30 = Mức sử dụng bộ nhớ hằng tháng là 135 GB
1GB bộ nhớ không tốn phí + (134GB * 0,18 USD/GB) = 24,12 USD / tháng

1 Vì giả định của chúng tôi là số 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, nên tỷ lệ này số tài khoản cho 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 đô la

Chi phí đọc/ghi
Tổng chi phí hằng tháng = Tổng: 2637,9 USD/tháng
Tổng cộng 80 triệu lượt đọc hằng ngày = 50.000 lượt đọc miễn phí + (79,95 triệu lượt đọc ở mức 0,06 USD/100 nghìn) = 799,5 * 0,06 USD
47,97 USD / ngày * 30 = 1.439,1 USD
 
Tổng cộng 20 triệu lượt ghi mỗi ngày = 20.000 lượt viết miễn phí + (19,98 triệu viết ở mức $0,18/100K) = 199,8 * $0,18
35,96 USD / ngày * 30 = 1078,8 USD
 
Tổng cộng 20 triệu lượt xoá hằng ngày = 20.000 lượt xoá miễn phí + (19,98 triệu lượt xoá ở mức 0,02 USD/100 nghìn) = 199,8 * $0,02
4 USD / ngày * 30 = 120 USD
Chi phí lưu trữ/mạng
Tổng chi phí hằng tháng = 313,62 USD/tháng
20KB / DAU lưu lượng truy cập hằng ngày * 1 triệu DAU = 20GB lưu lượng ra hằng ngày * 30 = Mức sử dụng mạng hằng tháng 600 GB
10 GB lưu lượng ra không tốn phí + (Dữ liệu đầu ra 590 GB * 0,12 USD/GB) = 70,8 USD / tháng
 
Dung lượng lưu trữ tin nhắn hằng ngày 15KB / DAU + 3KB bộ nhớ / lượt cài đặt1 = 45KB dung lượng lưu trữ / DAU * 1 triệu người dùng hoạt động hằng ngày = 45GB dung lượng lưu trữ hằng ngày / Số người dùng hoạt động hằng ngày (DAU * 30) = Mức sử dụng bộ nhớ hằng tháng là 1350 GB
(1 GB bộ nhớ miễn phí) + (1349 GB * 0,18 USD/GB) = 242,82 USD / tháng

1 Vì giả định của chúng tôi là số 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, nên tỷ lệ này số tài khoản cho 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 trên Cloud Firestore là bạn chỉ trả cho những gì bạn sử dụng. Do đó, hoá đơn của bạn có thể tăng lên và giảm bớt khi Số người dùng hoạt động hằng ngày (DAU).

Thông tin chi tiết: Mức sử dụng được lập hoá đơn theo tác vụ của người dùng

Đối với ứng dụng nhắn tin mẫu, có cấu trúc dữ liệu như sau:

  • users/{userId} — Hồ sơ người dùng
  • groups/{groupId} — Cuộc 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.

Bộ nhớ dữ liệu

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

Thu thậ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
nhóm 0,5KB 1,5KB
tin nhắn 0,25KB 0,75KB

*Việc tính toán kích thước này bao gồm chỉ mục cho các trường tin nhắn, nhưng giả định rằng tính năng lập chỉ mục đang tắt đối với nội dung thư.

Ứng dụng cũng chỉ lưu trữ các tin nhắn tối đa là 3 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 dung lượng lưu trữ.

Vận hành

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

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

  • Số lượt đọc: (5 * 10) + (30) = 80 lượt đọc / người dùng / ngày
  • Số lượt ghi: (10 * 2) = 20 lượt ghi / người dùng / ngày
  • Lưu lượng truy cập mạng: (50 * 0,25KB) + (30 * 0,25KB) = 20KB / người dùng / ngày
  • Bộ nhớ: (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à chi tiết về các hoạt động, bộ nhớ và chi phí kết nối mạng trong ứng dụng.

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

Màn hình chính của ứng dụng sẽ tải 25 cuộc trò chuyện gần đây nhất, gây ra tính phí cho 25 lượt đọ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 là 125 lượt đọc cho mỗi người dùng mỗi ngày. Tuy nhiên, hiệu quả hơn như truy vấn trong ví dụ sau, có thể làm 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 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 lần 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 cuộc trò chuyện

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

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 khi họ mở màn hình chính), dẫn đến tổng cộng 250 số lượt đọc trên mỗi người dùng mỗi ngày. Chúng tôi cũng có thể giới hạn truy vấn của mình ở các tin nhắn mới kể từ lần tìm nạp gần đây nhất:

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. Từ bạn đã giới hạn truy vấn để tìm nạp tin nhắn mới, điều này có nghĩa là chỉ còn 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ử một người dùng đang hoạt động gửi khoảng 10 thư mỗi ngày.

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

Lưu ý rằng chi phí đọc các thư này đã được tính trong các hành trình khác, vì vậy, tổng số bên dưới chỉ tính đến chi phí ghi này.

Mức sử dụng đã lập hóa đơn cho các nhiệm vụ của quản trị viên

Là chủ sở hữu hoặc quản trị viên ứng dụng, bạn có thể muốn tạo báo cáo dữ liệu của ứng dụng. Ví dụ: bạn có thể muốn theo dõi số lượng số lượng tin nhắn mà người dùng của bạn đã gửi. Bạn có thể thực hiện việc này bằng một count() dữ liệu tổng hợp của Nhóm bộ sưu tập messages.

Đối với các truy vấn tổng hợp như count(), bạn sẽ phải trả phí cho một lượt đọc tài liệu cho mỗi lô gồm tối đa 1.000 mục nhập chỉ mục phù hợp với truy vấn. Chạy chương trình này phương pháp tổng hợp hằng ngày sẽ thêm các khoản phí hằng tháng sau:

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

Đối với 50.000 lượt cài đặt ứng dụng (5.000 DAU): $0,0009/tháng

5.000 người dùng đang hoạt động * 10 tin nhắn mới/người dùng = 50.000 tài liệu tin nhắn mới mỗi ngày

50.000 tài liệu được tính / 1.000 chỉ mục khớp với mỗi lần đọc = 50 lần đọc

50 lượt đọc mỗi ngày * 30 ngày = 1.500 lượt đọc mỗi tháng

1.500 lượt đọc mỗi tháng * 0,06/100.000 giá đọc = 0,0009 USD mỗi tháng

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): 0,018 USD/tháng

100.000 người dùng đang hoạt động * 10 tin nhắn mới cho mỗi người dùng = 1.000.000 tài liệu tin nhắn mới mỗi ngày

1.000.000 tài liệu được tính / 1.000 lần khớp chỉ mục cho mỗi lần đọc = 1.000 lần đọc

1.000 lượt đọc mỗi ngày * 30 ngày = 30.000 lượt đọc mỗi tháng

30.000 lượt đọc mỗi tháng * 0,06/100.000 giá đọc = 0,018 USD mỗi tháng

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): $0,18

1.000.000 người dùng đang hoạt động * 10 tin nhắn mới trên mỗi người dùng = 10.000.000 tài liệu tin nhắn mới mỗi ngày

10.000.000 tài liệu được tính / 1.000 lần khớp chỉ mục cho mỗi lần đọc = 10.000 lần đọc

10.000 lượt đọc mỗi ngày * 30 ngày = 300.000 lượt đọc mỗi tháng

300.000 lượt đọc mỗi tháng * 0,06/100000 giá đọc = 0,18 USD mỗi tháng

Các lợi ích đi kèm: Các dịch vụ không tính phí cho ứng dụng của bạn

Mặc dù hoạt động, bộ nhớ và băng thông mạng của Cloud Firestore đều có được coi là hoạt động sử dụng có tính phí, bạn cũng được hưởng nhiều lợi ích khác mà không tốn phí chi phí bổ sung. Cân nhắc sử dụng các dịch vụ miễn phí sau đây giống như bạn so sánh Cloud Firestore với các cơ sở dữ liệu khác:

  • Quyền truy cập trực tiếp vào khách hàng: Bạn có thể truy cập vào Cloud Firestore ngay trong mã ứng dụng khách bằng các SDK gốc của chúng tôi. Điều này có nghĩa là bạn không cần tạo và chạy máy chủ API để kết nối ứng dụng di động với cơ sở dữ liệu.
  • Cân bằng tải: Vì Cloud Firestore tự động mở rộng quy mô để hỗ trợ vào cơ sở dữ liệu của mình, bạn không phải chạy trình 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 thời gian hoạt động hơn 99% 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à bảo mật bằng Xác thực Firebase. Xác thực Firebase tích hợp trực tiếp với Cloud Firestore nên bạn không cần phải tự chạy dịch vụ xác thực.
  • Thông báo đẩy: Gửi tin nhắn và thông báo bằng Giải pháp gửi thông báo qua đám mây.
  • Các sản phẩm khác của Firebase: Tích hợp các sản phẩm Firebase khác mà không mất phí, bao gồm Thử nghiệm A/B, Analytics, Crashlytics, 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 khác của Firebasemức giá của Firebase.