Google Cloud Datastore so với Firebase [đã đóng cửa]


96

Google cung cấp hai dịch vụ lưu trữ dữ liệu dựa trên đám mây là Google Cloud Datastore và Firebase (sau khi mua lại). Mặc dù các tình huống sử dụng điển hình được cung cấp để cho phép nhà phát triển lựa chọn giữa các dịch vụ khác nhau do nền tảng đám mây của Google cung cấp, nhưng không có đề cập đến cách Firebase phù hợp với bức tranh trong quá trình phát triển hiện tại / tương lai.

Có ai có thể hình dung một số thông tin chi tiết về vấn đề này và cung cấp các trường hợp sử dụng điển hình cho Google Cloud Datastore và Firebase không?


2
Chúng tôi cũng có thêm thông tin tại đây: cloud.google.com/storage-options
Dan McGrath

Bản thân Firebase không phải là một dịch vụ lưu trữ dữ liệu vì nó bao gồm một bộ sản phẩm bao gồm Cloud Firestore và Cơ sở dữ liệu thời gian thực cho cơ sở dữ liệu và Lưu trữ đám mây cho tệp.
Andy Fusniak

@DanMcGrath Datastore không xuất hiện ở bất kỳ đâu trên liên kết bạn đã chia sẻ. Hoặc, tôi đang thiếu một cái gì đó?
Ronnie Royston

@Ron, trong thời gian kể từ khi nó được đăng, phiên bản nâng cấp của Datastore được đổi tên thành Cloud Firestore là GA, vì vậy chúng tôi chỉ sử dụng tên mới.
Dan McGrath,

@DanMcGrath ngay trên. ... url cloud.google.com/datastore vẫn quảng cáo hệ thống đã lỗi thời nên tôi không chắc thỏa thuận là gì. Cảm ơn.
Ronnie Royston

Câu trả lời:



61

Cả hai sản phẩm đều có điểm mạnh và điểm yếu. Dưới đây là một số lý do để sử dụng cái này hoặc cái kia:

Sử dụng Firebase nếu bạn muốn:

  • Cơ sở dữ liệu không có chương trình phụ trợ của riêng bạn : SDK Firebase cho phép bạn viết ứng dụng web và thiết bị di động mà không cần chạy chương trình phụ trợ của riêng bạn. Bạn có thể đọc và ghi vào Cơ sở dữ liệu Firebase trực tiếp từ ứng dụng của mình mà không cần mã máy chủ. Mô hình bảo mật cơ sở dữ liệu cho phép kiểm soát truy cập chi tiết mà không cần máy chủ dựa trên người dùng của bạn.
  • Dữ liệu thời gian thực : Firebase cho phép bạn lắng nghe các thay đổi trên dữ liệu của mình, điều này giúp việc viết một số loại ứng dụng trở nên rất dễ dàng. Một ví dụ tuyệt vời là trình soạn thảo văn bản cộng tác .
  • Mô hình dữ liệu đơn giản : Cơ sở dữ liệu Firebase lưu trữ JSON. Nếu bạn biết JSON, bạn biết mô hình dữ liệu Firebase.
  • Để được hưởng lợi từ các tính năng khác của Firebase : Ví dụ: Firebase cung cấp tính năng quản lý và xác thực người dùng hoạt động hiệu quả với cơ sở dữ liệu.

Sử dụng Kho dữ liệu nếu bạn muốn:

  • Khả năng mở rộng gần như vô hạn : Kho dữ liệu được biết là mở rộng đến một lượng lớn dữ liệu
  • Truy vấn mạnh mẽ hơn : Các truy vấn kho dữ liệu mạnh hơn những gì bạn có thể làm với Firebase.

1
Nó nghĩ rằng cụm từ "Một cơ sở dữ liệu không có back-end của riêng bạn" có thể áp dụng cho cả hai dịch vụ. Kho dữ liệu là một phần của Google Cloud, bạn không phải duy trì máy chủ của riêng mình. Đối với logic back-end, phần lớn các thư viện máy khách của Datastore là dựa trên máy chủ, tuy nhiên, có thể sử dụng các API REST của nó cho các ứng dụng dựa trên web và di động. Bạn thậm chí có thể đi xa đến mức chạy thư viện máy khách Node.js thông qua Browserify, chuyển đổi nó thành thư viện dựa trên web.
TheAddonDepot

1
@DimuDesigns firebase DB có các quy tắc bảo mật để bảo vệ cập nhật của người dùng khỏi làm xáo trộn dữ liệu của bạn. Ví dụ: xóa dữ liệu của người khác. Đó là của nghĩa DB mà không cần phụ trợ, bạn không cần phụ trợ để xác minh tính hợp lệ của đầu vào, trong khi nó không thể chấp nhận để cho khách hàng làm tương tự với gdatastore
Thaina

