Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

ดูตัวอย่างราคา Cloud Firestore

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

ใช้ตัวอย่างแอปแชทพื้นฐานในโลกแห่งความเป็นจริงนี้เพื่อวัดการใช้งานและค่าใช้จ่ายของ Cloud Firestore นี่ไม่ใช่ค่าประมาณที่แน่นอน แต่สามารถช่วยให้คุณเข้าใจได้ดียิ่งขึ้นว่าการใช้งาน Cloud Firestore ถูกเรียกเก็บเงินอย่างไร

ภาพรวม: ค่าใช้จ่ายตามระดับการใช้งาน

เพื่อแสดงค่าใช้จ่ายทั่วไป ให้พิจารณาตัวอย่างแอปแชท ซึ่งผู้ใช้สามารถเริ่มการแชทกับผู้เข้าร่วมตั้งแต่สองคนขึ้นไปได้ ผู้ใช้สามารถดูแชทที่ใช้งานอยู่ในรายการ อ่านข้อความ และส่งข้อความ สำหรับตัวอย่างนี้ เรากำลังใช้การกำหนดราคาสำหรับหลายภูมิภาคในอเมริกาเหนือ (โดยเฉพาะ nam5 )

สมมติฐาน

พิจารณาสมมติฐานต่อไปนี้เกี่ยวกับการใช้งานและการจัดเก็บข้อมูล:

  • ผู้ใช้ที่ใช้งานรายวัน (DAU) คือ 10% ของการติดตั้งแอปทั้งหมด คุณสามารถประมาณการค่าใช้จ่ายรายวันของคุณโดยใช้ค่าประมาณคร่าวๆ ของผู้ใช้ที่ใช้งานรายวัน (DAU) ผู้ใช้เหล่านี้คือผู้ใช้ที่เปิดและใช้แอปของคุณอย่างจริงจังในวันที่กำหนด ซึ่งโดยทั่วไปแล้วจะเป็นส่วนย่อยเล็กๆ ของการติดตั้งแอปทั้งหมดของคุณ สำหรับการคำนวณด้านล่าง เราประเมิน DAU เป็น 10% ของจำนวนการติดตั้งแอปทั้งหมด
  • ขนาดเอกสารค่อนข้างเล็ก ดู ตารางด้านล่าง สำหรับรายละเอียดขนาดเอกสารตามประเภท
  • ข้อมูลจะถูกเก็บไว้เพียงสามเดือน ข้อความในแอพแชทตัวอย่างจะถูกเก็บไว้เป็นเวลาสามเดือนเท่านั้น เพื่อพิจารณาการดำเนินการลบ การคำนวณด้านล่างจะแสดงการลบรายวันสำหรับการเขียนทุกวัน
  • การประมาณการค่าใช้จ่ายเหล่านี้สะท้อนถึงต้นทุนจำนวนมากของแอปตัวอย่าง แต่ไม่ใช่ทั้งหมด เราได้คำนวณค่าใช้จ่ายจำนวนมากของแอปโดยการคำนวณการดำเนินการ พื้นที่จัดเก็บผู้ใช้และข้อความ และการออกสำหรับงานของผู้ใช้ที่พบบ่อยที่สุดที่ระบุไว้ในคู่มือนี้ อย่างไรก็ตาม คุณอาจต้องคำนึงถึงค่าใช้จ่ายเพิ่มเติม ทั้งนี้ขึ้นอยู่กับโครงสร้างและความต้องการข้อมูลของแอปของคุณ ใช้ตัวอย่างนี้เพื่อเป็นแนวทางในการคำนวณของคุณ แต่โปรดดูที่ หน้าการกำหนดราคา สำหรับคำอธิบายโดยละเอียดเพิ่มเติมเกี่ยวกับค่าใช้จ่าย Cloud Firestore

สำหรับรายละเอียดการดำเนินการตามงานของผู้ใช้ โปรดดูส่วน รายละเอียด: การใช้งานที่เรียกเก็บเงินตามงานของผู้ใช้

เล็ก
(ติดตั้ง 50k)

สำหรับการติดตั้งแอป 50,000 ครั้ง (ผู้ใช้ที่ใช้งานรายวัน 5,000 ราย): $12.14/เดือน

