아래로 당겨서 새로고침

파이어베이스(Firebase)란?

date
Jun 13, 2023
thumbnail
JEd0ZDCmvO20CnZPaFX7xifOsMstUcT90eDs.jpg
gsc
Done
public
public
slug
what-is-firebase
author
tags
Web
DB
Server
summary
파이어베이스의 특징들을 살펴보자
type
Post
updatedAt
Oct 20, 2023 01:42 AM
 

Introdution

혹시 개발하는 시간이 많지 않다면, Firebase를 처음 접한다면, 특징들을 간단하게 살펴보고 Firebase 새로운 앱을 만드는 데 드는 시간과 노력을 줄이는데 이용해보자.

Firebase란?

Firebase는 구글에서 개발한 클라우드 기반의 백엔드 서비스를 제공하는 모바일 및 웹 애플리케이션 개발 플랫폼이다. Firebase는 데이터베이스, 인증, 스토리지, 호스팅, 애널리틱스 등의 다양한 기능을 제공하며, Realtime Database와 Cloud Firestore, Authentication, Cloud Storage, Hosting, Cloud Messaging 등의 기능을 포함한다. Firebase는 다양한 프로그래밍 언어와 플랫폼을 지원하며, 개발자들은 빠르게 애플리케이션을 개발하고 배포할 수 있다.

Firebase의 다양한 종류

Firebase는 데이터베이스, 인증, 스토리지, 호스팅, 애널리틱스 등 다양한 종류가 있다. 그 중에서도 주요한 기능들은 아래와 같다.
  • Realtime Database
  • Cloud Firestore
  • Authentication
  • Cloud Storage
  • Hosting
  • Cloud Messaging
Firebase는 이러한 기능들을 제공함으로써 개발자들이 더욱 쉽게 애플리케이션을 개발하고 배포할 수 있게 도와준다.
 

Realtime Database

Firebase에서 제공하는 데이터베이스 서비스 중 하나로서, 실시간으로 데이터가 업데이트되는 애플리케이션에 적합한 기능을 제공한다. Realtime Database는 JSON 형식의 데이터를 저장하며, 클라이언트는 실시간으로 데이터를 수신하고 변경 사항이 발생하면 즉시 업데이트된다. 이를 통해 게임, 채팅 등의 실시간 애플리케이션을 빠르게 구축할 수 있다.

Cloud Firestore

Firebase에서 제공하는 NoSQL 문서형 데이터베이스 서비스 중 하나다. Cloud Firestore는 Realtime Database와 유사하게 JSON 형식의 데이터를 저장하지만, 보다 복잡한 쿼리와 인덱싱을 지원한다. 이를 통해, 데이터에 대한 복잡한 질의를 수행하고, 클라우드 기반 애플리케이션에 적합한 데이터베이스를 제공한다.

Authentication

Firebase에서 제공하는 사용자 인증 기능으로서, 이메일/비밀번호, Google, Facebook, Twitter 등 다양한 방법으로 사용자를 인증할 수 있다. 이를 통해, 애플리케이션에 로그인한 사용자를 식별하고, 액세스 권한을 부여할 수 있다. Firebase Authentication은 OAuth 및 OpenID Connect와 같은 표준 인증 프로토콜과 통합되어 있으며, 쉽게 사용할 수 있는 기능을 제공하며, 또한, 사용자 계정을 안전하게 보호하기 위해 패스워드 해시 및 솔트 방식으로 저장된다.

Cloud Storage

Firebase의 Cloud Storage는 파일 저장소 서비스로서, 이미지, 동영상, 오디오 등 다양한 형식의 파일을 저장할 수 있다. 이를 통해 사용자들은 빠르고 안정적인 파일 업로드 및 다운로드를 수행할 수 있으며, 높은 가용성과 내구성을 제공한다. Cloud Storage는 Firebase와 통합되므로, 사용자 인증 및 보안 정책에 따라 파일에 대한 액세스 권한을 제어할 수 있다.

Hosting

