Cloud Firestore와 Cloud Datastore 중 선택

Cloud Firestore는 Cloud Datastore의 차기 메이저 버전이며 이 제품의 리브랜딩입니다. Cloud Datastore와 Firebase 실시간 데이터베이스를 최대한 활용하는 Cloud Firestore는 자동 확장, 고성능, 간편한 애플리케이션 개발을 위해 구축된 NoSQL 문서 데이터베이스입니다. 이 페이지에서는 Cloud Firestore와 Cloud Datastore를 비교하고 그 중 하나를 선택하는 방법에 대한 안내를 제공합니다.

Cloud Firestore는 다음과 같은 새로운 기능을 제공합니다.

  • 새로운, 강력한 일관성을 갖춘 저장소 레이어
  • 컬렉션 및 문서 데이터 모델
  • 실시간 업데이트
  • 모바일 및 웹 클라이언트 라이브러리

Cloud Firestore는 Cloud Datastore라는 이전 버전과 호환되지만, 새로운 데이터 모델, 실시간 업데이트, 모바일 및 웹 클라이언트 라이브러리 기능은 그렇지 않습니다. Cloud Firestore는 데이터 저장소 모드에서 데이터베이스 인스턴스를 만드는 옵션을 제공합니다.

데이터 저장소 모드의 Cloud Firestore

데이터 저장소 모드의 Cloud Firestore는 Cloud Datastore 시스템 동작을 사용하지만, Cloud Firestore의 저장소 레이어에 액세스하여 다음과 같은 Cloud Datastore 제한 사항을 제거합니다.

  • 최종 일관성. 모든 Cloud Datastore 쿼리가 강력한 일관성을 갖습니다.
  • 트랜잭션이 더 이상 25개의 항목 그룹으로 제한되지 않습니다.
  • 항목 그룹에 대한 쓰기가 더 이상 초당 1번으로 제한되지 않습니다.

데이터 저장소 모드는 Cloud Datastore와 호환되지 않는 Cloud Firestore 기능을 사용 중지합니다.

  • 프로젝트에서 Cloud Datastore API 요청은 수락하고 Cloud Firestore API 요청은 거부합니다.
  • 이 프로젝트는 Cloud Firestore 색인 대신 Cloud Datastore 색인을 사용합니다.
  • 이 프로젝트에서 Cloud Datastore 클라이언트 라이브러리를 사용할 수 있지만 Cloud Firestore 클라이언트 라이브러리는 사용할 수 없습니다.
  • Cloud Firestore 실시간 기능을 사용할 수 없습니다.
  • GCP 콘솔에서 데이터베이스는 Cloud Datastore 뷰어를 사용합니다.

데이터 저장소 모드의 Cloud Firestore로 자동 업그레이드

Cloud Firestore가 GA 제품으로 출시된 후에 기존 Cloud Datastore 데이터베이스를 점진적으로 데이터 저장소 모드의 Cloud Firestore로 업그레이드할 예정입니다.

데이터베이스 선택

새로운 Cloud Datastore 인스턴스를 만들 때 Cloud Datastore 데이터베이스 또는 Cloud Firestore 데이터베이스를 만드는 옵션이 있습니다. 또한 Cloud Firestore 데이터베이스는 기본 모드와 데이터 저장소 모드라는 두 가지 모드 중 하나에서 실행될 수 있습니다. 이 경우 다음 세 가지 옵션이 제공됩니다.

Cloud Datastore
기존 기능 및 제한 사항을 사용하여 Cloud Datastore 데이터베이스를 만듭니다.
데이터 저장소 모드의 Cloud Firestore
Cloud Datastore 시스템 동작을 유지하면서 프로젝트가 Cloud Firestore의 향상된 저장소 레이어에 액세스할 수 있게 합니다.
기본 모드의 Cloud Firestore
실시간 업데이트와 모바일 및 웹 클라이언트 라이브러리를 포함한 모든 Cloud Firestore 기능에 액세스할 수 있습니다.

내 프로젝트에 맞는 데이터베이스

  • 앱에 서비스수준계약(SLA)이 필요한 경우 Cloud Datastore를 선택하세요.

    Cloud Datastore는 SLA로 지원되는 성숙한 제품입니다. 기본 모드의 Cloud Firestore와 데이터 저장소 모드의 Cloud Firestore는 베타 기간에 SLA로 지원되지 않습니다.

  • 베타 버전의 제품을 사용하는 것이 편하면 새로운 서버 프로젝트에 데이터 저장소 모드의 Cloud Firestore를 사용하세요.

    데이터 저장소 모드의 Cloud Firestore를 사용하면 기본적인 Cloud Datastore 제한사항을 제거하면서 기존의 Cloud Datastore 서버 아키텍처를 사용할 수 있습니다.

  • 베타 버전의 제품을 사용하는 것이 편하면 새로운 모바일 및 웹 앱에 기본 모드의 Cloud Firestore를 사용하세요.

    Cloud Firestore는 실시간 및 오프라인 기능을 갖춘 모바일 및 웹 클라이언트 라이브러리를 제공합니다.

기능 비교

다음 표는 세 가지 데이터베이스 옵션의 시스템 동작을 비교합니다.