ค่าใช้จ่ายในการอ่าน/เขียน
ค่าใช้จ่ายรายเดือนทั้งหมด = $11.10/เดือน
อ่านทั้งหมด 400K ต่อวัน = 50K ไม่มีค่าใช้จ่ายในการอ่าน + (350K อ่านที่ $0.06/100K) = 3.5 * $0.06
0.21 USD / วัน * 30 = $6.30
การเขียนรายวันทั้งหมด 100,000 รายการ = 20K ไม่มีค่าใช้จ่ายในการเขียน + (80K เขียนที่ $0.18/100K) = .8 * $0.18
$0.14 / วัน * 30 = $4.20
100K ลบรายวันทั้งหมด = 20,000 ลบโดยไม่มีค่าใช้จ่าย + (80K ลบที่ $0.02/100K) = .8 * $0.02
$0.02 / วัน * 30 = $0.60
ต้นทุนการจัดเก็บ/เครือข่าย
ค่าใช้จ่ายรายเดือนทั้งหมด = $1.04/เดือน
20KB / DAU ของการออกรายวัน * 5K DAUs = ขาออกรายวัน 100MB * 30 = เครือข่ายขาออก 3GB รายเดือน
3 GB ไม่มีค่าใช้จ่ายออก = ไม่มีค่าใช้จ่าย 1
พื้นที่จัดเก็บข้อความรายวัน 15KB / พื้นที่จัดเก็บ DAU + 3KB / ติดตั้ง 2 = พื้นที่เก็บข้อมูล 45KB / DAU * 5K DAUs = พื้นที่เก็บข้อมูลรายวัน 225MB / DAU * 30 = การใช้พื้นที่เก็บข้อมูลรายเดือน 6.75GB
พื้นที่เก็บข้อมูลฟรี 1GB + (5.75 * 0.18) = 1.04 เหรียญ / เดือน

1 10GB ของเครือข่ายขาออกรายเดือนไม่มีค่าใช้จ่ายสำหรับ Cloud Firestore
2 เนื่องจากสมมติฐานของเราคือ DAU คิดเป็น 10% ของการติดตั้งแอปทั้งหมด ตัวเลขนี้จึงรวมเอาจำนวนผู้ใช้ทั้งหมดที่ติดตั้งแอปของคุณ

ปานกลาง
(ติดตั้ง 1 ล้านครั้ง)

สำหรับการติดตั้งแอป 1,000,000 ครั้ง (ผู้ใช้ที่ใช้งานรายวัน 100,000 ราย): $292.02/เดือน

ค่าใช้จ่ายในการอ่าน/เขียน
ค่าใช้จ่ายรายเดือนทั้งหมด = $261.90/เดือน
การอ่านรายวันทั้งหมด 8 ล้านครั้ง = 50K ไม่มีค่าใช้จ่ายในการอ่าน + (7.95M อ่านที่ $0.06/100K) = 79.5 * $0.06
$4.77 / วัน * 30 = $143.10
การเขียนรายวันทั้งหมด 2 ล้านครั้ง = 20,000 เขียนโดยไม่มีค่าใช้จ่าย + (1.98 ล้านเขียนที่ $0.18/100K) = 19.8 * $0.18
$3.56 / วัน * 30 = $106.80
ลบทั้งหมด 2 ล้านครั้งต่อวัน = 20,000 ลบโดยไม่มีค่าใช้จ่าย + (1.98 ล้านลบที่ $0.02/100K) = 19.8 * $0.02
$0.40 / วัน * 30 = $12.00
ต้นทุนการจัดเก็บ/เครือข่าย
ค่าใช้จ่ายรายเดือนทั้งหมด = $30.12/เดือน
20KB / DAU ของการออกรายวัน * 100K DAUs = ขาออกรายวัน 2GB * 30 = เครือข่ายขาออก 60GB ต่อเดือน
10 GB ขาออกฟรี + (ขาออก 50GB * 0.12 เหรียญ/GB) = 6.00 USD / เดือน
พื้นที่จัดเก็บข้อความรายวัน 15KB / พื้นที่จัดเก็บ DAU + 3KB / ติดตั้ง 1 = พื้นที่เก็บข้อมูล 45KB / DAU * 100K DAUs = พื้นที่เก็บข้อมูลรายวัน 4.5GB / DAU * 30 = การใช้งานพื้นที่เก็บข้อมูล 135GB ต่อเดือน
พื้นที่เก็บข้อมูลฟรี 1GB + (134GB * 0.18 เหรียญ/GB) = $24.12 / เดือน

