Firebase มีฐานข้อมูลเอกสารที่เข้าถึงได้จากฝั่งไคลเอ็นต์และทำงานบนระบบคลาวด์ 2 แบบ เราขอแนะนำให้ลูกค้าใหม่เริ่มต้นด้วย Cloud Firestore ดังนี้
Cloud Firestore เป็นฐานข้อมูลเอกสารที่เข้ากันได้กับ JSON ระดับองค์กรซึ่งแนะนำให้ใช้ และได้รับความไว้วางใจจากนักพัฒนาซอฟต์แวร์มากกว่า 600,000 ราย เหมาะสำหรับแอปพลิเคชันที่มีโมเดลข้อมูลแบบสมบูรณ์ซึ่งต้องการความสามารถในการค้นหา ความสามารถในการปรับขนาด และความพร้อมใช้งานสูง นอกจากนี้ยังมีการซิงค์ข้อมูลไคลเอ็นต์ที่มีเวลาในการตอบสนองต่ำและการเข้าถึงข้อมูลแบบออฟไลน์ด้วย
Realtime Database เป็นฐานข้อมูล JSON แบบคลาสสิกของ Firebase เหมาะสำหรับแอปพลิเคชันที่มีโมเดลข้อมูลแบบง่ายซึ่งต้องการการค้นหาแบบง่ายและการซิงค์ที่มีเวลาในการตอบสนองต่ำพร้อมความสามารถในการปรับขนาดที่จำกัด
สิ่งสำคัญอื่นๆ ที่ควรพิจารณามีอะไรบ้าง
หลังจากพิจารณาข้อควรพิจารณาที่สำคัญก่อนหน้านี้แล้ว คุณอาจพร้อมที่จะเลือกฐานข้อมูล หากคุณยังคงพิจารณาข้อดีและข้อเสียอยู่ ส่วนนี้จะครอบคลุมความแตกต่างอื่นๆ ระหว่าง Cloud Firestore และ Realtime Database
โมเดลข้อมูล
ทั้ง Realtime Database และ Cloud Firestore เป็นฐานข้อมูล NoSQL
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
จัดเก็บข้อมูลเป็นคอลเล็กชันเอกสาร
ดูข้อมูลเพิ่มเติมเกี่ยวกับโมเดลข้อมูล Cloud Firestore |
จัดเก็บข้อมูลเป็นโครงสร้างต้นไม้ JSON ขนาดใหญ่ 1 รายการ
ดูข้อมูลเพิ่มเติมเกี่ยวกับโมเดลข้อมูล Realtime Database |
|
การสนับสนุนแบบเรียลไทม์และออฟไลน์
ทั้ง 2 อย่างมี SDK แบบเรียลไทม์ที่เน้นอุปกรณ์เคลื่อนที่เป็นหลัก และทั้ง 2 อย่างรองรับพื้นที่เก็บข้อมูลในเครื่องสำหรับแอปที่พร้อมใช้งานแบบออฟไลน์
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| การสนับสนุนแบบออฟไลน์สำหรับ Apple, Android และเว็บไคลเอ็นต์ | การสนับสนุนแบบออฟไลน์สําหรับไคลเอ็นต์ Apple และ Android | |
การตรวจหาบุคคลในบ้าน
การทราบว่าไคลเอ็นต์ออนไลน์หรือออฟไลน์อยู่เมื่อใดอาจเป็นประโยชน์ Firebase Realtime Database สามารถบันทึกสถานะการเชื่อมต่อของไคลเอ็นต์และอัปเดตทุกครั้งที่สถานะการเชื่อมต่อของไคลเอ็นต์มีการเปลี่ยนแปลง
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| ไม่รองรับโดยค่าเริ่มต้น คุณสามารถต่อยอดการรองรับสถานะของ Realtime Database ได้โดยการซิงค์ Cloud Firestore และ Realtime Database โดยใช้ Cloud Functions ดูสร้างสถานะใน Cloud Firestore | รองรับการตรวจหาบุคคลในบ้าน | |
การสอบถาม
ดึงข้อมูล จัดเรียง และกรองข้อมูลจากฐานข้อมูลใดฐานข้อมูลหนึ่งผ่านการค้นหา
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
การค้นหาที่จัดทำดัชนีด้วยการจัดเรียงและการกรองแบบผสม
|
การค้นหาเชิงลึกที่มี
ฟีเจอร์การจัดเรียงและการกรองที่จำกัด
|
|
การเขียนและธุรกรรม
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
การดำเนินการเขียนและธุรกรรมขั้นสูง
|
การเขียนและการทำธุรกรรมขั้นพื้นฐาน
|
|
ความน่าเชื่อถือและประสิทธิภาพ
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Cloud Firestore เป็นโซลูชันระดับภูมิภาคและหลายภูมิภาคที่ปรับขนาดโดยอัตโนมัติ
|
Realtime Database เป็นโซลูชันระดับภูมิภาค
|
|
ระยะเวลาทำงาน
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
ประสิทธิภาพระยะเวลาทำงานสูงมาก
|
ประสิทธิภาพระยะเวลาทำงานสูง
|
|
ความสามารถในการปรับขนาด
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
การปรับขนาดเป็นแบบอัตโนมัติ
|
การปรับขนาดต้องใช้ชาร์ดดิ้ง
|
|
ความปลอดภัย
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
กฎแบบไม่เรียงซ้อนที่รวมการให้สิทธิ์และการตรวจสอบความถูกต้องเข้าด้วยกัน
|
ภาษาของกฎแบบเรียงซ้อนที่แยกการให้สิทธิ์และการตรวจสอบความถูกต้องออกจากกัน
|
|
ราคา
ทั้ง 2 โซลูชันพร้อมใช้งานในแพ็กเกจราคา Spark และ Blaze
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| ค่าใช้จ่ายส่วนใหญ่จะขึ้นอยู่กับการดำเนินการที่ทำในฐานข้อมูล (อ่าน เขียน ลบ) และแบนด์วิดท์และพื้นที่เก็บข้อมูลในอัตราที่ต่ำกว่า
Cloud Firestore รองรับงบประมาณและการแจ้งเตือนรายเดือนเพื่อหลีกเลี่ยงการใช้จ่ายเกินกว่าที่คุณพอใจ อ่านข้อมูลเพิ่มเติมเกี่ยวกับแพ็กเกจราคาของ Cloud Firestore |
เรียกเก็บเงินเฉพาะแบนด์วิดท์และพื้นที่เก็บข้อมูล แต่ในอัตราที่สูงกว่า
อ่านข้อมูลเพิ่มเติมเกี่ยวกับแพ็กเกจราคาของ Realtime Database |
|
ใช้ทั้ง Cloud Firestore และ Realtime Database
คุณใช้ฐานข้อมูลทั้ง 2 ประเภทภายในแอปหรือโปรเจ็กต์ Firebase เดียวกันได้ ฐานข้อมูล NoSQL ทั้ง 2 ประเภทสามารถจัดเก็บข้อมูลประเภทเดียวกันได้ และไลบรารีของไคลเอ็นต์ก็ทำงานในลักษณะที่คล้ายกัน โปรดคำนึงถึงความแตกต่างที่ระบุไว้ก่อนหน้านี้หากคุณตัดสินใจที่จะใช้ทั้ง 2 ฐานข้อมูลในแอป
ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ที่พร้อมใช้งานทั้งใน Realtime Database และ Cloud Firestore
พร้อมเลือกฐานข้อมูลแล้วใช่ไหม
หวังว่าการเปรียบเทียบนี้จะช่วยให้คุณเลือกโซลูชันฐานข้อมูล Firebase ได้ ตอนนี้คุณสามารถดูวิธีเพิ่มฐานข้อมูลลงในโปรเจ็กต์ Firebase ได้แล้ว
- สำหรับ Cloud Firestore โปรดดูหัวข้อเริ่มต้นใช้งาน Cloud Firestore
- สำหรับ Realtime Database โปรดอ่านหัวข้อเริ่มต้นใช้งานสำหรับแพลตฟอร์มของคุณ ได้แก่ Apple, Android, C++, Unity, เว็บ หรือ REST