Cloud Firestore
Google Cloud 인프라를 기반으로 하는 유연하고 확장 가능한 NoSQL 클라우드 데이터베이스를 사용해 클라이언트 측 개발 및 서버 측 개발에 사용되는 데이터를 저장하고 동기화하세요.
Cloud Firestore는 Firebase 및 Google Cloud의 모바일, 웹, 서버 개발에 사용되는 유연하고 확장 가능한 데이터베이스입니다. Firebase 실시간 데이터베이스와 마찬가지로 실시간 리스너를 통해 클라이언트 애플리케이션 간에 데이터의 동기화를 유지하고 모바일 및 웹에 대한 오프라인 지원을 제공해 네트워크 지연 시간이나 인터넷 연결에 상관없이 원활하게 반응하는 앱을 개발할 수 있습니다. Cloud Firestore는 Cloud Functions를 비롯한 다른 Firebase 및 Google Cloud 제품과도 원활하게 통합됩니다.
주요 기능
유연성 | Cloud Firestore 데이터 모델은 유연한 계층적 데이터 구조를 지원합니다. 컬렉션으로 정리되는 문서에 데이터를 저장하세요. 하위 컬렉션 외에도 복잡한 중첩된 개체를 문서에 포함할 수 있습니다. |
표현형 쿼리 | Cloud Firestore에서는 쿼리를 사용해 개별 문서를 가져오거나 쿼리 매개변수와 일치하는 컬렉션의 모든 문서를 가져올 수 있습니다. 쿼리에 여러 필터를 서로 연결해 적용할 수 있으며 필터링과 정렬의 결합도 가능합니다. 또한 기본적으로 색인이 생성되어 쿼리 성능이 데이터 세트가 아닌 결과 세트의 크기에 비례합니다. |
실시간 업데이트 | 실시간 데이터베이스와 마찬가지로 Cloud Firestore는 데이터 동기화를 사용해 연결된 모든 기기의 데이터를 업데이트합니다. 더불어 간단한 일회성 가져오기 쿼리도 효율적으로 할 수 있도록 설계되었습니다. |
오프라인 지원 | Cloud Firestore는 앱에서 많이 사용되는 데이터를 캐시하기 때문에 기기가 오프라인 상태더라도 앱에서 데이터를 쓰고 읽고 수신 대기하고 쿼리할 수 있습니다. 기기가 온라인 상태로 전환되면 Cloud Firestore에서 모든 로컬 변경사항을 다시 Cloud Firestore로 동기화합니다. |
확장형 설계 | Cloud Firestore에서는 자동 멀티 리전 데이터 복제, 강력한 일관성 보장, 원자적 일괄 작업, 실제 트랜잭션 지원 등 Google Cloud의 강력한 인프라를 최대한 활용합니다. Cloud Firestore는 세계 최대 규모의 앱에서 수많은 데이터베이스 워크로드를 처리하도록 설계되었습니다. |
기본 원리
Cloud Firestore는 클라우드에 호스팅되는 NoSQL 데이터베이스로서 Apple, Android, 웹 앱에서 기본 SDK를 통해 직접 액세스할 수 있습니다. Cloud Firestore는 REST 및 RPC API는 물론, 네이티브 Node.js, 자바, Python, Unity, C , Go SDK로도 사용할 수 있습니다.
Cloud Firestore의 NoSQL 데이터 모델에 따라 값에 매핑되는 필드를 포함하는 문서에 데이터가 저장됩니다. 이러한 문서는 데이터 정리와 쿼리에 사용할 수 있는 문서 컨테이너인 컬렉션에 저장됩니다. 문서에서는 간단한 문자열과 숫자부터 복잡한 중첩된 개체에 이르는 다양한 데이터 유형을 지원합니다. 또한 문서 내에 하위 컬렉션을 만들고 데이터베이스 증가에 따라 확장되는 계층적 데이터 구조를 만들 수도 있습니다. Cloud Firestore 데이터 모델은 앱에 가장 적합한 데이터 구조를 지원합니다.
또한 Cloud Firestore는 효율적이며 유연한 표현형 쿼리를 지원합니다. 전체 컬렉션 또는 중첩된 하위 컬렉션을 가져오지 않고도 문서 수준에서 데이터를 가져오는 얕은 쿼리를 만들 수 있습니다. 쿼리나 커서에 정렬, 필터링, 제한을 추가하여 결과를 페이지화할 수도 있습니다. 실시간 리스너를 추가하면 업데이트가 발생할 때마다 전체 데이터베이스를 가져오지 않고도 앱 데이터를 최신 상태로 유지할 수 있습니다. 실시간 리스너를 앱에 추가하면 수신 대기하는 클라이언트 앱의 데이터가 변경될 때마다 새 변경사항만 가져와 데이터 스냅샷으로 알려줍니다.
Firebase 인증과 Android, Apple 플랫폼, 자바스크립트용 Cloud Firestore 보안 규칙 또는 서버 측 언어용 Identity and Access Management(IAM)를 사용하여 Cloud Firestore에서 데이터 액세스를 보호하세요.
구현 경로
Cloud Firestore SDK 통합 | Gradle, CocoaPods 또는 스크립트 포함을 통해 클라이언트를 빠르게 통합합니다. | |
데이터 보안 | Cloud Firestore 보안 규칙 또는 IAM(Identity and Access Management)을 사용해 모바일/웹 및 서버 개발에 사용되는 데이터를 보호합니다. | |
데이터 추가 | 데이터베이스에서 문서 및 컬렉션을 만듭니다. | |
데이터 가져오기 | 쿼리를 작성하거나 실시간 리스너를 사용해 데이터베이스에서 데이터를 가져옵니다. |
다음 단계
- Cloud Firestore 시작하기 - 데이터베이스를 설정한 후 데이터를 추가하고 읽기
- Cloud Firestore 데이터 모델 자세히 알아보기
- 실시간 데이터베이스와 Cloud Firestore의 차이점 알아보기