Language/Swift

[Swift] Firebase database 설명, 선택 그리고 설정

jaewpark 2022. 12. 6. 11:02

Firebase 데이터 베이스는 실시간 클라우드 호스팅 데이터베이스입니다.

앱이 오프라인 상태여도 모든 클라이언트에서 실시간으로 동기화 되어 데이터 저장 및 동기화를 할 수 있습니다.

데이터는 JSON 형태의 데이터를 으로 저장됩니다.

 


 

실시간

  • 일반적인 HTTP 요청 대신 데이터 동기화를 사용, 데이터 변경될 때마다 연결된 모든 기기가 해당 업데이트를 수신합니다.

 

오프라인

  • 데이터를 디스크에 유지하기 때문에 오프라인 상태일 때에도 응답성을 유지, 연결이 다시 설정되면 변경 사항을 수신하여 현재 서버 상태와 동기화합니다.

 

클라이언트 장치에서 엑세스 가능

  • 따로 애플리케이션 서버 없이 모바일 기기나 웹 브라우저에서 직접 액세스 할 수 있습니다.

 


 

 

Firebase는 두 가지의 데이터 베이스, Realtime Database와 Cloud Firesstore가 존재합니다. 

 

Realtime Database

  • Firebase의 원본 데이터베이스입니다. 실시간으로 클라이언트 간에 동기화된 상태가 필요한 모바일 앱을 위한 효율적이고 지연 시간이 짧은 솔루션입니다.

 

Cloud Firestore

  • 모바일 앱 개발을 위한 Firebase의 최신 데이터베이스입니다. 새롭고 보다 직관적인 데이터 모델을 통해 실시간 데이터베이스의 성공을 기반으로 합니다. Cloud Firestore는 또한 실시간 데이터베이스보다 더 풍부하고 빠른 쿼리와 확장성을 제공합니다.

 

데이터 선택에 있어서 고려해야할 사항은 차이점을 통해서 선택을 하면 됩니다.

 

  Realtime Database Cloud Firestore
데이터 모델 데이터를 하나의 큰 JSON 트리로 저장 데이터를 문서 모음으로 저장
실시간 및 오프라인 지원 Apple 및 Android 클라이언트에 대한 오프라인 지원 Apple, Android 및 웹 클라이언트에 대한 오프라인 지원
쿼리 복합 정렬 및 필터를 사용한 인덱싱된 쿼리 복합 정렬 및 필터를 사용한 인덱싱된 쿼리
요금 대역폭 및 스토리지에 대해서만 요금을 부과하지만 더 높은 요금이 부과 주로 데이터베이스에서 수행되는 작업에 대해 요금이 부과되며 대역폭 및 스토리지에 대해서는 낮은 요율로 청구

 


데이터베이스 생성

Firebase 콘솔에서 Realtime Database 섹션으로 이동하여 생성을 진행하면 됩니다.

 

앱에 Firebase 실시간 데이터베이스 추가

프로젝트에 직접 사용하면서 적을 예정