Firebase cung cấp 2 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. Khách hàng mới nên bắt đầu với Cloud Firestore:
Cloud Firestore là cơ sở dữ liệu tài liệu tương thích với JSON cấp doanh nghiệp được đề xuất và được hơn 600.000 nhà phát triển tin tưởng. Cơ sở dữ liệu này phù hợp với các ứng dụng có mô hình dữ liệu đa dạng thức, yêu cầu khả năng truy vấn, khả năng có thể mở rộng và khả năng hoạt động cao. Cơ sở dữ liệu này cũng cung cấp tính năng đồng bộ hoá ứng dụng có độ trễ thấp và quyền truy cập dữ liệu ngoại tuyến.
Realtime Database là cơ sở dữ liệu JSON cổ điển của Firebase. Cơ sở dữ liệu 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 khả năng tra cứu đơn giản và đồng bộ hoá có độ trễ thấp với khả năng mở rộng hạn chế.
Có những yếu tố quan trọng nào khác cần cân nhắc?
Sau khi cân nhắc các yếu tố quan trọng ở trên, 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 những ưu điểm và nhược điểm, thì phần này sẽ trình bày những đ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 bộ sưu tậ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ợ lưu trữ dữ liệu tại địa phương cho các ứng dụng sẵn sàng hoạt động ngoại tuyến.
| Cloud Firestore | [ ƯU TIÊN ] | Realtime Database |
|---|---|---|
| Hỗ trợ ngoại tuyến cho ứng dụng Apple, Android và ứng dụng web. | Hỗ trợ ngoại tuyến cho ứng dụng Apple và Android. | |
Trạng thái hiện diện
Bạn có thể cần biết khi nào một ứng dụng đ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ợ nguyên bản. 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's bằng cách đồng bộ hoá Cloud Firestore và Realtime Database bằng Cloud Functions Hãy xem bài viết Xây dựng trạng thái hiện diện trong Cloud Firestore. | Hỗ trợ trạng thái 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 với tính năng lọc và sắp xếp tổng hợp
.
|
Truy vấn sâu với các tính năng lọc và sắp xếp hạn chế
|
|
Thao tác ghi và giao dịch
| Cloud Firestore | [ ƯU TIÊN ] | Realtime Database |
|---|---|---|
Thao tác ghi và giao dịch nâng cao.
|
Thao tác ghi và giao dịch cơ bản.
|
|
Độ 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 có khả năng tự động mở rộng quy mô.
|
Realtime Database là một
giải pháp 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 có thể mở rộng
| Cloud Firestore | [ ƯU TIÊN ] | Realtime Database |
|---|---|---|
Khả năng mở rộng là tự động.
|
Khả năng mở rộng yêu cầu phân mảnh.
|
|
Bảo mật
| Cloud Firestore | [ ƯU TIÊN ] | Realtime Database |
|---|---|---|
Quy tắc không xếp tầng kết hợp tính năng uỷ quyền và xác thực.
|
Ngôn ngữ quy tắc xếp tầng tách biệt tính năng uỷ quyền và xác thực.
|
|
Giá
Cả hai giải pháp đều có trong các gói giá Spark và Blaze.
| Cloud Firestore | [ ƯU TIÊN ] | Realtime Database |
|---|---|---|
| Tính phí chủ yếu dựa trên các thao tác được thực hiện trong cơ sở dữ liệu của bạn (đọc, ghi, xoá) và ở mức thấp hơn, băng thông và bộ nhớ.
Cloud Firestore hỗ trợ ngân sách và cảnh báo hằng tháng để tránh chi tiêu nhiều hơn mức bạn cảm thấy thoải mái. Đọc thêm về Cloud Firestore các gói giá. |
Chỉ tính phí băng thông và bộ nhớ, nhưng ở mức cao hơn
rate.
Đọc thêm về Realtime Database các gói giá. |
|
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à các 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 của mình.
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 một cơ sở dữ liệu?
Hy vọng rằng thông tin so sánh này đã giúp bạn quyết định chọn một giải pháp cơ sở dữ liệu Firebase. Giờ đây, bạn có thể tìm hiểu cách thêm cơ sở dữ liệu vào các 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.