Google Cloud Datastore 대 Firebase [종료]


93

Google은 인수 후 두 가지 클라우드 기반 데이터 스토리지 서비스 인 Google Cloud Datastore와 Firebase를 제공합니다. 개발자가 Google 클라우드 플랫폼에서 제공하는 다양한 서비스 중에서 선택할 수 있도록 일반적인 사용 시나리오가 제공되지만 현재 / 향후 개발에서 Firebase가 그림에 어떻게 부합하는지에 대한 언급은 없습니다.

누구든지 문제에 대한 통찰력을 얻고 Google Cloud Datastore와 Firebase의 일반적인 사용 사례를 제공 할 수 있습니까?


2
우리는 또한 여기에 더 많은 정보를 가지고 : cloud.google.com/storage-options을
댄 맥그래스

Firebase는 데이터베이스 용 Cloud Firestore 및 실시간 데이터베이스와 파일 용 Cloud Storage를 포함한 제품군을 포함하므로 그 자체로 데이터 저장소 서비스가 아닙니다.
Andy Fusniak

@DanMcGrath Datastore 는 공유 한 링크의 어디에도 나타나지 않습니다. 아니면 뭔가 빠졌나요?
Ronnie Royston 19

@Ron, 게시 된 이후 Cloud Firestore가 GA로 리 브랜딩 된 업그레이드 된 Datastore 버전이 게시되었으므로 새 이름 만 사용합니다.
Dan McGrath

@DanMcGrath 맞습니다. ... url cloud.google.com/datastore는 여전히 구식 시스템을 광고하므로 거래가 무엇인지 확신 할 수 없었습니다. 감사.
Ronnie Royston

답변:



62

두 제품 모두 장단점이 있습니다. 둘 중 하나를 사용하는 몇 가지 이유는 다음과 같습니다.

원하는 경우 Firebase를 사용하세요.

  • 자체 백엔드가없는 데이터베이스 : Firebase SDK를 사용하면 자체 백엔드를 실행하지 않고도 모바일 및 웹 앱을 작성할 수 있습니다. 서버 코드 없이도 앱에서 직접 Firebase 데이터베이스를 읽고 쓸 수 있습니다. 데이터베이스 보안 모델을 사용하면 사용자 기반 서버없이 세밀한 액세스 제어가 가능합니다.
  • 실시간 데이터 : Firebase를 사용하면 데이터의 변경 사항을 수신 할 수 있으므로 특정 종류의 앱을 매우 쉽게 작성할 수 있습니다. 한 가지 좋은 예는 협업 텍스트 편집기 입니다.
  • 간단한 데이터 모델 : Firebase 데이터베이스는 JSON을 저장합니다. JSON을 알고 있다면 Firebase 데이터 모델을 알고있는 것입니다.
  • 다른 Firebase 기능을 활용하려면 : 예를 들어 Firebase는 데이터베이스와 잘 작동 하는 사용자 관리 및 인증 을 제공 합니다.

원하는 경우 Datastore를 사용합니다.


1
"자신의 백엔드가없는 데이터베이스"라는 문구가 두 서비스 모두에 적용될 수 있다고 생각합니다. Datastore는 Google Cloud의 일부이며 자체 서버를 유지 관리하지 않습니다. 백엔드 로직의 경우 대부분의 Datastore 클라이언트 라이브러리는 서버 기반이지만 모바일 및 웹 기반 앱에 REST API를 사용할 수 있습니다. browserify를 통해 Node.js 클라이언트 라이브러리를 실행하여 웹 기반 라이브러리로 변환 할 수도 있습니다.
TheAddonDepot

1
@DimuDesigns firebase DB에는 사용자 업데이트가 데이터를 엉망으로 만드는 것을 보호하는 보안 규칙이 있습니다. 예를 들어, 다른 사람 데이터를 삭제하십시오. 그렇지 허용 클라이언트가 gdatastore와 동일한 기능을 수행 할 수 있도록하면서 백엔드하지 않고 DB를 의미 즉,의, 당신은 입력의 유효성을 확인하는 백엔드를 필요로하지 않습니다
Thaina

