Firebase cung cấp hai giải pháp cơ sở dữ liệu dựa trên đám mây, khách hàng có thể truy cập, hỗ trợ đồng bộ hóa dữ liệu theo thời gian thực:
Cloud Firestore là cơ sở dữ liệu mới nhất của Firebase để phát triển ứng dụng dành cho thiết bị di động. Nó được xây dựng dựa trên những thành công của Cơ sở dữ liệu thời gian thực với một mô hình dữ liệu mới, trực quan hơn. Cloud Firestore cũng có các truy vấn phong phú hơn, nhanh hơn và mở rộng quy mô hơn so với Cơ sở dữ liệu thời gian thực.
Cơ sở dữ liệu thời gian thực là cơ sở dữ liệu gốc của Firebase. Đó là một giải pháp hiệu quả, có độ trễ thấp cho các ứng dụng dành cho thiết bị di động yêu cầu trạng thái được đồng bộ hóa giữa các máy khách trong thời gian thực.
Firebase đề xuất cơ sở dữ liệu nào?
Lựa chọn giải pháp cơ sở dữ liệu của bạn sẽ phụ thuộc vào nhiều yếu tố, nhưng khi nói đến một số tính năng nhất định, chúng tôi có thể đưa ra khuyến nghị về cơ sở dữ liệu nào phù hợp với bạn.
Cả hai giải pháp đều cung cấp:
- SDK ưu tiên ứng dụng khách, không có máy chủ để triển khai và duy trì
- Cập nhật thời gian thực
- Bậc miễn phí, sau đó trả tiền cho những gì bạn sử dụng
Cân nhắc chính
Ngoài các tính năng cốt lõi tuyệt vời phổ biến cho cả hai cơ sở dữ liệu, hãy nghĩ xem bất kỳ hoặc tất cả các cân nhắc được liệt kê bên dưới sẽ ảnh hưởng như thế nào đến sự thành công của ứng dụng của bạn.
Vai trò của cơ sở dữ liệu | Ứng dụng của tôi sử dụng cơ sở dữ liệu cho ... Chủ yếu đồng bộ hóa dữ liệu, với truy vấn cơ bản. Nếu bạn không cần truy vấn, sắp xếp và giao dịch nâng cao, chúng tôi khuyên bạn nên sử dụng Cơ sở dữ liệu thời gian thực . Truy vấn, sắp xếp và giao dịch nâng cao. Nếu bạn cần các tương tác phức tạp với dữ liệu của mình, chẳng hạn như trong các ứng dụng thương mại điện tử, chúng tôi khuyên bạn nên sử dụng Cloud Firestore . |
Hoạt động trên dữ liệu | Việc sử dụng cơ sở dữ liệu của ứng dụng của tôi trông giống như ... Một vài GB dữ liệu trở xuống thay đổi thường xuyên. Nếu ứng dụng của bạn sẽ gửi một luồng cập nhật nhỏ, chẳng hạn như trong ứng dụng bảng trắng kỹ thuật số, chúng tôi khuyên bạn nên sử dụng Cơ sở dữ liệu thời gian thực . Hàng trăm GB đến TB dữ liệu được đọc thường xuyên hơn nhiều so với dữ liệu được thay đổi. Đối với các tập dữ liệu rất lớn và khi cần các hoạt động hàng loạt thường xuyên, chúng tôi khuyên bạn nên sử dụng Cloud Firestore . |
Mô hình dữ liệu | Tôi muốn cấu trúc dữ liệu của mình là ... Một cây JSON đơn giản. Đối với dữ liệu không có cấu trúc JSON, chúng tôi đề xuất Cơ sở dữ liệu thời gian thực . Tài liệu được tổ chức thành các bộ sưu tập. Đối với các tài liệu và bộ sưu tập có cấu trúc, chúng tôi khuyên bạn nên sử dụng Cloud Firestore . |
khả dụng | Nhu cầu về tính khả dụng của tôi là ... Đảm bảo thời gian hoạt động cực cao 99,999%. Nếu tính khả dụng là quan trọng hàng đầu, chẳng hạn như trong các ứng dụng thương mại điện tử, chúng tôi khuyên bạn nên sử dụng Cloud Firestore . Đảm bảo thời gian hoạt động ít nhất 99,95%. Khi tính khả dụng rất cao nhưng không đến mức có thể chấp nhận được, chúng tôi khuyên bạn nên sử dụng Cloud Firestore hoặc Cơ sở dữ liệu thời gian thực . |
Truy vấn ngoại tuyến về dữ liệu cục bộ | Ứng dụng của tôi sẽ cần thực hiện truy vấn trên các thiết bị có kết nối hạn chế hoặc không có ... Thường xuyên. Để có khả năng truy vấn phức tạp trên dữ liệu cục bộ khi người dùng ngoại tuyến, chúng tôi khuyên bạn nên sử dụng Cloud Firestore . Hiếm khi hoặc không bao giờ. Nếu bạn mong muốn người dùng của mình luôn trực tuyến, chúng tôi khuyên bạn nên sử dụng Cloud Firestore hoặc Cơ sở dữ liệu thời gian thực . |
Số lượng phiên bản cơ sở dữ liệu | Trong các dự án cá nhân của mình, tôi cần sử dụng ... Nhiều cơ sở dữ liệu, ví dụ một cơ sở dữ liệu cho từng khách hàng lớn. Vì nó cho phép bạn thêm nhiều cơ sở dữ liệu vào một dự án Firebase, chúng tôi khuyên bạn nên sử dụng Cơ sở dữ liệu thời gian thực . Chỉ là một cơ sở dữ liệu duy nhất. Nếu bạn cần một cơ sở dữ liệu duy nhất, chúng tôi khuyên bạn nên sử dụng Cloud Firestore hoặc Cơ sở dữ liệu thời gian thực . |
Một số điều quan trọng khác cần xem xét là gì?
Sau khi suy nghĩ về các cân nhắc quan trọng trước đó, bạn có thể sẵn sàng chọn cơ sở dữ liệu . Nếu bạn vẫn đang cân nhắc ưu và nhược điểm, phần này sẽ đề cập đến những khác biệt khác giữa Cloud Firestore và Cơ sở dữ liệu thời gian thực.
Mô hình dữ liệu
Cả Cơ sở dữ liệu thời gian thực và Cloud Firestore đều là Cơ sở dữ liệu NoSQL.
Cơ sở dữ liệu thời gian thực | 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 Cơ sở dữ liệu thời gian thực . | 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 . |
Hỗ trợ thời gian thực và ngoại tuyến
Cả hai đều có SDK ưu tiên cho thiết bị di động, thời gian thực và cả hai đều hỗ trợ lưu trữ dữ liệu cục bộ cho các ứng dụng sẵn sàng ngoại tuyến.
Cơ sở dữ liệu thời gian thực | Cloud Firestore |
---|---|
Hỗ trợ ngoại tuyến cho khách hàng Apple Android. | Hỗ trợ ngoại tuyến cho ứng dụng khách Apple, Android và web. |
Sự hiện diện
Có thể hữu ích khi biết khi nào khách hàng trực tuyến hay ngoại tuyến. Cơ sở dữ liệu thời gian thực của Firebase có thể ghi lại trạng thái kết nối của máy khách và cung cấp các bản cập nhật mỗi khi trạng thái kết nối của máy khách thay đổi.
Cơ sở dữ liệu thời gian thực | Cloud Firestore |
---|---|
Sự hiện diện được hỗ trợ. | Không được hỗ trợ nguyên bản. Bạn có thể tận dụng sự hỗ trợ của Cơ sở dữ liệu thời gian thực để hiện diện bằng cách đồng bộ hóa Cloud Firestore và Cơ sở dữ liệu thời gian thực bằng cách sử dụng Chức năng đám mây. Xem Xây dựng sự hiện diện trong Cloud Firestore . |
Truy vấn
Lấy, 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.
Cơ sở dữ liệu thời gian thực | Cloud Firestore |
---|---|
Truy vấn sâu với chức năng sắp xếp và lọc hạn chế.
| Các truy vấn được lập chỉ mục với sắp xếp và lọc kết hợp.
|
Viết và giao dịch
Cơ sở dữ liệu thời gian thực | Cloud Firestore |
---|---|
Các thao tác ghi và giao dịch cơ bản.
| Các thao tác ghi và giao dịch nâng cao.
|
Độ tin cậy và hiệu suất
Cơ sở dữ liệu thời gian thực | Cloud Firestore |
---|---|
Cơ sở dữ liệu thời gian thực là một giải pháp khu vực.
| Cloud Firestore là một giải pháp khu vực và đa khu vực có thể mở rộng quy mô tự động.
|
Khả năng mở rộng
Cơ sở dữ liệu thời gian thực | Cloud Firestore |
---|---|
Việc chia tỷ lệ yêu cầu phải có độ sắc nét.
| Chia tỷ lệ là tự động.
|
Bảo vệ
Cơ sở dữ liệu thời gian thực | Cloud Firestore |
---|---|
Ngôn ngữ quy tắc xếp tầng phân tách ủy quyền và xác thực.
| Quy tắc không phân tầng kết hợp ủy quyền và xác thực.
|
Định giá
Cả hai giải pháp đều có sẵn trên gói định giá Spark và Blaze .
Cơ sở dữ liệu thời gian thực | Cloud Firestore |
---|---|
Chỉ tính phí cho băng thông và dung lượng lưu trữ , nhưng ở mức cao hơn. Đọc thêm về các gói định giá Cơ sở dữ liệu thời gian thực . | Tính phí chủ yếu trên các hoạt động được thực hiện trong cơ sở dữ liệu của bạn (đọc, ghi, xóa) và với tốc độ thấp hơn, băng thông và dung lượng lưu trữ. Cloud Firestore hỗ trợ giới hạn chi tiêu hàng ngày cho các dự án App Engine, để đảm bảo bạn không vượt quá chi phí mà bạn cảm thấy thoải mái. Đọc thêm về các gói định giá Cloud Firestore . |
Sử dụng Cloud Firestore và Cơ sở dữ liệu thời gian thực
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ác loại dữ liệu giống nhau và các thư viện máy khách hoạt động theo cách tương tự. Hãy ghi nhớ những điểm khác biệt được nêu ở trên 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ó sẵn trong cả Cơ sở dữ liệu thời gian thực và Cloud Firestore .
Sẵn sàng để chọn một cơ sở dữ liệu?
Hy vọng rằng so sánh này đã giúp bạn giải quyết một 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 các dự án Firebase của mình.
- Đối với Cloud Firestore , hãy xem Bắt đầu với Cloud Firestore .
- Đối với Cơ sở dữ liệu thời gian thực , hãy đọc chủ đề Bắt đầu cho nền tảng của bạn: Apple , Android , C ++ , Unity , Web hoặc REST .