아무것도 모르고 시작하는 코딩

SQL vs NoSQL 데이터베이스 종류 | 아무것도 모르고 시작하는 코딩

ZNOS 2020. 9. 26. 10:00
반응형

데이터베이스 두가지 종류

 

Database에는, 크게 두 가지 종류가 있습니다.

RDBMS(SQL)

*SQL : Structured Query Language (구조화 질의어)
*RDBMS :  relational database management system (데이터베이스 관리 시스템)

행/열의 생김새가 정해진 엑셀에 데이터를 저장하는 것과 유사합니다. 정형화되어 있는 만큼, 데이터의 일관성이나 / 분석에 용이합니다. 데이터 50만 개가 적재된 상태에서, 갑자기 중간에 열을 하나 더하기는 상대적으로 어려울 것입니다. ex) postgreSQL(포스트그래 에스큐엘(시퀼)), MySQL(마이 에스큐엘(시퀼)) 등

데이터들을 여러개의 테이블에 나누어서, 데이터들의 중복을 피할 수 있습니다. 만약 사용자가 구입한 상품들을 나타내기 위해서는, Users(사용자), Products(상품), Orders(주문한 상품) 여러 테이블을 만들어야 하지만, 각각의 테이블들은 다른 테이블에 저장되지 않은 데이터 만을 가지고 있습니다. (중복된 데이터가 없습니다.)

 

No SQL

딕셔너리 형태로 데이터를 저장해두는 DB입니다. 같은 값을 가진 데이터들도 자유롭게 저장이 가능합니다. 자유로운 형태의 데이터 적재에 유리한 대신, 일관성이 부족할 수 있습니다. 데이터가 중복되기 때문에 불안정한 측면이 있습니다. 실수로 컬렉션 B에서는 데이터를 수정하지 않았는데, 컬렉션 A에서만 데이터를 업데이트 할 위험이 있습니다
ex) MongoDB

 

예시

아래의 예시처럼 RDBMS는 각각의 테이블에 데이터를 집어넣는 반면 NoSQL은, 예를들어 몽고DB의 경우 json 형식으로 딕셔너리 형태로 데이터를 저장한다.(리스트 형식으로도 저장 가능 하다)

 

 

끝.

공감 부탁 드려요 :) 

반응형