@DimuDesigns 또는 jonnydee : Datastore에 Firebase의 모든 기능 Datastore에 나열된 두 가지 기능이 있나요? 아니면 최소한 대답 해주세요. Datastore도 Firebase와 동일한 방식으로 실시간 데이터를 가지고 있나요?
Bryan Dimas

1
@BryanDimas Datastore는 기본적으로 데이터가 변경 될 때 실시간 이벤트 트리거를 지원하지 않습니다. 그러나 "Transactional task enqueuing"이라는 기능이 있습니다. 실시간은 아니지만 실행 가능한 옵션입니다. 기본적으로하지만 기능을 구현하는 방법에 대한 이야기를가 발생했습니다 : issuetracker.google.com/issues/62959790
TheAddonDepot에게

1
@BryanDimas 여기에 "트랜잭션 작업 대기열을 넣는를"에 관한 몇 가지 문서에 대한 링크는 다음과 같습니다 cloud.google.com/appengine/docs/standard/python/ndb/...
TheAddonDepot

14

firebase는 특별히 모바일 플랫폼이라고 할 수 있습니다. Google 클라우드는 엔터프라이즈 솔루션이었습니다.

Firebase는 Android, IOS, Web 및 Unity (게임 엔진)를 염두에두고 SDK를 개발했습니다. 구성 요소와 상호 작용하기 위해 웹 서버가 필요하지 않습니다. 그것의 sdk로 충분합니다. 따라서 웹 서버 또는 애플리케이션 서버 비용이 없습니다. 그것은 실시간 데이터베이스를 가지고 있고, 당신은들을 수 있고 그것은 엄청나게 빠릅니다.

클라우드 메시징 서비스, 인증, Lambda 기능 및 대용량 스토리지 (다른 클라우드와 마찬가지로)가 있습니다. 그 문서는 매우 간결합니다. 따라서 AWS 또는 Google Cloud와 같은 일반적인 클라우드 서비스를 이해하기 위해 수천 페이지를 살펴볼 필요가 없습니다. 내 게임을 AWS와 통합하는 데 한 달이 걸렸지 만 firebase와 통합하는 데 1 주일 밖에 걸리지 않았습니다.


8

2017 년 10 월 업데이트 (Firebase에서 Cloud Firestore 출시) :

Cloud Firestore 의 최신 릴리스 (2017 년 10 월 현재 베타)에서 johnydee가 언급 한 'Firebase'에 비해 Datastore의 장점 은 강력한 쿼리가 있고 확장 성이 뛰어난 Firestore 제품을 사용하는 경우 이제 더 이상 사용되지 않습니다. .

이러한 제품 (Datastore 및 Firestore)은 공통 루트를 공유하며 실제로 동일한 프로젝트에서 하나만 사용할 수 있습니다.

Johny의 답변은 Firebase 실시간 데이터베이스를 Datastore와 비교하는 경우에도 계속 적용됩니다.


Firestore는 데이터 저장소에서 사용할 수있는 색인 지원과 같은 유연한 zigzag-merge-join을 지원하나요? 에 설명 된 것과 같은 cloud.google.com/appengine/articles/indexselection
user482594

7

이 문제는 Firebase와 Google Cloud Platform간에 대규모 통합을 가져온 Google IO 2016에서 출시 된 최신 Firebase 릴리스에서 자동으로 해결됩니다.

https://firebase.googleblog.com/2016/05/firebase-expands-to-become-unified-app-platform.html을 참조 하세요.

이제 Firebase를 통해 모든 Google Cloud Platform 서비스에 액세스 할 수 있습니다. 실시간 데이터베이스에 액세스하는 Firebase 방식이 Google Cloud Storage로 확장되었습니다. Google Cloud Messaging과 같은 많은 Google Cloud 클라이언트 측 API가 Firebase 브랜드로 이동했습니다.

Firebase는 Google Cloud Services 인프라에 대한 클라이언트 측 액세스를 위해 Google이 의도 한 방식입니다.


2
Google 클라우드 데이터 저장소는 중포 기지가 (<10K 연결) 만 작은 규모의 애플 리케이션을위한 정기적 인 샤드 마이그레이션 다운 타임을 가지고, 전투가 확장 DB를 강화입니다
마크 ESSEL
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.