Firestore는 자동 확장, 고성능, 간편한 애플리케이션 개발을 위해 설계된 NoSQL 문서 데이터베이스입니다. Datastore의 최신 버전이며 Datastore에 비해 여러 가지 부분이 개선되었습니다.
Datastore 모드의 Firestore는 서버 사용 사례 및 App Engine에 최적화되어 있으므로 App Engine 앱에서 주로 사용하는 데이터베이스에는 Datastore 모드의 Firestore를 사용하는 것이 좋습니다. 기본 모드의 Firestore는 모바일 및 실시간 알림 사용 사례에 가장 유용합니다. Firestore 모드에 대한 자세한 내용은 Native 모드와 Datastore 모드 중 선택을 참조하세요.
이 문서에서는 Google Cloud 클라이언트 라이브러리를 사용하여 Datastore 모드 데이터베이스에서 데이터를 저장하고 검색하는 방법을 설명합니다.
기본 요건 및 설정
App Engine에서 Go용 'Hello, World!'의 안내에 따라 환경과 프로젝트를 설정하고 Go 앱이 App Engine에서 구조화되는 방식을 이해합니다. 이 문서에 설명된 샘플 애플리케이션을 실행할 때 필요하므로 프로젝트 ID를 기록해 둡니다.
저장소 복제
샘플을 다운로드(복제)합니다.
go get -d -v github.com/GoogleCloudPlatform/golang-samples/datastore
cd $GOPATH/src/github.com/GoogleCloudPlatform/golang-samples/appengine_flexible/datastore
프로젝트 구성 수정 및 종속성 설정
app.yaml
에서 프로젝트에 GCLOUD_DATASET_ID
를 설정합니다. 이 값은 프로젝트 ID입니다.
애플리케이션 코드
샘플 애플리케이션은 방문자 IP를 로깅, 검색, 표시합니다. 로그 항목은 visit
유형이 지정된
단순한 2개 필드로 이루어진 클래스이며 Datastore 클라이언트
put 명령어를 사용하여 Datastore에 저장되는 것을
확인할 수 있습니다. 이후 Datastore 클라이언트 NewQuery 및
GetAll 명령어를
사용하면
최근 방문 내용이 10개까지
내림차순으로
검색됩니다.
index.yaml
파일 사용
샘플 앱에서는 간단한 쿼리를 수행합니다. 보다 정교한 Datastore 모드 쿼리를 실행하려면 색인이 한 개 이상 필요하며 앱과 함께 업로드하는 index.yaml
파일에서 색인을 지정해야 합니다. 이 파일은 수동으로 만들거나 로컬에서 앱을 테스트하는 동안 자동으로 생성될 수 있습니다.
로컬 테스트
로컬에서 애플리케이션을 개발하고 테스트해야 하는 경우 Datastore 모드 에뮬레이터를 사용할 수 있습니다.
추가 정보
최적화와 개념을 비롯하여 Datastore 모드에 대한 자세한 내용은 Datastore 모드 문서의 Firestore를 참조하세요.