데이터베이스, SQL, NoSQL _ 조코딩 유튜브

라용·2022년 10월 17일
0

조코딩 유튜브 영상을 보고 정리한 내용입니다.

데이터베이스

데이터 베이스는 여러 사람이나 프로그램이 데이터를 쉽게 공유하기 위해 체계적으로 관리되는 데이터의 집합이라고 하고, 이런 데이터 베이스를 관리하는 시스템을 DBMS (Database Management system) 이라고 합니다.

SQL, NoSQL

DBMS 의 종류를 크게 나누어 보면 가장 많이 사용하는 관계형 데이터베이스 (Relational Database, RDB) 와 나머지로 나눌 수 있습니다. 이때 관계형 데이터베이스를 SQL DB, 나머지를 NoSQL DB 라고 부릅니다. 여기서 SQL은 관계형 데이터 베이스와 상호작용할 때 사용하는 언어라서, SQL 언어를 사용하는 SQL DB 와 NoSQL DB 라고 구분합니다.

SQL DB

관계형 DB는 데이터를 행과 열이 있는 표 형태로 저장합니다. 엑셀과 유사한 모양입니다. 관계형 DB 는 가장 많이 사용하는 DB 형태로 스키마(구조와 제약 조건에 관한 명세)라는 틀에 맞추어서 데이터가 저장되어 체계적이고 안정적인 관리가 가능합니다. 대표적인 제품으로 MySQL, PostgreSQL, ORACLE, SQLite 가 있습니다.

NoSQL DB

데이터 종류와 사용 유형에 따라 더 효율적인 관리를 위해 NoSQL DB 를 사용하기도 합니다. 스키마가 정해지지 않아서 유연성, 확장성, 성능면에서 장점이 있습니다. 하나의 종류만 있는 것이 아니라 SQL 이 아닌 다양한 것이 있는데 대표적으로 Key-Value, Document, Graph 유형이 있습니다.

Key-Value

{ 'name' : 'jocoding' } 와 같은 방식으로 가장 단순한 방식의 데이터 베이스입니다. 단순한 만큼 속도가 빠르다는 장점이 있습니다. 캐싱, 세션관리, 리더보드, 실시간 분석 등에 주로 사용됩니다. 대표적인 제품으로 redis, amazon dynamoDB 등이 있습니다.

Document

키값에서 조금더 진화해서 데이터가 key 와 document 형태(json 처럼)로 저장되는 데이터베이스 입니다. json 형태 데이터라 스키마가 변경되는 것에 유연하게 대처할 수 있습니다. 대표적으로 mongoDB, FireStore, Amazon DocumentDB 등이 있습니다.

Graph

노드의 속성별로 데이터를 저장하는 방식입니다. 페이스북 같은 소셜 네트워크 혹은 추천 엔진을 위한 데이터베이스에 주로 사용됩니다. 대표적으로 neo4j, Amazon Neptune, GIRAPH 등이 있습니다.

profile
Today I Learned

0개의 댓글