Conceptly
← 전체 목록
🔥

Google Cloud Firestore

데이터베이스실시간 문서 DB

Google Cloud Firestore는 문서 단위로 데이터를 저장하고 클라이언트와 실시간으로 동기화하는 NoSQL 데이터베이스입니다. 화면 상태가 자주 바뀌는 모바일·웹 앱에서 서버와 동기화 코드를 줄여 주는 데이터 계층입니다.

아키텍처 다이어그램

🔍 구조 다이어그램

점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다

왜 필요한가요?

모바일이나 웹에서 데이터 변경을 여러 기기에 바로 반영하려면, 서버와 실시간 연결, 오프라인 저장, 충돌 처리를 직접 만들어야 합니다. 앱이 커질수록 동기화 로직이 기능 본체보다 더 복잡해집니다.

왜 이런 방식이 등장했나요?

초기 웹과 모바일 앱은 서버 API를 거쳐 데이터를 받아야 했고, 실시간 화면 갱신은 별도의 소켓 서버가 필요했습니다. 사용자 수가 늘수록 이 동기화 계층을 직접 운영하는 비용이 커져, DB 자체가 실시간 배포와 오프라인 처리를 맡는 방향으로 발전했습니다.

안에서 어떻게 동작하나요?

컬렉션 안에 문서를 두고, 클라이언트 SDK가 읽고 씁니다. 문서가 바뀌면 리스너가 연결된 클라이언트에 변화를 전파합니다. 보안 규칙이 문서 단위 접근을 제어하고, 오프라인 상태에서는 로컬 캐시를 먼저 사용합니다.

무엇과 헷갈리나요?

Firestore와 Cloud SQL은 둘 다 애플리케이션 데이터를 저장하지만, Cloud SQL은 관계형 테이블과 조인에 맞고 Firestore는 문서 구조와 실시간 동기화에 맞습니다. 스키마가 자주 바뀌고 화면 동기화가 중요하면 Firestore, 정규화와 복잡한 쿼리가 중요하면 Cloud SQL입니다.

언제 쓰나요?

채팅, 협업 문서, 상태 동기화처럼 여러 클라이언트가 같은 데이터를 거의 동시에 보는 화면에 적합합니다. 정교한 조인이나 대량 분석이 필요한 저장소로 쓰기에는 맞지 않습니다.

모바일/웹 앱 백엔드실시간 협업사용자 프로필/설정IoT 상태 관리