개발여행일지~
Firebase Realtime Database와 Cloud Firestore의 차이점 본문
Firebase Realtime Database의 장점!
1. 비관계형 클라우드 데이터베이스
- 기존의 관계형 데이터베이스와 다른 접근 방식을 갖는다.
- 관계형에서 table의 역할은 비관계형에서는 Collection이 담당. Record(관계형)는 Document(비관계형)이 담당한다.
2. 실시간이 가능하다.
- 필요할 때 마다, HTTP 요청을 전송하고 응답 받아 데이터에 접근하는 방식이 아닌 동기화 방식을 사용한다.
3. 오프라인 상태에서도 데이터를 유지할 수 있다.
- 오프라인 상태인 경우, App 로컬에 저장하고 있다가 네트워크가 연결되면 로컬에 저장했던 데이터를 동기화시킨다.
4. 서버 없이 앱 만으로도 동작할 수 있다.
- 앱에서 직접 Firebase Realtime Database에 접근할 수 있기 때문에 별도의 서버 없이 동작할 수 있다.
Cloud Firestore 장점
장점으로는 유연성, 표현형 쿼리, 실시간 업데이트, 오프라인 지원, 확장형 설계가 있다.
Firebase Realtime Database와 Cloud Firestore의 차이점
모두 Google Firebase에서 제공하는 NoSQL 클라우드 데이터베이스입니다. 하지만 두 서비스는 몇 가지 중요한 차이점을 가지고 있습니다.
1. 데이터 모델
Realtime Database: JSON 트리 형태의 데이터 구조를 사용합니다. 이러한 형태로 인해 복잡한 계층적 데이터를 저장하거나 쿼리하기 어려울 수 있습니다.
Cloud Firestore: 컬렉션과 문서라는 개념을 사용하는 더 구조화된 데이터 모델을 제공합니다. 각 문서는 다른 컬렉션에 대한 서브컬렉션을 가질 수 있어, 계층적 및 관계형 데이터를 더 쉽게 저장하고 쿼리할 수 있습니다.
2. 쿼리 기능
Realtime Database: 간단한 정렬 및 필터링 기능만 제공합니다.
Cloud Firestore: 복잡한 쿼리를 지원하며, 인덱싱으로 인해 대량의 데이터에 대해서도 고성능의 쿼리가 가능합니다.
3. 확장성
Realtime Database: 단일 리전에서 작동하여 최대 100,000개의 동시 연결과 1TB 이상의 스토리지를 지원합니다.
Cloud Firestore: 전세계 여러 리전에서 작동하여 더 큰 규모로 확장될 수 있습니다.
4. 실시간 업데이트
두 서비스 모두 실시간 업데이트 기능을 제공하지만, Cloud Firestore은 "snapshot listeners"라는 개념으로 이를 보다 효율적으로 처리할 수 있는 방법을 추가로 제공합니다.
5. 오프라인 지원
둘 다 오프라인 지원이 가능하지만, Cloud Firestore은 iOS, Android, Web 모든 플랫폼에서 오프라인 지원이 가능하다는 점에서 차별화되어 있습니다.
따라서 프로젝트 요구 사항에 따라 선택해야 합니다. 복잡한 쿼리와 확장성이 필요하면 Cloud Firestore가 좋은 선택일 것입니다. 반면에 실시간 동기화가 중요하고 단순한 JSON 구조로 충분히 만족스럽다면 Realtime Database를 선택할 수 있습니다.
'코틀린 공부정리' 카테고리의 다른 글
2주차 우리팀 WIL(주간회고) (1) | 2023.10.20 |
---|---|
ScaleType의 여러가지 속성 (0) | 2023.10.19 |
Glide VS Coil 차이점을 알아보자! (0) | 2023.10.16 |
WIL(팀주간회고) (2) | 2023.10.13 |
Manifest에서 Activity의 name이 오류가 뜨는 문제 (0) | 2023.10.13 |