Firebase Realtime Database
จัดเก็บและซิงค์ข้อมูลด้วยฐานข้อมูล NoSQL ในระบบคลาวด์ของเรา ระบบจะซิงค์ข้อมูลในไคลเอนต์ทั้งหมดแบบเรียลไทม์ และข้อมูลจะยังคงพร้อมใช้งานแม้ว่าแอปจะออฟไลน์
Realtime Database
Cloud Firestore
แนะนำFirebase Realtime Database เป็นฐานข้อมูลที่โฮสต์ในระบบคลาวด์ ระบบจะจัดเก็บข้อมูลเป็น JSON และซิงค์แบบเรียลไทม์กับไคลเอ็นต์ที่เชื่อมต่อทั้งหมด เมื่อคุณสร้าง แอปข้ามแพลตฟอร์มด้วย SDK ของแพลตฟอร์ม Apple, Android และ JavaScript ไคลเอ็นต์ทั้งหมดจะแชร์อินสแตนซ์ Realtime Database เดียวกันและรับการอัปเดตด้วย ข้อมูลล่าสุดโดยอัตโนมัติ
หรือลองใช้ Cloud Firestore สำหรับแอปพลิเคชันสมัยใหม่ ที่ต้องใช้โมเดลข้อมูลแบบสมบูรณ์ ความสามารถในการค้นหา ความสามารถในการปรับขนาด และความพร้อมใช้งานที่สูงขึ้น
หากพร้อมที่จะเริ่มแล้ว เลือกแพลตฟอร์ม
ความสามารถหลัก
| เรียลไทม์ | Firebase Realtime DatabaseFirebase Realtime Database ใช้การซิงค์ข้อมูลแทนคำขอ HTTP ทั่วไป ซึ่งหมายความว่าทุกครั้งที่ข้อมูลมีการเปลี่ยนแปลง อุปกรณ์ที่เชื่อมต่อจะได้รับการอัปเดตภายในไม่กี่มิลลิวินาที มอบประสบการณ์การใช้งานร่วมกันและ ประสบการณ์ที่สมจริงโดยไม่ต้องกังวลเรื่องโค้ดเครือข่าย |
| ออฟไลน์ | แอป Firebase ยังคงตอบสนองได้แม้จะออฟไลน์อยู่ก็ตาม เนื่องจาก Firebase Realtime Database SDK จะเก็บข้อมูลของคุณไว้ในดิสก์ เมื่อมีการเชื่อมต่อ อีกครั้ง อุปกรณ์ไคลเอ็นต์จะได้รับการเปลี่ยนแปลงที่พลาดไป ซึ่งจะซิงค์กับสถานะเซิร์ฟเวอร์ปัจจุบัน |
| เข้าถึงได้จากอุปกรณ์ไคลเอ็นต์ | คุณสามารถเข้าถึง Firebase Realtime Database ได้โดยตรงจากอุปกรณ์เคลื่อนที่ หรือเว็บเบราว์เซอร์ โดยไม่จำเป็นต้องใช้เซิร์ฟเวอร์แอปพลิเคชัน การรักษาความปลอดภัยและ การตรวจสอบข้อมูลจะพร้อมใช้งานผ่านFirebase Realtime Database กฎความปลอดภัย ซึ่งเป็นกฎที่อิงตามนิพจน์ที่จะทำงานเมื่อมีการ อ่านหรือเขียนข้อมูล |
| ปรับขนาดในฐานข้อมูลหลายรายการ | ด้วย Firebase Realtime Database ในแพ็กเกจราคา Blaze คุณสามารถรองรับความต้องการข้อมูลของแอปในระดับที่ปรับขนาดได้โดยการแยกข้อมูลในอินสแตนซ์ฐานข้อมูลหลายรายการในโปรเจ็กต์ Firebase เดียวกัน ปรับปรุงการตรวจสอบสิทธิ์ให้มีประสิทธิภาพมากขึ้นด้วย Firebase Authentication ในโปรเจ็กต์และตรวจสอบสิทธิ์ผู้ใช้ในอินสแตนซ์ฐานข้อมูล ควบคุมการเข้าถึงข้อมูลในฐานข้อมูลแต่ละรายการด้วย Firebase Realtime Database Security Rules ที่กำหนดเองสำหรับอินสแตนซ์ฐานข้อมูลแต่ละรายการ |
วิธีการทำงาน
Firebase Realtime Database ช่วยให้คุณสร้างแอปพลิเคชันที่สมบูรณ์และทำงานร่วมกันได้ โดยอนุญาตให้เข้าถึงฐานข้อมูลได้อย่างปลอดภัยจากโค้ดฝั่งไคลเอ็นต์โดยตรง ระบบจะเก็บข้อมูลไว้ในเครื่อง และแม้จะออฟไลน์อยู่ เหตุการณ์แบบเรียลไทม์ก็จะยังคงทำงานต่อไป ทำให้ผู้ใช้ปลายทางได้รับประสบการณ์การใช้งานที่ตอบสนองได้ดี เมื่ออุปกรณ์กลับมาเชื่อมต่อได้อีกครั้ง Realtime Databaseระบบจะซิงค์การเปลี่ยนแปลงข้อมูลผลิตภัณฑ์ในพื้นที่กับการอัปเดตระยะไกล ที่เกิดขึ้นขณะที่ไคลเอ็นต์ออฟไลน์ โดยจะผสานความขัดแย้งใดๆ โดยอัตโนมัติ
Realtime Database มีภาษาของกฎที่ยืดหยุ่นและอิงตามนิพจน์ ที่เรียกว่ากฎความปลอดภัยของ Firebase Realtime Database เพื่อกำหนดวิธีจัดโครงสร้างข้อมูล และเวลาที่สามารถอ่านหรือเขียนข้อมูลได้ เมื่อผสานรวมกับ Firebase Authentication นักพัฒนาแอปจะกำหนดได้ว่าใครมีสิทธิ์เข้าถึงข้อมูลใดบ้างและเข้าถึงได้อย่างไร
Realtime Database เป็นฐานข้อมูล NoSQL จึงมีการเพิ่มประสิทธิภาพ และความสามารถที่แตกต่างจากฐานข้อมูลเชิงสัมพันธ์ API ของ Realtime Database ได้รับการ ออกแบบมาเพื่ออนุญาตการดำเนินการที่สามารถดำเนินการได้อย่างรวดเร็วเท่านั้น ซึ่งช่วยให้คุณสร้างประสบการณ์การใช้งานแบบเรียลไทม์ที่ยอดเยี่ยมซึ่งรองรับผู้ใช้หลายล้านคนได้โดยไม่ลดทอนการตอบสนอง ด้วยเหตุนี้ คุณจึงควรพิจารณาว่าผู้ใช้ต้องเข้าถึงข้อมูลของคุณอย่างไร แล้วจึง จัดโครงสร้างข้อมูลตามนั้น
เส้นทางการติดตั้งใช้งาน
| ผสานรวม Firebase Realtime Database SDK | รวมไคลเอ็นต์อย่างรวดเร็วโดยใช้ Gradle, Swift Package Manager หรือสคริปต์รวม | |
| สร้างการอ้างอิง Realtime Database | อ้างอิงข้อมูล JSON เช่น "users/user:1234/phone_number" เพื่อตั้งค่า ข้อมูลหรือสมัครรับข้อมูลการเปลี่ยนแปลง | |
| ตั้งค่าข้อมูลและรับฟังการเปลี่ยนแปลง | ใช้การอ้างอิงเหล่านี้เพื่อเขียนข้อมูลหรือสมัครรับข้อมูลการเปลี่ยนแปลง | |
| เปิดใช้การคงอยู่แบบออฟไลน์ | อนุญาตให้เขียนข้อมูลลงในดิสก์ในเครื่องของอุปกรณ์เพื่อให้พร้อมใช้งาน ขณะออฟไลน์ | |
| รักษาความปลอดภัยของข้อมูล | ใช้กฎความปลอดภัยของ Firebase Realtime Database เพื่อรักษาความปลอดภัยของข้อมูล |
จัดเก็บข้อมูลประเภทอื่นๆ
- Cloud Firestore เป็นฐานข้อมูลที่ยืดหยุ่นและปรับขนาดได้สำหรับการพัฒนาแอปบนอุปกรณ์เคลื่อนที่ เว็บ และเซิร์ฟเวอร์จาก Firebase และ Google Cloud ดูข้อมูลเพิ่มเติมเกี่ยวกับความแตกต่างระหว่างตัวเลือกฐานข้อมูลได้ที่ เลือกฐานข้อมูล: Cloud Firestore หรือ Realtime Database
- Firebase Remote Config จะจัดเก็บคู่คีย์-ค่าที่นักพัฒนาแอประบุไว้เพื่อเปลี่ยนลักษณะการทำงานและหน้าตาของแอปโดยไม่ต้องให้ผู้ใช้ดาวน์โหลดการอัปเดต
- Firebase Hosting จะโฮสต์ HTML, CSS และ JavaScript สำหรับเว็บไซต์ รวมถึงชิ้นงานอื่นๆ ที่นักพัฒนาแอปจัดหาให้ เช่น กราฟิก แบบอักษร และไอคอน
- Cloud Storage จะจัดเก็บไฟล์ เช่น รูปภาพ วิดีโอ และเสียง รวมถึงเนื้อหาอื่นๆ ที่ผู้ใช้สร้างขึ้น
ขั้นตอนถัดไป
- ตั้งค่าข้อมูลและรับฟังการเปลี่ยนแปลงโดยใช้ แพลตฟอร์ม Apple, Android, Web, Admin SDK หรือ REST API
- เพิ่ม Firebase Realtime Database ลงในแอป Apple, Android หรือ Web
- ดูข้อมูลเกี่ยวกับวิธีรักษาความปลอดภัยของไฟล์โดยใช้ Firebase Realtime Database Security Rules