(FireBase) Firebase의 데이터 구조

호두파파·2021년 5월 6일
0

Firebase

목록 보기
1/2

NoSQL(Not Only SQL)

NoSQL은 간단하게 보면 비관계형 데이터베이스라고 이해하면 편하다. 부가적으로 말하자면 스키마가 없는 데이터 베이스이다.(스키마란? Table, Column과 같은 데이터베이스를 구성하는 도식(설계) 혹은 구성을 말한다.) 스키마가 없는 데이터베이스 이기 때문에 테이블을 구성하는 스키마 혹은 컬럼의 자료형 등 규칙이 따로 없다. 덕분에 확장성이 용이하다. (관계형 데이터베이스 기준으로는 스키마를 바꾸게 되면 필요한 작업을 해야 하고, 데이터에 대한 마이그레이션을 진행해야 한다.) 하지만 NoSQL은 스키마가 없기 때문에 그냥 새로운 컬럼이 있으면 데이터를 넣기만 하면 된다.

전반적으로 봤을때 NoSQL은 기존의 관계형 데이터베이스가 가진 단점을 보완한 형태라고 생각하면 좋다. 최근에는 빅데이터 시대가 대두하며 이를 저장하는 데이터 베이스도 기존의 형태와는 달라야 한다. 그리고 관리를 용이하게 하기 위한 분산처리데이터의 안정성을 위해서 개발이 되었다.

NoSQL의 종류와 데이터베이스

  • Key-Value : 가장 기본적, 범위검색이 힘들다.
  • Column: 키-값에서 확장되어 한개의 칼럼에 여러개를 저장할 수 있따.
  • Document: JSON, XML과 같은 형식을 이용한다.(Firebase가 이에 해당한다)
  • Graph: 좀더 유연한 그래프모델을 사용한다. 확장성이 더 용이하다.

Firebase는 SQL(Structure Query Language)를 사용하지 않고, JSON(JavaScript Object Notation) 방식의 문서를 사용해 저장한다. 가장 이해하기 쉽게 말하면 JSON을 Dictionary 형태(Key-Value)를 사용해 데이터를 주고 받을 수 있도록 제공하고 있다.


Firebase 실시간 데이터베이스

구조적으로 부모자식관계를 가지고 Node 형태의 방식으로 데이터 구조가 쌓이게 되어 있다. Dictionary 구조로 설명을 하자면 키(부모) 값(자식) 구조로 이루어져 있따고 생각하면 이해하기 쉽다.

반드시 읽고 넘어가기
Firebase 실시간 데이터베이스 규칙 이해하기

profile
안녕하세요 주니어 프론트엔드 개발자 양윤성입니다.

0개의 댓글