1 เนื่องจากสมมติฐานของเราคือ DAU คิดเป็น 10% ของการติดตั้งแอปทั้งหมด ตัวเลขนี้จึงรวมเอาจำนวนผู้ใช้ทั้งหมดที่ติดตั้งแอปของคุณ

ใหญ่
(ติดตั้ง 10 ล้านครั้ง)

สำหรับการติดตั้งแอป 10,000,000 ครั้ง (1,000,000 ผู้ใช้ที่ใช้งานรายวัน): $2951.52

ค่าใช้จ่ายในการอ่าน/เขียน
ค่าใช้จ่ายรายเดือนทั้งหมด = รวม: 2637 เหรียญสหรัฐ/เดือน
การอ่านรายวันทั้งหมด 80 ล้านครั้ง = 50K ไม่มีค่าใช้จ่ายในการอ่าน + (79.95M อ่านที่ $0.06/100K) = 799.5 * $0.06
$47.97 / วัน * 30 = $1439.10
การเขียนรายวันทั้งหมด 20 ล้านครั้ง = 20K ไม่มีค่าใช้จ่ายในการเขียน + (19.98 ล้านเขียนที่ $0.18/100K) = 199.8 * $0.18
$35.96 / วัน * 30 = $1078.80
ลบทั้งหมด 20 ล้านต่อวัน = 20,000 ลบโดยไม่มีค่าใช้จ่าย + (19.98 ล้านลบที่ $0.02/100K) = 199.8 * $0.02
$4.00 / วัน * 30 = $120.00
ต้นทุนการจัดเก็บ/เครือข่าย
ค่าใช้จ่ายรายเดือนทั้งหมด = $313.62/เดือน
20KB / DAU ของการออกรายวัน * 1M DAUs = ขาออกรายวัน 20GB * 30 = เครือข่ายขาออก 600GB ต่อเดือน
10 GB ขาออกฟรี + (ขาออก 590GB * 0.12 เหรียญ/GB) = 70.80 เหรียญสหรัฐฯ / เดือน
พื้นที่จัดเก็บข้อความรายวัน 15KB / พื้นที่จัดเก็บ DAU + 3KB / ติดตั้ง 1 = พื้นที่เก็บข้อมูล 45KB / DAU * 1M DAUs = พื้นที่เก็บข้อมูลรายวัน 45GB / DAU * 30 = การใช้งานพื้นที่เก็บข้อมูล 1350GB ต่อเดือน
(1GB พื้นที่เก็บข้อมูลฟรี) + (1349GB * 0.18 ดอลลาร์/GB) = 242.82 ดอลลาร์ / เดือน

1 เนื่องจากสมมติฐานของเราคือ DAU คิดเป็น 10% ของการติดตั้งแอปทั้งหมด ตัวเลขนี้จึงรวมเอาจำนวนผู้ใช้ทั้งหมดที่ติดตั้งแอปของคุณ

ประโยชน์ของรูปแบบการเรียกเก็บเงินของ Cloud Firestore ที่ควรค่าแก่การพิจารณาคือ คุณจะจ่ายเฉพาะสิ่งที่คุณใช้เท่านั้น ด้วยเหตุนี้ ใบเรียกเก็บเงินของคุณอาจเพิ่มขึ้นและลดลงตามจำนวน DAU ของคุณ

รายละเอียด: การใช้งานที่เรียกเก็บเงินตามงานของผู้ใช้

สำหรับตัวอย่างแอปแชท โครงสร้างข้อมูลจะเป็นดังนี้:

  • users/{userId} — บันทึกผู้ใช้
  • groups/{groupId} — แชทระหว่างผู้ใช้ 2 คนขึ้นไป
    • messages/{messageId} — แต่ละข้อความในแชท

การจัดเก็บข้อมูล

ในการคำนวณต้นทุนการจัดเก็บสำหรับการจัดเก็บข้อมูลของแอพ ให้ใช้สมมติฐานต่อไปนี้เกี่ยวกับขนาดเอกสาร:

