데이터 베이스(Date Base) - DB 란?
- 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합을 말한다.
- 쉽게 예시를 들자면 지금 보고있는 이 블로그 자체도 DB, 데이터 베이스라 할 수 있다.
- 꼭 이런 블로그 뿐만 아니라 공유하여 사용하기 위해 여러 데이터를 쌓아놓은 곳을 데이터 베이스라 할 수 있다.
DBMS 란 ?
- database management system의 약자로 데이터베이스 관리 시스템을 말한다.
- 사용자의 다양한 요구를 적절히 처리하고 응답해 사용할 수 있도록 해주는 시스템을 의미한다.
- 간단하게 DB를 사용하는 프로그램을 의미한다. Mysql, 오라클 등..
DB의 종류
- DB에 종류는 여러가지가 있다.
- 대표적으로 계층형 DB, 네트워크형 DB, 관계형 DB, NoSQL DB 가 존재한다.
- 이중 현재 가장 많이 사용하는 DB는 관계형 DB 이다.
- 이 장에서는 관계형 DB와 NoSQL DB 에 대해서만 알아볼 것이다.
1. 관계형 DB
- 관계형 DB는 서로 관련있는 데이터들의 집합을 의미한다.
- 모든 데이터들을 2차원 테이블 형태로 나타낸다.
- 데이터 간의 상관관계에서 개체간의 관계를 표현한 것이라고 할 수 있습니다.
- 구조화된 질의 언어(SQL)를 통해 관리가 가능하다.
- 테이블에 저장된(고정된) 데이터를 정형 데이터라 하며, 이런 정형 데이터를 관리한다.
- 관계형 DB는 오라클 DB, MySQL, SQLite 등의 DBMS가 존재한다.
- 관계형 DB는 아래 사진과 같이 표현한다.
- 엑셀처럼 행과 열이 존재하며, 목록에 따라 입력될 값이 정해진 형태이다.
2. NoSQL DB
- 2000년 후반으로 넘어오면서 SNS등의 발달로 관계형 DB와 다르게 정형된 데이터가 아닌, 비정형 데이터(고정되지 않은 데이터)라는 것을 보다 쉽게 담아서 저장하고 처리할 수 있는 구조를 가진 NoSQL DB가 각광받게 되었다.
- 기존의 관계형DB 보다 데이터의 저장 및 검색을 위한 특화된 매커니즘을 사용한다.
- 이를 통해 NoSQL DB는 단순 검색 및 추가 작업에 있어서 매우 최적화된 키 값 저장 기법을 사용하여, 응답속도나 처리 효율에 매우 뛰어난 성능을 보여준다.
- NoSQL DB에는 몽고 DB, 카산드라 DB, Elastic search 등의 DBMS가 존재한다.
- 관계형 DB 와 비교하면 아래 사진과 같다.
DB 용어
- DB에서 사용되는 용어는 어느정도 비슷한 의미를 가지고 있으나, 관계형 DB와 NoSQL DB 에서 사용되는 용어는 조금씩 차이가 있다.
1. 관계형 DB
- 애트리 뷰트 (Attribute) : 속성, 열, 필드 라고도 하며 각 속성마다 고유의 값을 가지게 된다. 중복이나 NULL 값은 허용하지 않는다.
- Degree : 속성의 개수를 의미한다.
- 튜플 (Tuple) : 행, 레코드 라고도 하며 값 의미한다.
- cardinality : 튜플의 개수를 의미한다
- 도메인 : 필드가 가질 수 있는 값들의 집합을 의미한다.
2. NoSQL 용어
- 관계형 DB 와 다르게 NoSQL은 DBMS에 따라 용어가 조금씩 다르게 사용된다.
출저 : https://terms.naver.com/entry.nhn?docId=1082446&cid=40942&categoryId=32840 : 네이버 지식백과
https://www.samsungsds.com/global/ko/support/insights/1195843_2284.html
https://www.toptal.com/database/the-definitive-guide-to-nosql-databases
https://coding-factory.tistory.com/77
https://aws.amazon.com/ko/nosql/
'CS > DB' 카테고리의 다른 글
SQL - DML 쿼리문 사용법 (0) | 2019.10.29 |
---|---|
하둡 이란? (0) | 2019.09.16 |
Mesos 란 무엇인가 (0) | 2019.09.02 |
KAFKA 란? (0) | 2019.09.02 |