DB (DataBase)
1. DataBase 란
1. 데이터의 저장소
2. 특징
- 사용자의 질의에 대한 즉각적인 처리와 응답
- 생성, 수정, 삭제를 통해 항상 최신의 데이터 유지
- 사용자들이 원하는 데이터를 주소가 아닌 내용에 따라 참조 가능
- 응용프로그램과 데이터베이스는 독립되어 있어, 데이터의 논리적 구조와 응용프로그램은 별개로 동작
2. DataBase의 종류
계층형 데이터베이스
- 데이터 관계 : 트리 구조 (부모, 자식 형태)
- 데이터 중복 문제
네트워크형 데이터베이스
- 데이터 관계 : 그물형 구조
- 데이터 중복 문제 해소, 데이터 간 다양한 관계를 갖음
- 복잡한 구조로 인한 수정의 어려움
관계형 데이터베이스 ( RDBMS )
- 데이터 관계 : Table 관계
- SQL을 사용해 데이터 관리 및 접근
- NoSQL 데이터베이스
- 데이터 관계 : key, value의 형태 ( 일관성 모델 )
- 관계형 DB보다 덜 제한적
- 키를 사용해 데이터 관리 및 접근
_ | SQL | NoSQL |
---|---|---|
특징 | 1. 데이터 사이 관계가 있다. 2. Table 구조 |
1. 데이터 관계가 필요치 않다. (SQL 개선/ 보완) 2. key, value로 정의 |
장점 | 1. 범용적, 고성능 2. 데이터의 일관성 3. 정규화에 따른 갱신 비용 최소화 |
1. 대용량 데이터에 적합 2. 데이터 분산 처리 3. cloud computing 4. 빠른 읽기 / 쓰기 5. 유연한 데이터 모델링 |
단점 | 1. 대량의 데이터 입력 처리 2. 갱신이 발생한 테이블의 인댁스 생성 및 스키마 변경 3. 컬럼의 확장 어려움 4. 단순히 빠른 결과 |
1. 데이터 중복 발생이 쉬움 2. 불필요한 중복으로 인한 비용 발생 |
종류 | Oracle, MySQL, SQLite, Apache .. | MongoDB, Flare .. |