데이터베이스 종류 및 특징
데이터베이스 종류와 특징
- 계층형 데이터베이스
- 데이터 관계를 트리 구조로 정의(부모-자식 형태)
- 데이터 중복 문제 발생
- 네트워크형 데이터베이스
- 계층형 데이터의 데이터 중복 문제 해결
- 복잡한 구조 때문에 구조 변경이 용이하지 않음
- 관계형 데이터베이스
- 전통적인 데이터베이스 형태로 오랜 기간 사용됨
- MySQL, PostgreSQL
- Column(열), Record(행)으로 구성된 Table간의 관계를 나타냄
- Table SQL(Structured Query Language)을 사용하여 데이터 관리 및 접근
- NoSQL 데이터베이스
- 관계형 데이터베이스(Relational DBMS)보다 조금 더 자유로운 형태
- key, value 형태로 저장
- key를 사용해 데이터 관리 및 접근
Relational VS Nosql
관계형 데이터베이스(SQL)
- 특징
- 엄격한 스키마를 지켜야만 데이터 저장 가능
-
예시
|first name | last name |phone| |——|—|—| |Yong | Kim | 010-5455-9999| |John | Park | 010-1234-5678| - 장점
- 다양한 용도로 사용 가능
- 대개 성능이 높음
- 데이터 사이의 관계를 지정하기 쉬움. 테이블간의 관계 지정하여 접근 가능.(중복X)
- 단점
- 대량의 데이터 입력 처리
- 갱신이 필요한 테이블의 인덱스 생성 및 스키마 변경이 어려움
- 컬럼의 확장이 어려움
NoSQL
- 특징
- Not Only SQL
- Non-Relational Operational Database SQL: 관계형 데이터베이스가 아님
- document끼리 데이터의 구조가 같을 필요가 없다.
- 중복 발생.
- 예시
{ first_name: "Yong", last_name: "Kim", phone: "010-0000-0000" } { first_name: "John", last_name: "Park", email: "example@example.com" }
- 장점
- 대용량 데이터 관리
- 데이터 분산 처리
- 빠른 읽기, 쓰기 속도
- 유연한 데이터 모델링
- 종류
- key/value
- 휘발성/영속성
- Document
- 스키마 정의 없음
- firebase, mongodb, couchdb
- Big Table
- 뛰어난 확장성, 검색에 유리
- Hbase, Casandara, Hypertable
- key/value