Firebase에서 제공하는 정적 웹 호스팅 서비스로서, 애플리케이션의 정적 파일을 호스팅할 수 있다. Firebase Hosting은 캐싱 및 CDN과 같은 기술을 사용하여 빠르고 안정적인 웹 호스팅 서비스를 제공한다. Firebase Hosting은 HTTPS로 보호되며, 사용자 정의 도메인 및 SSL 인증서를 사용하여 사용자 정의 도메인에 대한 호스팅을 지원한다. 또한, Firebase Hosting은 Firebase와 통합되어 사용자 인증 및 보안 정책을 준수하며, Firebase CLI를 사용하여 배포 및 관리를 수행할 수 있다.

Cloud Messaging

Firebase에서 제공하는 클라우드 메시지 서비스로서, Android, iOS 및 웹 애플리케이션에 메시지를 보낼 수 있다. 이를 통해, 사용자들에게 새로운 콘텐츠 및 업데이트에 대한 알림을 보낼 수 있다. Firebase Cloud Messaging은 안정적이고 확장 가능한 인프라를 통해 메시지를 전송하고 다양한 기기 및 플랫폼에 대한 메시지 전송을 지원하며, Firebase와 통합되어 사용자 인증 및 보안 정책을 준수한다.
 

Firebase의 장/단점

장점

  1. 빠른 개발 및 배포 Firebase는 개발자가 애플리케이션을 빠르게 개발하고 배포할 수 있도록 다양한 기능을 제공한다. 이를 통해 개발자들은 시간과 비용을 절약하고 애플리케이션의 개발 및 출시 속도를 높일 수 있다.
  1. 통합된 백엔드 서비스 Firebase는 데이터베이스, 인증, 스토리지, 호스팅, 애널리틱스 등 다양한 백엔드 서비스를 통합하여 제공한다. 이를 통해 개발자들은 서비스를 별도로 구축하거나 연동하는 데 드는 비용과 시간을 절약할 수 있다.
  1. 실시간 데이터 업데이트 Firebase는 실시간으로 데이터가 업데이트되는 애플리케이션에 적합한 기능을 제공한다. 이를 통해 개발자들은 데이터 업데이트에 대한 빠른 응답성과 실시간 데이터 동기화를 구현할 수 있다.
  1. 다양한 플랫폼 및 프로그래밍 언어 지원 Firebase는 다양한 플랫폼 및 프로그래밍 언어를 지원한다. 이를 통해 개발자들은 다양한 플랫폼에서 애플리케이션을 개발하고 배포할 수 있다.

단점

  1. 가격 Firebase는 일부 기능을 무료로 제공하지만, 사용량이 많아지면 비용이 증가할 수 있다. 따라서 개발자들은 애플리케이션의 사용량과 기능 요구 사항 등을 고려하여 Firebase를 사용할지 여부를 결정해야 한다.
  1. 확장성 Firebase는 다양한 기능을 제공하지만, 기능이 제한적인 경우가 있다. 이를 해결하기 위해서는 Firebase 외부 서비스와의 연동이 필요할 수 있다.
  1. 데이터 형식 Firebase는 JSON 형식의 데이터를 사용한다. 이를 사용하기 어려운 개발자나 데이터베이스에 익숙한 개발자들은 Firebase를 사용함에 있어서 어려움을 겪을 수 있다.
  1. SQL 대비 쿼리 성능 데이터 검색이 상대적으로 어렵다. (SQL에서는 일반적으로 OR 문이나 LIKE 문을 이용해 데이터검색이 가능한데 이들 모두 존재하지 않는다고 한다.)
 

마무리

간단한 프로젝트 혹은 프로토타입을 개발할 때 시간을 단축할 수 있다. 실제로 운영 서비스를 하지 않는다면, 무료 범위 내에서 충분히 사용 가능하다. 유용하니 한번 사용해보는 것을 추천한다. 😃
본인은 개인용 채팅 서버로 사용하고, 사내 발표 시 데모버전을 위한 서버로 활용 중이다.
 

참고

긴 글 읽어주셔서 감사합니다.
오탈자 및 내용 피드백은 언제나 환영합니다.

#DB#Server#Web