Cloud Datastore Cloud Firestore
데이터 저장소 모드
Cloud Firestore
기본 모드
데이터 모델 종류 및 항목 그룹으로 구성된 항목 종류 및 항목 그룹으로 구성된 항목 문서와 컬렉션으로 구성된 문서 데이터베이스
저장소 레이어 저장소 레이어는 특정한 경우에만 강력한 일관성이 있으며 그 밖의 경우에는 최종 일관성이 있습니다. 항상 강력한 일관성이 있는 새로운 저장소 레이어 항상 강력한 일관성이 있는 새로운 저장소 레이어
쿼리 및 트랜잭션
  • Cloud Datastore는 항목 그룹 내에서만 강력한 일관성이 있으며 항목 그룹 간에 최종 일관성이 있습니다.
  • 최종 일관성이 있는 쿼리는 때때로 오래된 결과를 반환합니다.
  • 트랜잭션은 25개의 항목 그룹으로 제한됩니다.
  • Cloud Datastore의 일관성 제한을 제거합니다.
  • 전체 데이터베이스에서 강력한 일관성이 있는 쿼리
  • 트랜잭션은 제한 없는 개수의 항목 그룹에 액세스할 수 있음
  • 전체 데이터베이스에서 강력한 일관성이 있는 쿼리
  • 임의의 개수의 컬렉션에서 트랜잭션당 최대 500개의 문서
  • 제한 사항: 컬렉션 그룹 쿼리 및 프로젝션 쿼리가 없음
Cloud Datastore v1 API 지원 아니요, 요청이 거부됨
Cloud Firestore v1beta1 API 지원 아니요, 요청이 거부됨 아니요, 요청이 거부됨
실시간 업데이트 지원되지 않음 지원되지 않음

실시간 업데이트를 위해 하나의 문서 또는 문서 집합을 수신 대기할 수 있는 기능을 지원합니다.

하나의 문서 또는 문서 집합을 수신 대기하는 동안 클라이언트는 데이터 변경사항을 통보 받고 최신 데이터 세트를 보냅니다.

참고: Go, PHP, Python 또는 Ruby 서버 클라이언트 라이브러리에서는 사용할 수 없습니다.

오프라인 데이터 지속성 지원되지 않음 지원되지 않음 모바일 및 웹 클라이언트 라이브러리는 오프라인 데이터 지속성을 지원합니다.
클라이언트 라이브러리 Cloud Datastore 클라이언트 라이브러리
  • 자바
  • Python
  • PHP
  • Go
  • Ruby
  • C#
  • Node.js
Cloud Datastore 클라이언트 라이브러리
  • 자바
  • Python
  • PHP
  • Go
  • Ruby
  • C#
  • Node.js
Cloud Firestore 클라이언트 라이브러리:
  • 자바
  • Python
  • PHP
  • Go
  • Ruby
  • C#
  • Node.js
  • Android
  • iOS
보안 Cloud IAM(Identity and Access Management)이 데이터베이스 액세스를 관리 Cloud IAM(Identity and Access Management)이 데이터베이스 액세스를 관리
  • Cloud IAM(Identity and Access Management)이 데이터베이스 액세스를 관리
  • Cloud Firestore 보안 규칙이 모바일 및 웹 클라이언트 라이브러리에 대한 서버리스 인증 및 승인을 지원
성능 수백만 건의 쓰기로 확장할 수 있는 성숙한 기능 세트 아직 완전히 최적화되지 않았으며 베타 기간에 대기 시간이 늘어날 수 있음 아직 완전히 최적화되지 않았으며 베타 기간에 대기 시간이 늘어날 수 있음
SLA Cloud Datastore SLA 베타 기간에 SLA 없음. Cloud Firestore SLA 미리보기. 베타 기간에 SLA 없음. Cloud Firestore SLA 미리보기.
위치
  • 미국(다중 지역)
  • EU(다중 지역)
  • 몬트리올
  • 로스앤젤레스
  • 사우스캐롤라이나
  • 북 버지니아
  • 상파울루
  • 런던
  • 프랑크푸르트
  • 도쿄
  • 뭄바이
  • 시드니
  • 미국(다중 지역)
  • 사우스캐롤라이나
  • 프랑크푸르트
  • 미국(다중 지역)
  • 사우스캐롤라이나
  • 프랑크푸르트
가격 책정 Cloud Firestore(모드에 관계 없음)와 Cloud Datastore는 가격 책정 구조가 동일
콘솔 GCP 콘솔 데이터 저장소 뷰어 GCP 콘솔 데이터 저장소 뷰어 Firebase 콘솔
네임스페이스 네임스페이스가 지원됨 네임스페이스가 지원됨 지원되지 않음
App Engine 클라이언트 라이브러리 통합 모든 런타임에서 지원됨 모든 런타임에서 지원됨

App Engine 표준 환경 Python 2.7 및 PHP 5.5 런타임에서 지원되지 않음

App Engine 표준 환경의 Python 3.7, PHP 7.2, 자바 8, Go, Node.js 런타임에서 지원됨

App Engine 가변형 환경의 모든 런타임에서 지원됨

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Cloud Datastore 문서