Firebase 실시간 데이터베이스(RealTime DB):
Firebase의 실시간 데이터베이스는
개발자가 실시간으로 클라이언트와 서버 간에 데이터를 저장하고 동기화할 수 있는 NoSQL, JSON 데이터 저장소입니다.
실시간 데이터 동기화 엔진을 사용하여 연결된 모든 클라이언트에서 데이터가 실시간으로 동기화되도록 합니다.
실시간 데이터베이스는 실시간 데이터 동기화에 최적화되어 있어 채팅 앱 및 협업 도구와 같은 실시간 애플리케이션에 탁월한 선택입니다. 또한 개발자가 데이터를 쉽게 저장하고 검색할 수 있도록 계층적 데이터 구조를 사용합니다. 데이터베이스는 오프라인 데이터 액세스를 지원합니다. 즉, 데이터를 장치에 로컬로 캐시하고 장치가 오프라인일 때도 액세스할 수 있습니다.
실시간 데이터베이스에는 개발자가 알아야 할 몇 가지 제한 사항이 있습니다. 예를 들어 동일한 상위 노드 아래에 중첩되지 않은 데이터를 쿼리하는 것은 어려울 수 있습니다. 또한 쿼리 기능이 제한되어 있으며 복잡한 쿼리는 작성하기 어려울 수 있습니다.
Firestore:
Firestore는 Firebase에서 제공하는 NoSQL 데이터베이스이기도 합니다.
실시간 데이터베이스와 달리 Firestore는 문서 기반 데이터베이스이므로 필드와 값이 포함된 문서에 데이터가 저장됩니다. 확장성이 뛰어나도록 설계되어 자동 샤딩 및 로드 밸런싱을 제공하여 대량의 데이터를 처리합니다.
Firestore는 데이터 쿼리 및 검색에 최적화되어 있어 복잡한 쿼리가 필요한 애플리케이션에 더 적합합니다. 또한 여러 필드 및 하위 컬렉션에서 쿼리하는 기능을 포함하여 고급 쿼리 기능을 제공합니다. Firestore는 실시간 데이터베이스와 마찬가지로 오프라인 데이터 액세스 및 자동 동기화를 지원합니다.
Firestore에는 개발자가 알아야 할 몇 가지 제한 사항도 있습니다. 예를 들어 특히 대규모 애플리케이션의 경우 실시간 데이터베이스보다 비쌀 수 있습니다. 또한 문서 간의 관계를 허용하지 않는 등 데이터 모델링과 관련된 몇 가지 제한 사항이 있습니다.
전반적으로 Firebase의 실시간 데이터베이스와 Firestore 중에서 선택하는 것은 애플리케이션의 특정 요구 사항에 따라 다릅니다. 애플리케이션에 실시간 데이터 동기화와 간단한 데이터 모델이 필요한 경우 실시간 데이터베이스가 더 나은 선택일 수 있습니다. 애플리케이션에 더 복잡한 쿼리 및 검색 기능이 필요하고 추가 비용을 처리할 수 있는 경우 Firestore가 더 나은 선택일 수 있습니다.
정리
1. Realtime Database
- 기본적인 데이터 동기화
- 적은 양의 데이터가 자주 변경
- 간단한 json 트리
- 많은 데이터베이스
2. Cloud Firestore
- 고급 쿼리, 정렬, 트랜젝션
- 대용량 데이터가 자주 읽힘
- 구조화된 컬렉션
- 단일 데이터베이스
그래도 어떤 DB를 선택해야될지 모르겠다면
아래 사이트의 설문을 통해 확인해보자
https://firebase.google.com/docs/database/rtdb-vs-firestore?hl=ko
데이터베이스 선택: Cloud Firestore 또는 실시간 데이터베이스 | Firebase 실시간 데이터베이스
Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기 이 페이지는 Cloud Translation API를 통해 번역되었습니
firebase.google.com
'Firebase' 카테고리의 다른 글
FireBase 채팅앱 구현, 파이어베이스 퀵스타트 샘플코드 (0) | 2023.02.20 |
---|