ของสะสม ขนาดเอกสาร (ระหว่างทาง) ขนาดเอกสาร (บนดิสก์)*
ผู้ใช้ 1KB 3KB
กลุ่ม 0.5KB 1.5KB
ข้อความ 0.25KB 0.75KB

*การคำนวณขนาดนี้รวมถึงดัชนีสำหรับฟิลด์ข้อความ แต่ถือว่าการจัดทำดัชนีถูกปิดใช้งานสำหรับเนื้อหาข้อความ

แอปยังจัดเก็บเฉพาะข้อความที่มีอายุไม่เกินสามเดือนเท่านั้น เพื่อลดค่าใช้จ่ายในการจัดเก็บ

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการคำนวณต้นทุนพื้นที่จัดเก็บ โปรดดูที่ การทำความเข้าใจการคำนวณขนาดพื้นที่จัดเก็บ

ปฏิบัติการ

ผู้ใช้มักจะทำงานทั่วไปต่อไปนี้ในแอป:

  • ดูรายการแชท: ผู้ใช้เปิดหน้าจอหลักของแอปและดูรายการแชท (แบบกลุ่มและโดยตรง) เรียงตามข้อความล่าสุดที่โพสต์
  • อ่านข้อความในแชท: ผู้ใช้เลือกแชทจากหน้าจอหลักและอ่านข้อความล่าสุดจากการแชท
  • ส่งข้อความไปยังแชท: ผู้ใช้ส่งข้อความไปยังแชท (กลุ่มหรือโดยตรง)

การดำเนินการโดยประมาณทั้งหมดของแอปตัวอย่างใน Cloud Firestore สำหรับงานของผู้ใช้ทั่วไปสามงานมีดังนี้:

  • อ่าน: (5 * 10) + (30) = 80 อ่าน / ผู้ใช้ / วัน
  • เขียน: (10 * 2) = 20 เขียน / ผู้ใช้ / วัน
  • เครือข่าย ขาออก : (50 * 0.25KB) + (30 * 0.25KB) = 20KB / ผู้ใช้ / วัน
  • พื้นที่เก็บข้อมูล : (20 * 0.75KB) = 15 KB / ผู้ใช้ / วัน

การใช้งานทั้งหมดตามงานของผู้ใช้

เลือกงานของผู้ใช้แต่ละงานเพื่อดูคำอธิบายโดยละเอียดและรายละเอียดของการดำเนินการ พื้นที่จัดเก็บ และต้นทุนเครือข่ายในแอป

ดูรายการแชท

หน้าจอหลักของแอปจะโหลดการแชทล่าสุด 25 รายการ โดยมีค่าบริการสำหรับการอ่านเอกสาร 25 รายการ สมมติว่าผู้ใช้ที่ใช้งานอยู่เปิดแอป 5 ครั้งต่อวัน รวม 125 อ่านต่อผู้ใช้ในแต่ละวัน อย่างไรก็ตาม เคียวรีที่มีประสิทธิภาพมากกว่า ดังตัวอย่างในตัวอย่างต่อไปนี้ สามารถลดภาระงานนี้ได้

ในตัวอย่างด้านล่าง เราจำกัดการสืบค้นเฉพาะการแชทใหม่โดยใช้การประทับเวลาของการดึงข้อมูลสำเร็จแต่ละครั้ง ซึ่งจัดเก็บโดยแอป:

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

สมมติว่ามีการแชทที่อัปเดตโดยเฉลี่ย 10 ครั้งในแต่ละครั้งที่ผู้ใช้ตรวจสอบแอป แบบสอบถามนี้มีการอ่านเอกสาร 10 ฉบับเท่านั้น

อ่านข้อความในแชท

ผู้ใช้คลิกเข้าสู่กระทู้แชทจากหน้าจอหลักเพื่อดูข้อความล่าสุด โดยโหลด 50 ข้อความล่าสุดในการโหลดครั้งแรก

สมมติว่าผู้ใช้ทั่วไปดำเนินการนี้ 5 ครั้งต่อวัน (ทุกๆ ครั้งที่พวกเขาเปิดหน้าจอหลัก) ซึ่งนำไปสู่การอ่านทั้งหมด 250 ครั้งต่อผู้ใช้ในแต่ละวัน เรายังจำกัดการสืบค้นให้เหลือเฉพาะข้อความใหม่ตั้งแต่ครั้งที่ดึงข้อมูลครั้งล่าสุด:

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

