Firebase นำเสนอโซลูชันฐานข้อมูลที่เข้าถึงได้บนคลาวด์สองแบบที่รองรับการซิงค์ข้อมูลแบบเรียลไทม์:
Cloud Firestore เป็นฐานข้อมูลใหม่ล่าสุดของ Firebase สำหรับการพัฒนาแอพมือถือ สร้างขึ้นจากความสำเร็จของฐานข้อมูลเรียลไทม์ด้วยโมเดลข้อมูลใหม่ที่ใช้งานง่ายขึ้น Cloud Firestore ยังนำเสนอการสืบค้นข้อมูลที่สมบูรณ์และรวดเร็วยิ่งขึ้น และปรับขนาดได้ไกลกว่าฐานข้อมูลเรียลไทม์
ฐานข้อมูลเรียลไทม์ เป็นฐานข้อมูลดั้งเดิมของ Firebase เป็นโซลูชันที่มีประสิทธิภาพและมีความหน่วงต่ำสำหรับแอปบนอุปกรณ์เคลื่อนที่ที่ต้องการสถานะการซิงค์ระหว่างไคลเอ็นต์ในแบบเรียลไทม์
Firebase แนะนำฐานข้อมูลใด
การเลือกโซลูชันฐานข้อมูลของคุณจะขึ้นอยู่กับหลายปัจจัย แต่เมื่อพูดถึงคุณสมบัติบางอย่าง เราสามารถให้คำแนะนำเกี่ยวกับฐานข้อมูลที่เหมาะกับคุณได้
ทั้งสองโซลูชั่นนำเสนอ:
- SDK ที่เน้นไคลเอ็นต์เป็นอันดับแรก โดยไม่มีเซิร์ฟเวอร์ในการปรับใช้และบำรุงรักษา
- อัพเดทเรียลไทม์
- ฟรีเทียร์แล้วจ่ายเท่าที่คุณใช้
ข้อควรพิจารณาที่สำคัญ
นอกเหนือจากคุณสมบัติหลักที่ยอดเยี่ยมซึ่งพบได้ทั่วไปในฐานข้อมูลทั้งสองแล้ว ลองนึกถึงว่าข้อควรพิจารณาใดๆ หรือทั้งหมดที่แสดงด้านล่างนี้จะส่งผลต่อความสำเร็จของแอปของคุณอย่างไร
บทบาทของฐานข้อมูล | แอพของฉันใช้ฐานข้อมูลสำหรับ... การซิงโครไนซ์ข้อมูลเป็นหลักด้วยการสืบค้นข้อมูลพื้นฐาน หากคุณไม่ต้องการการสืบค้น การเรียงลำดับ และการทำธุรกรรมขั้นสูง เราขอแนะนำ Realtime Database การสืบค้น การเรียงลำดับ และธุรกรรมขั้นสูง หากคุณต้องการการโต้ตอบที่ซับซ้อนกับข้อมูลของคุณ เช่น ในแอปอีคอมเมิร์ซ เราขอแนะนำ Cloud Firestore |
การดำเนินงานเกี่ยวกับข้อมูล | การใช้ฐานข้อมูลของแอปของฉันดูเหมือนว่า... ข้อมูลไม่กี่ GB หรือน้อยกว่าที่เปลี่ยนแปลงบ่อยๆ หากแอปของคุณจะส่งกระแสข้อมูลอัปเดตเล็กๆ น้อยๆ เช่น ในแอปไวท์บอร์ดดิจิทัล เราขอแนะนำ Realtime Database ข้อมูลหลายร้อย GB ถึง TBs ที่อ่านบ่อยกว่าที่มีการเปลี่ยนแปลง สำหรับชุดข้อมูลขนาดใหญ่มาก และเมื่อจำเป็นต้องดำเนินการแบบแบตช์บ่อยครั้ง เราขอแนะนำ Cloud Firestore |
แบบจำลองข้อมูล | ฉันชอบจัดโครงสร้างข้อมูลของฉันเป็น... ต้นไม้ JSON อย่างง่าย สำหรับข้อมูลที่ไม่มีโครงสร้าง JSON เราขอแนะนำ Realtime Database เอกสารที่จัดเป็นคอลเลกชัน สำหรับเอกสารและคอลเล็กชันที่มีโครงสร้าง เราขอแนะนำ Cloud Firestore |
ความพร้อมใช้งาน | ความต้องการความพร้อมของฉันคือ... รับประกันความพร้อมใช้งานสูงมากถึง 99.999% หากความพร้อมใช้งานมีความสำคัญสูงสุด เช่น ในแอปอีคอมเมิร์ซ เราขอแนะนำ Cloud Firestore รับประกัน uptime อย่างน้อย 99.95% เมื่อยอมรับความพร้อมใช้งานที่สูงมากแต่ไม่สำคัญ เราขอแนะนำ Cloud Firestore หรือ Realtime Database |
แบบสอบถามออฟไลน์เกี่ยวกับข้อมูลในเครื่อง | แอปของฉันจะต้องดำเนินการค้นหาบนอุปกรณ์ที่มีการเชื่อมต่อจำกัดหรือไม่มีเลย... บ่อย. สำหรับความสามารถในการสืบค้นข้อมูลในเครื่องที่ซับซ้อนเมื่อผู้ใช้ออฟไลน์ เราขอแนะนำ Cloud Firestore ไม่ค่อยหรือไม่เคย หากคุณคาดหวังให้ผู้ใช้ออนไลน์อย่างสม่ำเสมอ เราขอแนะนำ Cloud Firestore หรือ Realtime Database |
จำนวนอินสแตนซ์ฐานข้อมูล | ในแต่ละโปรเจ็กต์ของฉัน ฉันต้องใช้... ฐานข้อมูลจำนวนมาก เช่น ฐานข้อมูลสำหรับลูกค้ารายใหญ่แต่ละราย เนื่องจากช่วยให้คุณเพิ่มฐานข้อมูลหลายฐานข้อมูลในโปรเจ็กต์ Firebase เดียว เราขอแนะนำ Realtime Database เพียงฐานข้อมูลเดียว หากคุณต้องการฐานข้อมูลเดียว เราขอแนะนำ Cloud Firestore หรือ Realtime Database |
สิ่งสำคัญอื่น ๆ ที่ต้องพิจารณามีอะไรบ้าง?
หลังจากพิจารณาประเด็นสำคัญก่อนหน้านี้แล้ว คุณอาจพร้อมที่จะ เลือกฐานข้อมูล หากคุณยังคงชั่งน้ำหนักข้อดีข้อเสีย ส่วนนี้จะครอบคลุมความแตกต่างอื่นๆ ระหว่าง Cloud Firestore และฐานข้อมูลเรียลไทม์
แบบจำลองข้อมูล
ทั้งฐานข้อมูลเรียลไทม์และ Cloud Firestore เป็นฐานข้อมูล NoSQL
ฐานข้อมูลเรียลไทม์ | Cloud Firestore |
---|---|
เก็บข้อมูลเป็นต้นไม้ JSON ขนาดใหญ่หนึ่งต้น
เรียนรู้เพิ่มเติมเกี่ยวกับ โมเดลข้อมูล Realtime Database | เก็บข้อมูลเป็นชุดของเอกสาร
เรียนรู้เพิ่มเติมเกี่ยวกับ โมเดลข้อมูล Cloud Firestore |
การสนับสนุนแบบเรียลไทม์และออฟไลน์
ทั้งคู่มี SDK แบบเรียลไทม์สำหรับมือถือเป็นอันดับแรก และทั้งคู่รองรับการจัดเก็บข้อมูลในเครื่องสำหรับแอปที่พร้อมใช้งานแบบออฟไลน์
ฐานข้อมูลเรียลไทม์ | Cloud Firestore |
---|---|
การสนับสนุนแบบออฟไลน์สำหรับลูกค้า Apple Android | การสนับสนุนออฟไลน์สำหรับไคลเอนต์ Apple, Android และเว็บ |
การมีอยู่
การรู้ว่าลูกค้าออนไลน์หรือออฟไลน์เมื่อไรอาจเป็นประโยชน์ ฐานข้อมูลเรียลไทม์ของ Firebase สามารถบันทึกสถานะการเชื่อมต่อไคลเอ็นต์และให้ข้อมูลอัปเดตทุกครั้งที่สถานะการเชื่อมต่อของไคลเอ็นต์เปลี่ยนแปลง
ฐานข้อมูลเรียลไทม์ | Cloud Firestore |
---|---|
รองรับการแสดงตน | ไม่รองรับโดยกำเนิด คุณสามารถใช้การสนับสนุนฐานข้อมูลเรียลไทม์สำหรับการมีอยู่ได้โดยการซิงค์ Cloud Firestore และฐานข้อมูลเรียลไทม์โดยใช้ฟังก์ชันคลาวด์ ดู การสร้างสถานะใน Cloud Firestore |
การสอบถาม
ดึง จัดเรียง และกรองข้อมูลจากฐานข้อมูลใดฐานข้อมูลหนึ่งผ่านการสืบค้น
ฐานข้อมูลเรียลไทม์ | Cloud Firestore |
---|---|
การค้นหาเชิงลึกที่มี ฟังก์ชันการเรียงลำดับและการกรอง ที่จำกัด
| แบบสอบถามที่จัดทำดัชนีด้วย การเรียงลำดับและการกรอง แบบผสม
|
การเขียนและการทำธุรกรรม
ฐานข้อมูลเรียลไทม์ | Cloud Firestore |
---|---|
การเขียนพื้นฐานและการดำเนินการธุรกรรม
| การดำเนินการเขียนและธุรกรรมขั้นสูง
|
ความน่าเชื่อถือและประสิทธิภาพ
ฐานข้อมูลเรียลไทม์ | Cloud Firestore |
---|---|
ฐานข้อมูลเรียลไทม์เป็นโซลูชันระดับภูมิภาค
| Cloud Firestore เป็นโซลูชันระดับภูมิภาคและหลายภูมิภาคที่ปรับขนาดโดยอัตโนมัติ
|
ความสามารถในการปรับขนาด
ฐานข้อมูลเรียลไทม์ | Cloud Firestore |
---|---|
การปรับขนาดต้องใช้การแบ่งส่วน
| การปรับขนาดเป็นไปโดยอัตโนมัติ
|
ความปลอดภัย
ฐานข้อมูลเรียลไทม์ | Cloud Firestore |
---|---|
ภาษากฎการเรียงซ้อนที่แยกการอนุญาตและการตรวจสอบความถูกต้อง
| กฎที่ไม่เรียงซ้อนที่รวมการอนุญาตและการตรวจสอบความถูกต้อง
|
ราคา
โซลูชันทั้งสองมีอยู่ใน แผนราคา Spark และ Blaze
ฐานข้อมูลเรียลไทม์ | Cloud Firestore |
---|---|
เรียกเก็บเฉพาะ แบนด์วิดท์และพื้นที่เก็บข้อมูล แต่ในอัตราที่สูงกว่า อ่านเพิ่มเติมเกี่ยวกับ แผนราคาฐานข้อมูลเรียลไทม์ | ค่าบริการหลักจาก การดำเนินการในฐานข้อมูลของคุณ (อ่าน เขียน ลบ) และแบนด์วิดท์และพื้นที่เก็บข้อมูลในอัตราที่ต่ำกว่า Cloud Firestore รองรับ การจำกัดการใช้จ่าย รายวันสำหรับโครงการ App Engine เพื่อให้แน่ใจว่าคุณจะไม่ต้องเสียค่าใช้จ่ายเกินที่คุณพอใจ อ่านเพิ่มเติมเกี่ยวกับ แผนราคา Cloud Firestore |
การใช้ Cloud Firestore และฐานข้อมูลเรียลไทม์
คุณสามารถใช้ฐานข้อมูลทั้งสองภายในแอปหรือโปรเจ็กต์ Firebase เดียวกัน ฐานข้อมูล NoSQL ทั้งสองฐานข้อมูลสามารถจัดเก็บข้อมูลประเภทเดียวกันได้ และไลบรารีของไคลเอ็นต์ทำงานในลักษณะเดียวกัน คำนึงถึงความแตกต่างที่ระบุไว้ข้างต้นหากคุณตัดสินใจ ใช้ฐานข้อมูลทั้งสองในแอปของคุณ
เรียนรู้เพิ่มเติมเกี่ยวกับคุณสมบัติที่มีอยู่ใน ฐานข้อมูลเรียลไทม์ และ Cloud Firestore
พร้อมที่จะเลือกฐานข้อมูลแล้วหรือยัง?
หวังว่าการเปรียบเทียบนี้จะช่วยให้คุณจัดการกับโซลูชันฐานข้อมูล Firebase ได้ ตอนนี้คุณสามารถเรียนรู้วิธีเพิ่มฐานข้อมูลในโครงการ Firebase ของคุณ