매우 저렴하고(여기서 유료 SDK 탈락) 자체 채팅 서버를 제대로 구축할 시간을 벌 수 있어(여기서 자체 서버 탈락) 부담이 줄기 때문이다.
실시간 데이터베이스와 Cloud Firestore는 모두 NoSQL 데이터베이스입니다.
• NoSQL기반 데이터베이스의 Document DB는, 현재 많이 사용되는 오라클이나 MySQL 같은 관계형 데이터베이스보다 빠르고 간편하다.
Cloud Firestore는 앱에서 많이 사용되는 데이터를 캐시하기 때문에 기기가 오프라인 상태가 되더라도 앱에서 데이터를 쓰고 읽고 수신 대기하고 쿼리할 수 있습니다.
쿼리할때 정렬 및 필터링할 수는 있지만 동시에 조건문을 걸 수는 없다.
그리고
큰단위 데이터 요청이 자주 발생한다면 firestore가 유리 할 것이고
가벼운 crud작업이 자주 발생하는 앱이라면 realtime database가 더 유리할 것
쿼리부부은 차이가 많이 나기 때문에 firestore를 사용하는 것이 좋을것 이다.
쿼리를 통해 데이터베이스에서 데이터를 검색, 정렬 및 필터링합니다.
| 실시간 데이터베이스 | 클라우드 파이어스토어 |
|---|---|
| 제한된 정렬 및 필터링 기능 이 있는 심층 쿼리. | |
| • 쿼리는 속성을 정렬 하거나 필터링할 수 있지만 둘 다 할 수는 없습니다. | |
| • 쿼리는 기본적으로 깊습니다. 항상 전체 하위 트리를 반환합니다. | |
| • 쿼리는 JSON 트리의 개별 리프 노드 값까지 모든 세분성에서 데이터에 액세스할 수 있습니다. | |
| • 쿼리에는 인덱스가 필요하지 않습니다. 그러나 특정 쿼리의 성능은 데이터 세트가 커짐에 따라 저하됩니다. | 복합 정렬 및 필터링 을 사용한 인덱싱된 쿼리. |
| • 필터를 연결하고 속성에 대한 필터링과 정렬을 단일 쿼리로 결합할 수 있습니다. | |
| • 쿼리는 얕습니다. 특정 컬렉션 또는 컬렉션 그룹의 문서만 반환하고 하위 컬렉션 데이터는 반환하지 않습니다. | |
| • 쿼리는 항상 전체 문서를 반환해야 합니다. | |
| • 쿼리는 기본적으로 인덱싱됩니다. 쿼리 성능은 데이터 세트가 아닌 결과 세트의 크기에 비례합니다. |