[TIL] Firebase 서비스 가격 및 제약사항 비교

햄스터아저씨·2021년 7월 29일
3

DB를 쓸지, Storage를 쓸지에 대한 판단 기준은 1회 저장할 때, 데이터가 1MB가 넘는지이다.
넘을경우, Storage를 고려해야 한다.

1. Realtime Database

  • Key-Value DB같으면서도, Json 트리형태로 저장한다.
  • 2개 이상의 장비에서 빠른 동기화가 필요한 경우에 사용하기 적합
  • 다운로드 용량에 따른 가격정책
  • 저장비용
    • 1GB 무료, 1기가당 $5 (1회인지 월별인지 모르겠다)
  • 네트워크
    • 매월 10G 무료, 이후 1G당 $1
    • 리소스가 넘어가면 리소스 추가사용 불능, 요금제 이동 필요
    • 동시 쓰기요청 초당 10만개
  • 기타 제약사항
    • 유저 한명이 10만개 데이터에 대해 요청시, 해당요청을 처리할 때까지 DB자체가 다운될 수 있다.
    • 상위 노드를 읽으면 하위 노드도 무조건 읽힌다.
    • 따라서 한 노드 내에 1000개 이상의 노드가 포함되지 않도록 구성하는게 좋다.
    • 따라서 데이터 구조의 평면화가 필요하다.
    • 유저가 많아질 경우, 반드시 샤딩을 해야한다.
    • 한번에 쓸 수 있는 이벤트 크기 1M
      1MB를 초과해서 쓸 수 도 있으나, 이 경우 콜백은 일어나지 않음.
    • 동시사용자 기본 100에서, 요금제 올리면 20만개.

2. Cloud Firestore

  • MongoDB와 같은 document DB
  • Json Document 형태로 저장

아래 조건은 지역별로 가격이 조금씩 다르다.

  • 저장비용
    • 1GB 무료, 이후 GB당 월 $0.192
  • 네트워크
    • 다운로드: 매월 10GB 무료, 이후 1GB당 $0.19 ~ 0.15
  • 작업비용 (횟수에 따른 가격정책)
    • 읽기: 일 5만회 무료, 이후 문서 10만개당 $0.038
    • 쓰기: 일 2만회 무료, 이후 문서 10만개당 $0.115
    • 삭제: 일 2만회 무료, 이후 문서 10만개당 $0.013
  • 기타 제약사항
    • 문서 최대크기 1MB
    • 최대 심도 20
    • 문서쓰기시간 초당 1개 (색인시 초당 500개), 초과시 지연발생
    • 실시간 최대 동시연결수 100만개(초과시 지연발생)
    • 프로젝트 당 여러 데이터베이스 불가
  • https://cloud.google.com/firestore/quotas?hl=ko

3. Cloud Storage

DB가 아닌 "파일"을 저장하는 스토리지, AWS의 S3와 비교대상

  • 저장비용
    • 5GB 무료, 이후 GB당 $0.026 (이것도 월인지 1회인지..)
  • 네트워크
    • 다운로드 크기: 일일 1GB 무료, 이후 GB당 $0.12
  • 작업비용
    • 쓰기: 일일 2만회 무료, 이후 1만회당 $0.05
    • 읽기: 일일 5만회 무료, 이후 1만회당 $0.004
  • 기타 제약사항
    • 프로젝트 당 여러 버킷 불가

요약

Realtime DB

유저의 프로필이나 장바구니같이,
작은 데이터를, 많이 읽기/쓰기 해야할 때 적합하다.
고도의 빠른 동기화가 필요한 경우에 적합하다.

FireStore

sns 글 하나, 블로그 글 하나 같이,
적당한 량에, 적당히 빠르게, 읽기/쓰기 할 때 적합하다.

Cloud Storage

동영상, 이미지 혹은 유저의 전체 데이터 백업 등, 큰 파일의 경우.
큰 데이터를, 적은 횟수로 읽기/쓰기 할 때 적합하다.

profile
서버도 하고 웹도 하고 시스템이나 인프라나 네트워크나 그냥 다 함.

0개의 댓글