สมมติว่าผู้ใช้ได้รับข้อความประมาณ 30 ข้อความต่อวันจากการแชททั้งหมด เนื่องจากคุณจำกัดการสืบค้นเพื่อดึงข้อความใหม่ จึงแปลเป็นเพียง 30 ข้อความที่เรียก/วัน

ส่งข้อความถึงแชท

ผู้ใช้สามารถส่งข้อความถึงผู้เข้าร่วมคนอื่นๆ ได้เมื่ออยู่ในแชท สมมติว่าผู้ใช้ที่ใช้งานอยู่ส่งข้อความประมาณ 10 ข้อความต่อวัน

แต่ละข้อความที่ส่งจะทำให้มีการเขียนเอกสารสองฉบับ: หนึ่งเขียนไปยังคอลเลกชันย่อย messages ของการแชท และอีกข้อความหนึ่งเขียนไปยังเอกสารหลักในการแชทเพื่ออัปเดตการ lastUpdated เวลาที่อัปเดตล่าสุดและข้อมูลเมตาอื่น ๆ

โปรดทราบว่าค่าใช้จ่ายในการอ่านข้อความเหล่านี้ถูกนำมาพิจารณาในการเดินทางอื่นๆ ดังนั้นยอดรวมด้านล่างจึงพิจารณาเฉพาะค่าใช้จ่ายในการเขียนเท่านั้น

สิทธิประโยชน์ที่รวม: บริการฟรีสำหรับแอปของคุณ

แม้ว่าการดำเนินการ พื้นที่เก็บข้อมูล และแบนด์วิดท์เครือข่ายของ Cloud Firestore ถือเป็นการใช้งานที่เรียกเก็บเงินได้ คุณยังได้รับสิทธิประโยชน์อื่นๆ มากมายโดยไม่มีค่าใช้จ่ายเพิ่มเติม พิจารณาบริการต่อไปนี้ที่ไม่มีค่าใช้จ่ายเมื่อคุณเปรียบเทียบ Cloud Firestore กับตัวเลือกฐานข้อมูลอื่นๆ:

  • การเข้าถึงไคลเอ็นต์โดยตรง: Cloud Firestore เข้าถึงได้โดยตรงจากโค้ดไคลเอ็นต์ของคุณโดยใช้ SDK ดั้งเดิมของเรา ซึ่งหมายความว่าคุณไม่จำเป็นต้องสร้างและเรียกใช้เซิร์ฟเวอร์ API เพื่อเชื่อมต่อไคลเอนต์มือถือของคุณกับฐานข้อมูล
  • การทำ โหลดบาลานซ์: เนื่องจาก Cloud Firestore จะปรับขนาดโดยอัตโนมัติเพื่อรองรับการรับส่งข้อมูลไปยังฐานข้อมูลของคุณ คุณจึงไม่ต้องเรียกใช้ตัวจัดสรรภาระงาน
  • เวลาทำงานของเซิร์ฟเวอร์: ฐานข้อมูล Cloud Firestore ทำงานบนเซิร์ฟเวอร์ Google Cloud โดยให้ เวลาทำงานต่อเดือนมากกว่า 99%
  • การ ตรวจสอบสิทธิ์: ตรวจสอบสิทธิ์ผู้ใช้ไม่จำกัดอย่างง่ายดายและปลอดภัยด้วย Firebase Authentication Firebase Authentication ผสานรวมกับ Cloud Firestore โดยตรง ดังนั้นคุณไม่จำเป็นต้องเรียกใช้บริการตรวจสอบสิทธิ์ของคุณเอง
  • การ แจ้งเตือนแบบพุช: ส่งข้อความและการแจ้งเตือนด้วย Cloud Messaging
  • ผลิตภัณฑ์ Firebase อื่นๆ: ผสานรวมผลิตภัณฑ์ Firebase อื่นๆ โดยไม่มีค่าใช้จ่าย รวมถึงการทดสอบ A/B, Analytics, Crashlytics, การตรวจสอบประสิทธิภาพ และการกำหนดค่าระยะไกล เรียนรู้เพิ่มเติมเกี่ยวกับ ผลิตภัณฑ์ Firebase อื่นๆ และการ กำหนดราคา Firebase