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