Firestore는 자동 확장, 고성능, 간편한 애플리케이션 개발을 위해 설계된 NoSQL 문서 데이터베이스입니다. Datastore의 최신 버전이며 Datastore에 비해 여러 가지 부분이 개선되었습니다.
Datastore 모드의 Firestore는 서버 사용 사례 및 App Engine에 최적화되어 있으므로 App Engine 앱에서 주로 사용하는 데이터베이스에는 Datastore 모드의 Firestore를 사용하는 것이 좋습니다. 기본 모드의 Firestore는 모바일 및 실시간 알림 사용 사례에 가장 유용합니다. Firestore 모드에 대한 자세한 내용은 Native 모드와 Datastore 모드 중 선택을 참조하세요.
App Engine에서 Datastore 모드 사용
App Engine에서 Datastore 모드를 사용하려면 다음 안내를 따르세요.
- 아직 만들지 않았다면 데이터베이스를 만들고 Datastore 모드에서 Firestore를 선택합니다. - 기존 Datastore 데이터베이스를 App Engine 앱에 사용할 수 있습니다. 이러한 기존 데이터베이스는 자동으로 Datastore 모드의 Firestore로 업그레이드됩니다. - 앱에서 - google/cloud-datastore를 앱의- composer.json파일에 추가하고 앱의 디렉터리에서- composer install을 실행하여 Datastore를 종속 항목으로 선언합니다. composer 자세히 알아보기
- Google Cloud 클라이언트 라이브러리를 사용하여 항목 읽기 및 쓰기와 데이터 쿼리를 수행합니다. 
 - 색인 구성- Datastore 모드는 애플리케이션에서 생성되는 모든 쿼리에 색인을 사용합니다. 이러한 색인은 항목이 변경될 때마다 업데이트되므로 앱이 쿼리를 생성할 때 결과가 신속하게 반환될 수 있습니다. - Datastore 모드는 단순 유형의 쿼리에 사용할 단일 속성 색인을 자동으로 생성합니다. 여러 속성이 포함된 복잡한 쿼리의 경우 앱의 - index.yaml파일에서 복합 색인을 구성해야 합니다.- App Engine 개발 서버는 테스트를 실행하는 데 필요한 복합 색인으로 - index.yaml파일을 업데이트합니다. 마찬가지로 테스트를 실행할 때 Datastore 모드 에뮬레이터가 색인을 생성할 수 있습니다.- 로컬 테스트를 실행하지 않거나 테스트에 복잡한 쿼리가 포함되지 않은 경우 앱의 - index.yaml파일에 색인을 수동으로 추가할 수도 있습니다.- 데이터베이스 권한 설정- 기본적으로 앱에는Google Cloud 프로젝트에서 Datastore 모드와 Firestore 데이터베이스를 읽고 쓰는 데 필요한 권한이 모두 있습니다. - 이러한 권한을 관리하기 위해 각 App Engine 앱은 앱과 동일한 프로젝트에서 Datastore 모드와 Firestore 데이터베이스에 대한 전체 읽기 및 쓰기 액세스 권한을 부여하는 기본 서비스 계정을 사용합니다. 기본 서비스 계정의 권한을 변경할 수는 있지만 필요한 권한이 있는 IAM 역할을 할당하지 않으면 앱에서 액세스 권한을 상실할 수 있습니다. - 다른 사용자, 앱, 프로젝트에서 데이터베이스에 액세스하도록 허용하는 방법은 데이터베이스 액세스를 참조하세요. - 로컬 테스트용 Datastore 모드 에뮬레이터 사용Google Cloud CLI에는 프로덕션 Datastore 모드 환경의 로컬 에뮬레이터가 포함되어 있습니다. 에뮬레이터를 사용하여 로컬에서 애플리케이션을 개발하고 테스트할 수 있습니다. 또한 에뮬레이터를 사용하면 프로덕션 Datastore 모드 인스턴스의 색인을 생성하고 필요하지 않은 색인을 삭제할 수 있습니다.- 앱을 테스트하는 데 App Engine 로컬 개발 서버를 사용할 경우 서버를 시작할 때 - --support_datastore_emulator=true플래그를 설정하여 서버가 Datastore 모드 에뮬레이터를 사용하도록 할 수 있습니다.- Datastore 모드 에뮬레이터를 사용하면 dev_appserver에 다음이 표시됩니다. - ... Using Cloud Datastore Emulator.- 가격 책정, 할당량, 한도- Datastore 모드는 일일 한도가 있는 무료 할당량을 제공합니다. 유료 계정은 스토리지, 읽기 및 쓰기 작업을 무제한으로 제공합니다. 자세한 내용은 Datastore 할당량 페이지를 참조하세요.