Firebase는 클라이언트에서 액세스할 수 있는 두 가지 클라우드 기반 문서 데이터베이스를 제공합니다. 신규 고객은 Cloud Firestore로 시작하는 것이 좋습니다.
Cloud Firestore는 권장되는 엔터프라이즈급 JSON 호환 문서 데이터베이스로, 250,000명이 넘는 개발자가 신뢰하고 있습니다. 쿼리 가능성, 확장성 및 고가용성이 필요한 풍부한 데이터 모델을 갖춘 애플리케이션에 적합합니다. 또한 지연 시간이 짧은 클라이언트 동기화와 오프라인 데이터 액세스를 제공합니다.
Realtime Database는 기본 Firebase JSON 데이터베이스입니다. 간단한 조회와 확장성이 제한적이며 지연 시간이 짧은 동기화가 필요한 단순한 데이터 모델을 사용하는 애플리케이션에 적합합니다.
다른 중요한 고려사항은 무엇인가요?
이전의 주요 고려사항에 대해 생각해 본 후 데이터베이스를 선택할 준비가 되어 있을 수 있습니다. 아직 장단점을 고려 중이면 이 섹션에서 Cloud Firestore와 Realtime Database의 기타 차이점을 확인하세요.
데이터 모델
Realtime Database와 Cloud Firestore는 모두 NoSQL 데이터베이스입니다.
Cloud Firestore | [ 권장 ] | Realtime Database |
---|---|---|
데이터를 문서 컬렉션으로 저장합니다.
Cloud Firestore데이터 모델에 대해 자세히 알아보세요. |
데이터를 하나의 큰 JSON 트리로 저장합니다.
Realtime Database데이터 모델에 대해 자세히 알아보세요. |
실시간 및 오프라인 지원
두 제품 모두 모바일 위주의 실시간 SDK를 보유하며 오프라인 대응 앱을 위한 로컬 데이터 스토리지를 지원합니다.
Cloud Firestore | [ 권장 ] | Realtime Database |
---|---|---|
Apple, Android, 웹 클라이언트를 위한 오프라인 지원 | Apple, Android 클라이언트를 위한 오프라인 지원 |
Presence
클라이언트가 온라인인지 오프라인인지를 알면 유용합니다. Firebase Realtime Database는 클라이언트 연결 상태를 기록하고 클라이언트의 연결 상태가 변경될 때마다 업데이트를 제공할 수 있습니다.
Cloud Firestore | [ 권장 ] | Realtime Database |
---|---|---|
기본적으로 지원되지 않음. Cloud Functions를 사용하여 Cloud Firestore와 Realtime Database를 동기화하여 Realtime Database의 접속 상태 지원을 활용할 수 있습니다. Cloud Firestore에서 접속 상태 구현을 참조하세요. | 접속 상태가 지원됨 |
쿼리
쿼리를 통해 두 가지 데이터베이스에서 데이터를 검색, 정렬, 필터링합니다.
Cloud Firestore | [ 권장 ] | Realtime Database |
---|---|---|
복합 정렬 및 필터링 기능을 갖춘 색인화된 쿼리
|
제한적인 정렬 및 필터링 기능을 갖춘 깊은 쿼리
|
쓰기 및 트랜잭션
Cloud Firestore | [ 권장 ] | Realtime Database |
---|---|---|
고급 쓰기 및 트랜잭션 작업 | 기본 쓰기 및 트랜잭션 작업 |
안정성 및 성능
Cloud Firestore | [ 권장 ] | Realtime Database |
---|---|---|
Cloud Firestore는 자동으로 확장되는 리전 내 및 멀티 리전 솔루션입니다.
|
Realtime Database는 리전 내 솔루션입니다.
|
Uptime
Cloud Firestore | [ 권장 ] | Realtime Database |
---|---|---|
업타임 성능이 매우 높습니다.
|
업타임 성능이 높습니다.
|
확장성
Cloud Firestore | [ 권장 ] | Realtime Database |
---|---|---|
확장이 자동으로 수행됩니다.
|
확장하려면 샤딩을 사용해야 합니다.
|
보안
Cloud Firestore | [ 권장 ] | Realtime Database |
---|---|---|
승인과 검증이 결합된 비단계식 규칙
|
승인과 검증이 분리된 단계식 규칙 언어
|
가격 책정
두 솔루션 모두 Spark 및 Blaze 요금제로 제공됩니다.
Cloud Firestore | [ 권장 ] | Realtime Database |
---|---|---|
주로 데이터베이스에서 수행되는 작업(읽기, 쓰기, 삭제)에 대해 청구되며 대역폭과 저장용량에 대해서도 비교적 저렴한 요금으로 청구됩니다.
Cloud Firestore는 App Engine 프로젝트의 일일 지출 한도를 지원하므로 비용의 상한선을 적절하게 설정할 수 있습니다. Cloud Firestore 요금제에 대해 자세히 알아보세요. |
대역폭과 저장용량에 대해서만 청구되지만 요금이 비교적 높습니다.
Realtime Database 요금제에 대해 자세히 알아보세요. |
Cloud Firestore 및 Realtime Database 사용
동일한 Firebase 앱 또는 프로젝트 내에서 두 데이터베이스를 모두 사용할 수 있습니다. 두 NoSQL 데이터베이스는 동일한 유형의 데이터를 저장할 수 있고 클라이언트 라이브러리의 작동 방식도 서로 유사합니다. 앱에서 두 데이터베이스를 모두 사용하기로 결정한 경우 앞에서 설명한 차이점에 유의하세요.
Realtime Database 및 Cloud Firestore 모두에서 사용할 수 있는 기능에 대해 자세히 알아보세요.
데이터베이스를 선택할 준비가 되셨나요?
이 비교 정보가 Firebase 데이터베이스 솔루션을 선택하는 데 도움이 되었기를 바랍니다. 이제 Firebase 프로젝트에 데이터베이스를 추가하는 방법을 알아볼 수 있습니다.
- Cloud Firestore의 경우 Cloud Firestore 시작하기를 참조하세요.
- Realtime Database의 경우 사용 중인 플랫폼(Apple, Android, C++, Unity, 웹, 또는 REST)에 해당하는 시작하기 주제를 참조하세요.