데이터베이스(Database)
데이터베이스의 개념 및 정의
- 여러 사람이 공유하여 사용할 목적으로 체계화하여 통합, 관리하는 데이터의 집합
- 여러 응용 시스템들의 통합된 데이터들을 모아 자료 항목의 중복을 없애고 구조화
- 자료구조를 고도화하여 검색과 갱신 기능을 효율적으로 할 수 있도록 설계
데이터베이스의 역사
- 1950년대에 군사 관련 데이터의 효율적인 관리를 위해 처음 사용됨
- 이후 컴퓨터 기술의 발전으로 데이터 데이터베이스의 크기, 기능, 성능 등이 같이 향상됨
- 데이터베이스의 기술은 데이터의 모델이나 구조에 따라 3단계의 발전으로 구분
데이터베이스 모델
- 1세대 - 안내형 데이터베이스(Navigational Database)
- 주로 사용되었던 데이터베이스 모델은 계층형 모델(Hierarchical model)과 망형 모델(Network Model)
- 계층형 모델은 데이터가 부모 자식관계를 반복적으로 가지는 트리 형태의 구조로 조직된 데이터베이스를 뜻함
- 망형 모델은 각 레코드가 여러 부모 자식 레코드를 가질 수 있도록 그래프 현태의 구조로 조직된 데이터베이스를 뜻함
- 위의 두 모델은 현재는 거의 사용되지 않고 있음
- 2세대 - 관계형 데이터베이스(Relational Database)
- 데이터의 연결 구조가 아닌 내용을 기준으로 데이터를 검색해야한다는 개념에서 출발
- 데이터간의 종속성을 관계로 표현하며, 이를 사전에 스키마로 정의
- 데이터를 행(Row)과 열(Column)으로 구분된 테이블 형태로 저장
- SQL(Structured Query Language)을 통해 데이터를 조회, 수정할 수 있으며, 속도가 빠르고 안정적임
- 현재도 가장 많이 사용되고 있는 데이터베이스 모델
- 3세대 - 비관계형 데이터베이스(Non-Relational Database)
- 대규모 데이터를 처리하는데 있어 기존의 관계형 데이터베이스 방식으로 처리하기 위해 비용과 복잡성이 크게 상승
- 이러한 복잡성과 높은 비용을 줄이기 위해 비관계형 데이터베이스 모델을 활용하기 시작함
- 빠른 속도의 키-값(Key-Value) 모델, 문서형 모델, 와이드 칼럼 모델, 그래프 모델 등 다양한 모델이 있음
- 빠른 검색속도나 데이터 구조가 자주 변경되는 프로젝트의 경우에 사용되고 있음
데이터베이스의의 장점
- 데이터를 표준화할 수 있으며, 이를 통해 데이터 중복을 최소화할 수 있음
- 데이터를 논리적, 물리적으로 독립성 있게 활용하여, 데이터 저장 공간을 절약할 수 있음
- 분리된 데이터베이스를 통해 프로그램간 데이터를 쉽게 접근하고, 공유하여 사용할 수 있음
- 일관성, 무결성, 보안성을 유지하는데 용이하며, 항상 최신의 데이터로 유지하기도 용이함
데이터베이스의 단점
- 데이터베이스 전문가 필요하며, 관리에 많은 비용 필요
- 시스템이 복잡하고, 데이터 백업과 복구가 어려움
- 사용성이 높은 만큼 액세스가 집중될 경우 과부하가 발생할 수 있음
'Database' 카테고리의 다른 글
트랜잭션(Transaction) (0) | 2022.06.13 |
---|---|
데이터베이스 관리 시스템(Database Management System) (0) | 2022.06.13 |