[DB] 데이터베이스 종류
[DB] 데이터베이스 종류
DataBase 종류
구분 | 모델 | DBMS |
---|---|---|
1세대 | 파일시스템 | - ISAM - VSAM |
2세대 | 계층형 (Hierachical) HDBMS | - IMS - System2000 |
3세대 | 네트워크형 (Network) NDBMS | - IDS - TOTAL - IDMS |
4세대 | 관계형 (Relational) RDBMS | - Oracle - MySql - DB2 - SQL Server - Sybase |
5세대 | 객체지향 (Object Oriented) ODBMS | - Object Store - UniSQL |
계층형 데이터베이스 (HDBMS)
- 폴더와 파일 등의 계층 구조로 데이터를 저장하는 방식
- 데이터의 관계를 트리 구조로 정의, 부모-자식 형태를 가짐
- 종류
- 하드디스크, DVD 파일 시스템 등
- 장점
- 데이터의 액세스 속도가 빠름
- 데이터의 사용량 쉽게 예측
- 단점
- 상하 종속적인 관계로 구성되어 초기 세팅 후 프로세스 수용이 어려움
네트워크형 데이터베이스(NDBMS)
- 데이터 구조를 네트워크상의 노드 형태로 논리적이게 표현한 데이터 모델, 각각의 노드를 서로 대등한 관계로 구성한 시스템
- 장점
- 계층형 데이터베이스의 데이터 중복 문제 해결, 상하 종속적 관계 해결
- 단점
- 추후 변경 시 복잡한 구조로 인해 변경이 어려움
- 데이터 종속성을 해결하지 못함
관계형 데이터베이스(RDBMS)
행(Column)과 열(Row)을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스
- SQL을 이용하여 관리 및 접근
- 관계 대수(Realtional Algebra)에서 착안하여 만들어 짐
- 종류
Oracle
- 오라클에서 개발, 가장 많이 사용하는 RDBMS
- 중앙 집중 방식, Administration Monitoring 가능
- Multiple Databases 튜닝 가능
- 다른 Admin User들과 공유 가능
- 다양한 핸들링 지원
DB2
- IBM이 개발, 한동안 IBM 컴퓨터에서만 구동이 가능했음
SQL Server
- 마이크로소프트에서 개발, 윈도우 플랫폼에서만 동작
PostgreSQL
- 오픈 소스 커뮤니티에서 개발
MySQL
- 오픈소스 커뮤니티에서 개발
- 경량 데이터 베이스 ▶️ 기능이 확장되면서 다른 RDBMS와 비슷
- 매우 적은 오버헤드 사용 ▶️ 오라클 128mb, MySql 1mb
- 장점
- 다양한 용도로 사용 가능(범용성), 높은 성능
- 데이터 무결성 보장, 높은 신뢰성
- 명확한(= 엄격한) 스키마 정의
- 정규화에 따른 갱신 비용 최소화
- 데이터의 분류, 정렬, 탐색 속도가 빠름
- 관계를 통해 각 데이터를 중복없이 한 번만 저장
- 단점
- 대량의 데이터 입력 처리
- 갱신이 발생한 테이블의 인덱스 생성 및 스키마 변경
- 컬럼 확장 어려움 ▶️ 유연성 부족
- 데이터베이스 부하 분석이 어려움
- 수평 확장의 어려움 ▶️ 데이터베이스 저장 방식으로 인해 수직 확장만 지원
- 종류
객체지향 데이터베이스(ODBMS)
객체 그대로를 데이터베이스의 데이터에 저장하는 것
- 멀티미디어 데이터의 원활한 처리
- RDBMS의 비지니스형 데이터 타입만 처리되는 제한적 극복
NoSQL(Not Only SQL)
키(Key) - 값(Value)의 형태로 저장되는 데이터베이스, 키를 사용해 데이터 관리 및 접근
- 스키마 없음, 관계 없음
- Join이 존재하지 않고 데이터를 가져올 때, 컬렉션에 있는 데이터를 복제하여 필요한 데이터의 일부만 가져옴
- 정확한 데이터 요구 사항을 알 수 없거나 관계를 맺는 데이터가 자주 변경될 때 사용
- 읽기를 자주 하지만 데이터를 자주 변경하지 않는 경우 사용
- RDB와 NoSQL의 차이점
- NoSQL은 비정형 데이터(메신저 텍스트, 음성, 이미지 등)를 다룰 수 있음
- 수평 확장이 가능하여 분산형 컴퓨팅(클라우드)에 적합
This post is licensed under CC BY 4.0 by the author.