หน้านี้อธิบายอินเทอร์เฟซต่างๆ ที่พร้อมใช้งานสำหรับการเข้าถึงข้อมูลในฐานข้อมูลโหมดเนทีฟ
อินเทอร์เฟซการดำเนินการ
โหมดเนทีฟรองรับอินเทอร์เฟซ 2 แบบสำหรับการเข้าถึงข้อมูล ได้แก่
การดำเนินการของไปป์ไลน์
อินเทอร์เฟซการค้นหาใหม่กว่าสำหรับ Cloud Firestore การดำเนินการไปป์ไลน์รองรับไวยากรณ์ที่ประกอบได้ตามระยะ คุณสร้าง การดำเนินการโดยกำหนดชุดขั้นตอนตามลำดับที่จะดำเนินการตาม ลำดับ ซึ่งช่วยให้ดำเนินการที่ซับซ้อนได้ เช่น การกรองผลลัพธ์ของการรวมข้อมูล ซึ่งก่อนหน้านี้ทำไม่ได้ในอินเทอร์เฟซเดิม (การดำเนินการหลัก)
การดำเนินการไปป์ไลน์ใช้ได้เฉพาะใน Firestore รุ่น Enterprise และอยู่ในขั้นตอนการเปิดตัวตัวอย่าง
การปฏิบัติงานหลัก
การดำเนินการหลักคืออินเทอร์เฟซเดิมสำหรับ Cloud Firestore
การดำเนินการหลักใช้ไวยากรณ์การเชื่อมโยงเมธอด (.where(), .orderBy(), .get())
ในการอ้างอิงเอกสารหรือคอลเล็กชันเพื่อดึงข้อมูลเอกสาร
การเรียงลำดับขั้นตอนการค้นหาจะแสดงโดยนัย และการรองรับการรวมจะจำกัด
การดำเนินการหลักพร้อมให้บริการทั้งในรุ่น Enterprise และ Standard แต่ค่าเริ่มต้นของดัชนีจะแตกต่างกันมากระหว่างรุ่น ดูรายละเอียดได้ในส่วนถัดไป
ความแตกต่างของอินเทอร์เฟซระหว่างรุ่น
เมื่อเปิดตัวการรองรับโหมดดั้งเดิมในรุ่น Enterprise ทั้งการดำเนินการ Firestore Core และ Pipeline จะพร้อมใช้งาน เมื่อใช้การดำเนินการหลักในรุ่น Enterprise ลักษณะการทำงานของดัชนีและรูปแบบการกำหนดราคาใหม่จะยกเลิกข้อจำกัดหลายอย่างของ รุ่น Standard
| ฟีเจอร์ | รุ่นมาตรฐาน | รุ่น Enterprise |
| การดำเนินการที่รองรับ | จำกัดเฉพาะการดำเนินการหลักของ Firestore | รองรับการดำเนินการหลักและการดำเนินการไปป์ไลน์ของ Firestore รวมถึงการดำเนินการที่เข้ากันได้กับ MongoDB ของ Firestore |
| ข้อกำหนดในการจัดทำดัชนี | การค้นหาทั้งหมดต้องมีดัชนี | ไม่จำเป็นต้องมีดัชนีสำหรับการค้นหา |
| การสร้างดัชนี | ระบบจะสร้างดัชนีอัตโนมัติสำหรับฟิลด์เดียว คุณสร้างดัชนีผสมด้วยตนเองได้ | ไม่มีการสร้างดัชนีอัตโนมัติ คุณต้องจัดการดัชนีด้วยตนเอง |
| ฟิลด์ที่จัดทำดัชนี | ระบบจะต่อท้ายฟิลด์ __name__ เพิ่มเติมกับฟิลด์ที่จัดทำดัชนีโดยอัตโนมัติ หากยังไม่มี | ระบบไม่ต่อท้าย __name__ ในช่องที่จัดทำดัชนีโดยอัตโนมัติ คุณต้องระบุ __name__ อย่างชัดเจนในช่องที่จัดทำดัชนีหากมีความสำคัญต่อแอปพลิเคชัน |
| การทำให้ลำดับการจัดเรียงเป็นมาตรฐาน | ระบบจะทำให้ส่วน ORDER BY ของการค้นหาเป็นปกติโดยการต่อท้ายฟิลด์ความไม่เท่ากันและฟิลด์ __name__ ที่ส่วนท้าย (หากยังไม่มี) ซึ่งจะรับประกันการจัดลำดับผลลัพธ์ที่ไม่ซ้ำกันและเป็นไปตามที่กำหนดไว้ ไม่ว่าจะมีฟิลด์อื่นๆ ใดในอนุประโยค ORDER BY | ไม่มีการปรับลำดับการจัดเรียงให้เป็นมาตรฐาน ลำดับการจัดเรียง เช่น sort a ASC จะรับประกันได้ว่าผลลัพธ์จะจัดเรียงตามฟิลด์ a เท่านั้น Cloud Firestore จะใช้ดัชนีที่มีอยู่เพื่อแสดงผลลัพธ์ตามลำดับที่มีประสิทธิภาพมากที่สุด ดังนั้น หาก a ไม่ซ้ำกันในชุดผลลัพธ์ ลำดับของผลลัพธ์อาจแตกต่างกันไปในแต่ละคำค้นหา ทั้งนี้ขึ้นอยู่กับการกำหนดค่าดัชนี กลยุทธ์การดำเนินการ ฯลฯ หากต้องการรับประกันการจัดลำดับผลลัพธ์ที่ไม่ซ้ำกันและเป็นไปตามที่กำหนด คุณต้องเพิ่มฟิลด์ที่ไม่ซ้ำกัน เช่น __name__ ลงในลำดับการจัดเรียง |
| ประสิทธิภาพและต้นทุนของคำค้นหา | โดยทั่วไปแล้ว คำค้นหาจะมีประสิทธิภาพเนื่องจากข้อกำหนดของดัชนี | เพิ่มประสิทธิภาพและลดต้นทุนของคําค้นหาด้วยการสร้างดัชนี คุณระบุดัชนีที่ขาดหายไปได้โดยใช้คำอธิบายการค้นหาและข้อมูลเชิงลึกของการค้นหา
การค้นหาที่ไม่มีดัชนีอาจไม่มีประสิทธิภาพและมีค่าใช้จ่ายสูงเมื่อชุดข้อมูลมีขนาดใหญ่ขึ้น ซึ่งต้องมีการตรวจสอบและปรับแต่ง |
| ค่าใช้จ่ายในการจัดทำดัชนี | ไม่มีค่าใช้จ่ายสำหรับการเขียนดัชนี เนื่องจากดัชนีเป็นแบบอัตโนมัติ | การเขียนรายการดัชนีจะใช้หน่วยการเขียนเมื่อมีการเขียนเอกสารที่เชื่อมโยง (1 หน่วยการเขียนต่อขนาดรายการดัชนี 1 KiB) คุณประหยัดค่าใช้จ่ายในการจัดเก็บข้อมูลได้โดยไม่ต้องสร้างรายการดัชนีสำหรับทุกช่อง |
| รูปแบบการเรียกเก็บเงิน (การอ่าน/การเขียน/การลบ) | คิดค่าบริการต่อการอ่าน เขียน และลบเอกสาร | เรียกเก็บเงินต่อการอ่านและการเขียน (กลุ่ม) ระบบจะเรียกเก็บเงินสำหรับการอ่านในหน่วยการอ่าน (4 KiB ต่อครั้ง) ระบบจะรวมการเขียนและการลบเป็นหน่วยการเขียน (1 KiB ต่อครั้ง) |
| ราคาฐาน (ต่อล้าน)
ราคาที่แสดงเป็นราคาสำหรับภูมิภาค us-central1 |
การอ่าน: $0.03 ต่อเอกสาร 100,000 รายการ (หรือ $0.30 ต่อล้านรายการ)
เขียน: $0.09 ต่อเอกสาร 100,000 รายการ (หรือ $0.90 ต่อเอกสาร 1 ล้านรายการ) การลบ: $0.01 ต่อเอกสาร 100,000 รายการ (หรือ $0.10 ต่อเอกสาร 1 ล้านรายการ) |
หน่วยอ่าน: $0.05 ต่อหน่วยอ่าน 1 ล้าน
หน่วยการเขียน: $0.26 ต่อหน่วยการเขียน 1 ล้าน โดยทั่วไปแล้ว ราคาจะต่ำกว่าหากเอกสารมีขนาดต่ำกว่า 4 KiB เมื่อเทียบกับค่าใช้จ่ายในการอ่านมาตรฐาน |
| ข้อมูลอัปเดตแบบเรียลไทม์
ราคาที่แสดงเป็นราคาสำหรับภูมิภาค us-central1 |
การอัปเดตแบบเรียลไทม์จะรวมอยู่ในการเรียกเก็บเงินเป็น "การอ่าน" ในราคา $0.03 ต่อเอกสาร 100,000 รายการ | การอัปเดตแบบเรียลไทม์มี SKU ใหม่แยกต่างหาก (หน่วยการอัปเดตแบบเรียลไทม์) ซึ่งจะเรียกเก็บเงินต่อ 4 KiB การอัปเดตแบบเรียลไทม์มีค่าใช้จ่าย $0.30 ต่อหน่วยการอ่าน 1 ล้านหน่วย |