SQL vs NoSQL _ 노마드코더

라용·2022년 10월 17일
0

유튜브 노마더 코더 영상을 보고 정리한 내용입니다.

NoSQL

한가지 종류의 DB 를 뜻하지 않습니다. NoSQL 에는 SQL 을 제외한 다양한 방식의 DB 들이 있습니다. 그 중 Document, Graph, Key-Value 방식에 대해 알아봅니다.

Document DB

가장 유명한 도큐먼트 데이터베이스는 mongoDB 입니다. 데이터를 json document 형태로 저장해 보통의 SQL 처럼 데이터 구조가 엄격하지 않고 다양한 모양의 데이터로 저장할 수 있습니다.

key-value DB

키밸류 디비중 하나인 CassandraDB 는 column wide database 유형입니다. 데이터를 읽고 쓰는 것이 매우 빠릅니다. 검색엔진처럼 많은 양의 데이터를 빠르게 읽어야 한다면 카산드라를 써야 합니다. 다른 예시로 dynamo DB 가 있습니다. dynamo DB 는 서버리스, 분산된 key-valueDB 로 아마존이 만들었습니다. dynamo DB 를 사용하는 듀오링고는 매초 24000개의 읽기를 지원한다고 합니다. 매우 빠르게, 많이 쓰고, 많이 읽어야 할 때 key-value DB 가 필요합니다.

NoSQL 을 쓴다면,

SQL 은 데이터 구조를 짤때 어떤 데이터를 얻을 것인지 고민을 하지 않지만 DynamoDB 를 쓴다면 저장하기 전에 미리 어떻게 할지 고민을 해야 합니다. 속도가 빠르지만 SQL처럼 쿼리를 할 수 없기 때문입니다.

Graph DB

column 이나 document 가 필요없고 각 노드 사이 관계를 알아야 할 때 Graph DB 를 사용합니다. 페이스북 같은 소셜네트워크를 만든다면 graphDB 가 필요합니다. 각각의 entity 를 저장하고 이를 관계망으로 연결하는 방식입니다.

SQL vs NoSQL

NoSQL 의 종류가 많아서 둘을 비교할 순 없지만, 평범한 프로젝트를 한다면 대부분 SQL 방식을 선택합니다. 대부분의 경우 SQL 로 모두 커버가 가능하기 때문입니다. NoSQL 은 특별한 이슈에 대응하기 좋은 DB 입니다.

profile
Today I Learned

0개의 댓글