Cloud Firestore
- 실시간 데이터 베이스 이후로 나온 비교적 최근에 제공하기 시작한 플랫폼.
- 실시간 데이터 베이스와 같이 비관계형 데이터 베이스로, 실시간 데이터 베이스에서 제공하는 주요 기능들을 제공한다.
- Firebase에선 Realtime database와 Cloud Firestore 데이터 베이스 모델의 차이가 있고 따라서 데이터 베이스를 사용하고자 하는 앱이 어떤 특성을 가지느냐에 따라서 권장하는 데이터 베이스가 다르다고한다.
- Firestore가 좀 더 복합적인 쿼리기능을 제공한다.
- JSON이 아닌 문서와 컬렉션의 조합을 제공한다.
- 하나의 컬렉션이 여러개의 문서를 가지고, 각각의 문서는 하위의 컬렉션을 가질 수 있는 구조.
- 여러개의 필터를 서로 연결하거나 필터와 정렬을 동시에 진행하는것이 가능.
- 얕고 넓은 쿼리를 제공.
- 특정 컬렉션의 문서만 반환하고 해당 문서가 하위컬렉션을 가지고 있더라도 하위의 컬렉션까지는 반환하지 않는다.
- 전체적인 데이터 세트 크기는 쿼리성능에 직접적인 영향을 주진 않는다. 요청한 쿼리에 따라서 쿼리성능에 영향을 받을 수 있다.
1. 고급쿼리, 정렬, 트랜젝션
2. 대용량 데이터가 자주 읽힘
3. 구조화된 컬렉션
4. 단일 데이터베이스