@DimuDesigns hoặc jonnydee: Datastore có tất cả các tính năng mà Firebase có cùng với hai tính năng được liệt kê cho Datastore không? Hoặc ít nhất, vui lòng trả lời, Datastore cũng có dữ liệu thời gian thực giống như cách mà Firebase làm?
Bryan Dimas,

1
@BryanDimas Datastore nguyên bản không hỗ trợ trình kích hoạt sự kiện thời gian thực khi dữ liệu thay đổi. Tuy nhiên có một tính năng được gọi là "Sắp xếp nhiệm vụ giao dịch". Nó không phải là thời gian thực nhưng nó là một lựa chọn khả thi. Hiện đã có nói chuyện về việc thực hiện các tính năng natively mặc dù: issuetracker.google.com/issues/62959790
TheAddonDepot

1
@BryanDimas Dưới đây là một liên kết đến một số tài liệu liên quan đến "giao dịch công việc enqueuing": cloud.google.com/appengine/docs/standard/python/ndb/...
TheAddonDepot

14

firebase có thể nói là dành riêng cho nền tảng di động. Google đám mây là một giải pháp dành cho doanh nghiệp.

Firebase đã phát triển các sdk của mình để lưu ý đến Android, IOS, Web và Unity (công cụ trò chơi). Bạn không cần máy chủ web tương tác với các thành phần của nó. Sdks của nó là đủ để làm điều đó. Vì vậy, không có chi phí của máy chủ web hoặc máy chủ ứng dụng. Nó có cơ sở dữ liệu thời gian thực, bạn có thể nghe và nó rất nhanh.

Nó có dịch vụ nhắn tin đám mây, xác thực, các chức năng Lambda và lưu trữ hàng loạt (giống như bất kỳ đám mây nào khác). Tài liệu của nó rất thành công. Vì vậy, bạn không cần phải xem qua hàng nghìn trang để hiểu bất kỳ dịch vụ đám mây điển hình nào như AWS hoặc Google Cloud. Tôi mất một tháng để tích hợp trò chơi của mình với AWS nhưng tôi chỉ mất một tuần để tích hợp với firebase.


8

Cập nhật tháng 10 năm 2017 (Firebase phát hành Cloud Firestore):

Cần lưu ý rằng với bản phát hành gần đây của Cloud Firestore (Beta tính đến tháng 10 năm 2017), các ưu điểm của Datastore so với "Firebase" mà johnydee đã đề cập hiện đã lỗi thời nếu bạn sử dụng sản phẩm Firestore, vì nó có các truy vấn mạnh mẽ và có khả năng mở rộng cao .

Các sản phẩm này (Datastore và Firestore) có chung nguồn gốc và chỉ một sản phẩm thực sự có thể được sử dụng trên cùng một dự án.

Câu trả lời của Johny vẫn áp dụng nếu bạn so sánh Cơ sở dữ liệu thời gian thực của Firebase với Kho dữ liệu.


Firestore có hỗ trợ hỗ trợ chỉ mục zigzag-merge-join linh hoạt như hỗ trợ chỉ mục có sẵn trong kho dữ liệu không? Giống như một mô tả trong cloud.google.com/appengine/articles/indexselection
user482594

7

Câu hỏi được tự động giải quyết trong bản phát hành Firebase mới nhất ra mắt trong Google IO 2016, trong đó họ đã tích hợp quy mô lớn giữa Firebase và Google Cloud Platform.

Vui lòng xem https://firebase.googleblog.com/2016/05/firebase-expands-to-become-unified-app-platform.html

Tất cả các dịch vụ Nền tảng đám mây của Google hiện có thể truy cập được đơn giản hơn nhiều thông qua Firebase. Cách Firebase truy cập Cơ sở dữ liệu thời gian thực cũng đã được mở rộng sang Google Cloud Storage. Nhiều API phía ứng dụng khách Google Cloud như Google Cloud Messaging đã chuyển sang thương hiệu Firebase.

Firebase rõ ràng là con đường dự định của Google để phía khách hàng có quyền truy cập vào cơ sở hạ tầng Dịch vụ đám mây của Google.


2
Google Cloud Datastore là một trận chiến cứng db khả năng mở rộng, căn cứ hỏa lực chỉ dành cho các ứng dụng quy mô nhỏ (<10k kết nối) và có thường xuyên thời gian chết mảnh di cư
Đánh dấu Essel
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.