SQL vs NoSQL

yejichoi·2022년 11월 9일
0

CodeCamp

목록 보기
4/11
post-thumbnail

Data Structure

SQL

  • 테이블 형태 저장방식( table-based) => structured data
    i.e) Oracle, MySQL, MSSQL, PostgreSQL
  • relational(관계형 데이터베이스)
    행(row)과 열(column)에 데이터를 저장
  • use structured query language and have a predefined schema
  • vertically scalable
    비용 및 downtime 발생 => scalibility(확장성) 떨어짐
  • better for multi-row transactions
    i.e) 전화번호부 / 고객 데이터

NoSQL

서류형태 문서 저장방식 (document, key-value, graph, or wide-column stores)
i.e) MongoDB, Firebase, Redis
1. Key-Value Stores
데이터를 자유롭게 추출할 수 x
2. Document
주로 JSON으로 데이터의 형태, 종류에 상관없이 저장이 가능
3. wide-column stores
table이 아닌 columnar database
각각의 행이 같은 수의 column을 가질 필요가 없음
4. Graph
노드간의 관계(relationship)만 필요

  • non-relational
  • dynamic schemas for unstructured data
  • horizontally scalable
    서버의 갯수를 늘려 비용 및 확장성에 좋음
  • better for unstructured data like documents or JSON

선택

-SQL : ACID (Atomicity, Consistency, Isolation, Durability)가 꼭 필요한 프로덕트
사용할 데이터가 구조화가 잘 되어있고, 변화 X
아주 큰 스케일로 성장하지 않을 경우


-NoSQL : 스케일이 큰 프로덕트
데이터 양이 아주 많으며 ACID가 굳이 필요없고, 많은 사용자와 많은 액세스가 있으며 빠르게 서비스를 제공해야 할 경우

0개의 댓글