Firebase에서 database는 Realtime Database와 Cloud Firestore 두가지를 제공해주고 있습니다.
차이점을 설명해놓은 페이지는 공식문서인 이 페이지를 참고 바랍니다.
1.데이터 모델
2.쿼리
3.확장성
4.가격 정책
Realtime Database
■데이터를 하나의 큰 JSON 트리로 저장
■복잡한 계층적 데이터를 정규화
Cloud Firestore
■키-값 쌍이 들어 있고, 작은 문서가 많이 모인 컬렉션을 저장
■NOSQL이지만 SQL 처럼 테이블처럼 관리하기게 용이
Realtime Database
■정렬 및 필터링을 할 수는 있지만 동시에 조건문을 걸수는 없다.
■depth의 데이터를 반환할때 그 이하의 모든 depth의 데이터도 함께 반환
■정규화가 제대로 이루어지지 않은 데이터베이스라면 데이터 매번 CALL
Cloud Firestore
■쿼리할때 정렬 및 필터링 조건문을 동시에 사용이 가능합니다.
■컬렉션이 가지고 있는 문서만 반환하여 불필요한 하위 데이터까지 반환하는 성능 문제는 발생 X
Realtime Database
■단일 데이터베이스는 동시 연결이 약 100,000개, 초당 쓰기 약 1,000회까지 확장
■추가로 확장하려면 데이터를 여러 데이터베이스로 샤딩
Cloud Firestore
■딩을 이용하지 않고 자동으로 수행이 됩니다. 현재 확장 한도는 동시 연결 수 약 1,000,000개, 초당 쓰기 10,000회입니다.
사용량 및 한도의 자세한 문서 입니다.
Realtime Database
■용량, 대역폭(다운로드 크기)에 대해 주로 과금을 하고 있습니다.
Cloud Firestore
■용량, document CRUD 연산 횟수에 따라 과금을 주로 하고 있습니다.
아래 가격표 참고 바랍니다.