SQL vs NoSQL

Kim sejin·2023년 12월 27일

SQL

목록 보기
1/3
post-thumbnail

Database란

여러 사람이나 프로그램이 데이터를 쉽게 공유하기 위해 체계적으로 관리되는 데이터의 집합

DBMS란

위와 같은 데이터베이스를 관리하는 시스템을 뜻한다.

Database(DBMS)의 분류

= SQL DB(관계형 데이터베이스) : Relational Database, RDB)
= NoSQL DB(비관계형 데이터베이스) : 나머지


DBMS란?

데이터 형태는 엑셀과 비슷하다. 회원정보를 관계형 데이터베이스에 저장한다고 하면

idnameageemailgender
1Melmonth39emelmoth0@pinterrest.comFemale
2MacGaffey27mmacgaffey1@usa.govFemale
3Whitaker15lwhitaker2@uol.com.brMale

위와 같이 저장할 수 있다. 위 구조는 관계형 Database로 가장 많이 사용되는 데이터베이스 유형으로 스키마라는 틀에 맞추어 저장되어 체계적이고 안정적으로 관리될 수 있다.
ex) mysql, postgreSQL, Oracle 등등

여기서 스키마(Schema)란 구조와 제약 조건에 대한 명세이다.


회원정보
idINT
nameVarchar(255)
ageINT
emailVarchar(255)
genderVarchar(255)

NoSQL

데이터 종류와 사용 유형에 따라서 더 효율적인 관리를 위해 NoSQL도 사용될 수 있다.
NoSQL는 관계형 데이터베이스처럼 스키마가 정해진 것이 아니여서 유연성, 확장성 등이 더 효과적일 수 있다.
ex) Key-Value, Document, Graph

Key-Value

Key-Value는 데이터를 저장하는 가장 단순한 형태의 데이터 베이스이다. 단순한만큼 속도가 빠르다.
ex) Redis, amazon DynamoDB

{'name': 'jocoding'}

위와 같은 형태를 가지고 있다.

Document

Document는 Key-Value에서 좀 더 진화되어 데이터가 키와 JSON과 유사한 Document 형태로 저장되는 것을 의미한다.

# Key
1001 

# Document
{
	"이름": "홍길동",
    "나이": 25,
    "성별": "여",
    "주소": "서울특별시",
    "특기": ["농구", "독서"],
    "회사": "경기도 수원시
}

JSON 형태의 데이터라 스키마가 변경되는 것에 유연하게 대처할 수 있다.
ex) MongoDB, Amazon DocumentDB

Graph

노드의 속성별로 데이터를 저장하는 방식으로 페이스북과 같은 소셜 네트워크 or 추천 엔진을 위한 데이터베이스에 주로 사용된다.
ex) neo4j, Amazon Neptune, Giraph

참고 영상

sql 참고영상

0개의 댓글