[DB] 데이터베이스(Database)의 종류

PARK·2021년 3월 22일
1

서버 및 Node.js

목록 보기
1/7

1. 데이터베이스

서버를 재시작하면 데이터가 사라지는 문제 => 영구적 저장 공간 필요!

2. SQL

SQL은 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어라고한다. SQL 그 자체가 DB가 아니다. 밀접한 관계이고 굳이 구분이 필요한가 싶지만 정리 해봤다.

3. SQL vs NoSQL (MySQL vs. MongoDB)

1. 관계형 데이터베이스(RDB)

  • 아직까지도 가장 많이 사용되는 데이터베이스로서 흔히 행(Column)과 열(Row)로 표현되는 테이블간의 관계를 나타낼 때 사용되며, 이렇게 표현된 데이터베이스는 SQL을 통하여 관리 및 접근한다.

[RDB 종류]

Oracle, MySQL(Oracle) / MS-SQL(Microsoft) / DB2, Infomix(IBM) / Maria DB(Sun Microsystems) / Derby(Apache) / SQLite(Opensource)

*SQLite: 로컬에서 사용하는 경량 데이터베이스로서 원격 Connection이 발생하지 않으므로 속도가 매우 빠르다. (주로 모바일이나 웹에서 사용됨)

*말 그대로 관련성을 가지며 중복이 없는 데이터들로 집합을 만든다. 예를 들어 엑셀파일은 행열로 이루어져 관계성이 높다.

2. NoSQL(Not Only SQL)

  • NoSQL은 RDB의 특성 뿐만 아니라 다른 특성까지도 지원해 주는 데이터베이스라는 의미를 지닌다. 대용량 데이터를 다루거나 데이터 분산 처리에 용이. 유연한 데이터 모델링이 가능. Cloud Computing에 적합.

[NoSQL 종류]

1) Document방식

- MongoDB(MongoDB Inc.), CouchDB(Apache) : Json, XML과 같은 Collection 데이터 모델 구조 사용

2) Key - Value 방식

  • Redis, Memchached : 둘다 In-memory DB이기도 하며 Key와 Value의 데이터가 쌍으로 저장되는 가장 단순한 데이터 모델 구조 사용

3) Big Table DB

  • HBase, Cassandra, Hypertable, ScyllaDB : Key-Value 형에서 발전된 형태인 Column Family 데이터 모델 구조 사용

*관련이 없는 데이터들의 집합으로 만든다. 데이터를 구조적으로 정의하기 힘들거나 쉽지않는 경우 사용한다. 예로는 로그라던가 인공지능 데이터, 검색 데이터 결과 등 규칙이 없는 데이터가 대표적이다.

profile
익숙한 것에 작별을 고해야한다

0개의 댓글