본문 바로가기
app & web/coding

파이어베이스 Realtime Database와 Cloud Firestore 비교하기

by 장✤ 2020. 7. 20.

파이어베이스는 모바일 플랫폼을 만드는데 최적화되어 있는 플랫폼입니다. 실시간 데이터를 주고 받는 어플, 서버가 필요한 채팅 혹은 SNS 어플, 데이터를 공유하는 어플 등을 만들 때 유용하게 사용할 수 있습니다. 저 역시 전문가가 아니기 때문에 이것저것 검색하고 영상 같은 것을 따라 하다보니깐 기본적인 내용에 자신이 없습니다. 그래도 조금씩 공부해나가면 어느 순간 내가 원하는 어플을 만들 수 있지 않을까 생각합니다.


파이어베이스 썸넬


오늘도 그런 생각으로 파이어베이스 데이터베이스에 대해서 하나 알아볼까합니다. 파이어베이스 데이터베이스는 Realtime Database와 Cloud Firestore로 나누어집니다. 각각의 저장방식에 따라 코드로 달라지기 때문에 만들고 싶은 어플의 방향성에 따라서 선택할 필요가 있습니다.



파이어베이스 Realtime Database와 Cloud Firestore

이전에 파이어베이스 기본적인 설명을 하다가 데이터베이스에 대해서 간단하게 언급한적이 있습니다. 알고보니깐 데이터베이스 종류에 따라서 "데이터"에 표시되는 방식이 달랐습니다. 먼저 Realtime Database입니다.

파이어베이스1


데이터베이스 옆에 보면 Realtime Database으로 되어 있는 것을 볼 수 있습니다. 위와 같이 Realtime Database는 한 번에 데이터를 관리하게 됩니다. 보시면 + 로 각 데이터를 관리하는데 +안에 자식 데이터가 분류되어 있습니다. 



파이어베이스2


이번에는 Cloud Firestore입니다. 이 방식은 데이터를 저장하는 방식이 컬렉션 > 문서 > 필드 방식으로 정해져있습니다. images란느 컬렉션 안에 문서가 있고 또 그 문서 안에 각각에 필드가 추가되어 있습니다. 데이터가 저장되는 방식을 나누어서 살펴보았습니다. 이제 본격적으로 데이터베이스 비교를 해보겠습니다.



파이어베이스3


파이어베이스 문서를 참고하면 관련 문서를 자세하게 살펴볼 수 있습니다. 해당 문서는 데이터베이스 선택이라는 문서로 Cloud Firestore와 실시간 데이터 베이스를 비교한 내용입니다. (바로가기)



사실 실시간 데이터베이스는 이전 데이터베이스 모델입니다. Cloud Firestore가 좀 더 직관적이고 새로운 데이터  모델이며, 실시간 데이터베이스보다 풍부하고 빠른 쿼리와 원활한 확장성을 제공한다고 합니다. 아무래도 새로운 데이터베이스 모델인 Cloud Firestore를 지향하는 것이 좋을 것 같지만 내 앱의 목적에 따라 활용도가 다를 겁니다.



파이어베이스4


내 앱의 목적에 따라 실시간 데이터베이스가 좋은지, Cloud Firestore가 좋은지 나타내는 설문조사입니다. 아래에는 자세하게 비교하는 문서도 있으니 참고하시기 바랍니다.



사실 멋도 모르고 실시간 데이터베이스 바탕으로 앱을 만들고 있었기 때문에(어차피 따라 만드는 중이어서) 살짝 멘붕이 오긴 했습니다. 그런데 다시 생각해 보면 규모도 그렇게 크지 않을 것 같고, 일단 만들어보고 싶다는 마음이 크기 때문에 그냥 진행하지 않을까 싶습니다.


댓글


맥북에어 15인치 출시일과 사전예약 정보