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