개요
Firebase의 특징
NoSQL 문서형 데이터베이스로, 단 하나의 서버 기술(AWS, Spring, MySQL 없이, Firebase 만으로 API 서비스 구현)
게시판, 할 일 관리 등의 학습용 프로젝트뿐만 아니라, 실제 서비스에도 활용 가능, 필요할 경우 다양한 서비스 사용
저렴한 가격(혹은 무료)으로 이용할 수 있다.
구글 개발자들이 검증한 다양한 API를 제공하여 프로토타입에 적합하다.
서버 구축 없이, 시제품을 빠르게 개발 가능하다.
자바스크립트를 활용한 게시판 구현하기
- Node.js Firebase 연동, 데이터 파싱 collection, getDocs
- Node.js Firebase 연동, 데이터 파싱(2) getDoc, doc, dayjs
- Node.js Firebase 연동, 데이터 추가 Timestamp, addDoc
- Node.js Firebase 연동, 데이터 수정 updateDoc
- Node.js Firebase 연동, 데이터 삭제 deleteDoc
프로젝트 만들기
Firebase Console 사이트에 접속한다.
프로젝트 만들기 버튼을 클릭하여 프로젝트를 생성해 준다.
기다리다보면 프로젝트가 생성된다.
앱 등록
iOS, Android, Web, Unity, Flutter등 다양한 프로젝트에서 Firebase 적용 가능하다.
기존에 유니티 개발에 Firebase를 사용한 경험이 있지만, 이번엔 웹에서 실습을 할 것이기 때문에 웹을 선택하였다.
- NPM : React, Vue 등의 프레임워크에서 사용
- CDN : 간단한 HTML 프로젝트에서 사용
NPM을 선택 후 콘솔로 이동을 해주었다.
Firestore 생성
Firestore은 Firebase 에서 사용하는 NoSQL 문서형 데이터베이스이다.
SQL
하나의 DB 를 여러개의 Table 로 나누어 관리
테이블 간 관계를 맺을 때, 한쪽 테이블에 다른쪽 테이블의 PK 배치 (FK)
필요할 때 JOIN 을 사용해 다른 테이블의 정보 가져와 가상의 테이블 생성
NoSQL 문서형
하나의 DB 를 여러개의 컬렉션 으로 나누어 관리
컬렉션 안에 여러개의 도큐먼트 를 둠, 쉽게 말하면, JSON DB
왼쪽 사이드바에서 Firestore Database 탭 클릭
이후 프로덕션 혹은 테스트모드에서 시작을 묻는데 테스트 모드에서 시작을 추천한다.
컬렉션
컬렉션과 문서를 추가할 수 있다, 컬렉션 생성 시 컬렉션의 ID를 자동으로 생성할 수 있으며
해당 컬렉션의 하위에 등록한 문서가 필드가 된다.
물론 컬렉션 아래에 컬렉션을 추가로 배치할 수도 있다.
기본적으로 필드는 필드명을 기준으로 오름차순으로 정렬된다.
'데이터베이스(DB) > Firebase' 카테고리의 다른 글
firebase storage 스토리지 (1) | 2024.09.02 |
---|---|
Firebase firestore database reference 다른 문서 참조하기 (0) | 2024.09.02 |
파이어베이스 Firebase 데이터베이스 규칙, firestore database rules (0) | 2024.08.29 |
파이어베이스 Firebase 인증, Authentication (0) | 2024.08.29 |