Firebase cung cấp hai cơ sở dữ liệu tài liệu dựa trên đám mây mà ứng dụng có thể truy cập. Bạn nên bắt đầu với Cloud Firestore cho khách hàng mới:
Cloud Firestore là cơ sở dữ liệu tài liệu tương thích với JSON cấp doanh nghiệp nên dùng, được hơn 250.000 nhà phát triển tin tưởng. Loại này phù hợp với các ứng dụng có mô hình dữ liệu phong phú đòi hỏi khả năng truy vấn, khả năng mở rộng và khả năng sẵn sàng cao. API này cũng cung cấp tính năng đồng bộ hoá ứng dụng có độ trễ thấp và truy cập dữ liệu ngoại tuyến.
Realtime Database là cơ sở dữ liệu JSON Firebase cổ điển. Loại này phù hợp với các ứng dụng có mô hình dữ liệu đơn giản, yêu cầu tra cứu đơn giản và đồng bộ hoá độ trễ thấp với khả năng mở rộng hạn chế.
Những điều quan trọng khác cần cân nhắc là gì?
Sau khi cân nhắc những yếu tố chính trước đó, bạn có thể sẵn sàng chọn một cơ sở dữ liệu. Nếu bạn vẫn đang cân nhắc các ưu và khuyết điểm, phần này sẽ trình bày các điểm khác biệt khác giữa Cloud Firestore và Realtime Database.
Mô hình dữ liệu
Cả Realtime Database và Cloud Firestore đều là Cơ sở dữ liệu NoSQL.
Cloud Firestore | [ ƯU TIÊN ] | Realtime Database |
---|---|---|
Lưu trữ dữ liệu dưới dạng tập hợp tài liệu.
Tìm hiểu thêm về mô hình dữ liệu Cloud Firestore. |
Lưu trữ dữ liệu dưới dạng một cây JSON lớn.
Tìm hiểu thêm về mô hình dữ liệu Realtime Database. |
Hỗ trợ theo thời gian thực và ngoại tuyến
Cả hai đều có SDK theo thời gian thực, ưu tiên thiết bị di động và đều hỗ trợ bộ nhớ dữ liệu cục bộ cho các ứng dụng có thể dùng khi không có mạng.
Cloud Firestore | [ ƯU TIÊN ] | Realtime Database |
---|---|---|
Hỗ trợ ngoại tuyến cho ứng dụng Apple, Android và web. | Hỗ trợ ngoại tuyến cho ứng dụng Apple và Android. |
Sự hiện diện
Bạn có thể biết được thời điểm ứng dụng khách đang trực tuyến hoặc ngoại tuyến. Firebase Realtime Database có thể ghi lại trạng thái kết nối của ứng dụng và cung cấp thông tin cập nhật mỗi khi trạng thái kết nối của ứng dụng thay đổi.
Cloud Firestore | [ ƯU TIÊN ] | Realtime Database |
---|---|---|
Không được hỗ trợ gốc. Bạn có thể xây dựng dựa trên tính năng hỗ trợ trạng thái hiện diện của Realtime Database bằng cách đồng bộ hoá Cloud Firestore và Realtime Database bằng Cloud Functions. Xem phần Tạo trạng thái hiện diện trong Cloud Firestore. | Hỗ trợ tính năng Hiện diện. |
Truy vấn
Truy xuất, sắp xếp và lọc dữ liệu từ một trong hai cơ sở dữ liệu thông qua các truy vấn.
Cloud Firestore | [ ƯU TIÊN ] | Realtime Database |
---|---|---|
Truy vấn được lập chỉ mục bằng tính năng sắp xếp và lọc phức hợp.
|
Truy vấn sâu có các tính năng sắp xếp và lọc bị hạn chế.
|
Hoạt động ghi và giao dịch
Cloud Firestore | [ ƯU TIÊN ] | Realtime Database |
---|---|---|
Các thao tác ghi và giao dịch nâng cao.
|
Các thao tác cơ bản về ghi và giao dịch.
|
Độ tin cậy và hiệu suất
Cloud Firestore | [ ƯU TIÊN ] | Realtime Database |
---|---|---|
Cloud Firestore là một giải pháp khu vực và đa khu vực tự động mở rộng quy mô.
|
Realtime Database là giải pháp theo khu vực.
|
Thời gian hoạt động
Cloud Firestore | [ ƯU TIÊN ] | Realtime Database |
---|---|---|
Hiệu suất thời gian hoạt động cực cao.
|
Hiệu suất thời gian hoạt động cao.
|
Khả năng mở rộng
Cloud Firestore | [ ƯU TIÊN ] | Realtime Database |
---|---|---|
Tự động mở rộng quy mô.
|
Bạn cần phân đoạn để mở rộng quy mô.
|
Bảo mật
Cloud Firestore | [ ƯU TIÊN ] | Realtime Database |
---|---|---|
Quy tắc không theo kiểu thác nước kết hợp việc uỷ quyền và xác thực.
|
Ngôn ngữ quy tắc dạng lũy thừa phân tách việc uỷ quyền và xác thực.
|
Giá
Cả hai giải pháp này đều có trong các gói giá Spark và Blaze.
Cloud Firestore | [ ƯU TIÊN ] | Realtime Database |
---|---|---|
Phí chủ yếu là do các thao tác thực hiện trong cơ sở dữ liệu của bạn (đọc, ghi, xoá) và băng thông và bộ nhớ ở mức thấp hơn.
Cloud Firestore hỗ trợ hạn mức chi tiêu hằng ngày cho các dự án App Engine để đảm bảo bạn không vượt quá mức chi phí mà bạn cảm thấy thoải mái. Đọc thêm về các gói giá của Cloud Firestore. |
Chỉ tính phí băng thông và bộ nhớ, nhưng ở mức giá cao hơn.
Đọc thêm về các gói giá của Realtime Database. |
Sử dụng Cloud Firestore và Realtime Database
Bạn có thể sử dụng cả hai cơ sở dữ liệu trong cùng một ứng dụng hoặc dự án Firebase. Cả hai cơ sở dữ liệu NoSQL đều có thể lưu trữ cùng một loại dữ liệu và thư viện ứng dụng hoạt động theo cách tương tự. Hãy lưu ý những điểm khác biệt đã nêu trước đó nếu bạn quyết định sử dụng cả hai cơ sở dữ liệu trong ứng dụng.
Tìm hiểu thêm về các tính năng có trong cả Realtime Database và Cloud Firestore.
Bạn đã sẵn sàng chọn cơ sở dữ liệu chưa?
Hy vọng thông tin so sánh này đã giúp bạn chọn được giải pháp cơ sở dữ liệu Firebase. Bây giờ, bạn có thể tìm hiểu cách thêm cơ sở dữ liệu vào dự án Firebase.
- Đối với Cloud Firestore, hãy xem bài viết Bắt đầu sử dụng Cloud Firestore.
- Đối với Realtime Database, hãy đọc chủ đề Bắt đầu sử dụng cho nền tảng của bạn: Apple, Android, C++, Unity, Web hoặc REST.