데이터베이스 종류
데이터베이스
데이터베이스(Database) 개념
- 다수의 인원, 시스템 또는 프로그래밍 사용할 목적으로 통합하여 관리되는 데이터의 집합
- 데이터에 대한 효과적인 관리를 위해 자료의 중복성 제거, 무결성 확보, 일관성 유지, 유용성 보장이 중요
데이터베이스 정의
- 통합된 데이터(Integrated Data) : 자료의 중복을 배제한 데이터의 모임
- 저장된 데이터(Stored Data) : 저장 매체에 저장된 데이터
- 운영 데이터(Operational Data) : 조직의 업무를 수행하는 데 필요한 데이터
- 공용 데이터(Shared Data) : 여러 애플리케이션, 시스템들이 공동으로 사용하는 데이터
데이터베이스 특성
- 실시간 접근성(Real-Time Accessibility) : 쿼리에 대하여 실시간 응답이 가능해야 함
- 계속적인 변화(Continuous Evolution) : 새로운 데이터의 삽입(Insert), 삭제(Delete), 갱신(Update)으로 항상 최신의 데이터를 유지함
- 동시 공용(Concurrent Sharing) : 여러 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야 함
- 내용 참조(Content Reference) : 데이터베이스에 있는 데이터를 참조할 때 데이터 레코드의 주소나 위치에 의해서가 아니라, 사용자가 요구하는 데이터 내용으로 데이터를 찾음
데이터베이스 종류
파일 시스템(File System) 개념
- 파일에 이름을 부여하고 저장이나 검색을 위하여 논리적으로 그것들을 어디에 위치시켜야 하는지 등을 정의한 뒤 관리하는 데이터베이스 전 단계의 데이터 관리 방식
파일 시스템 종류
- ISAM(Indexed Sequential Access Method) : 자료 내용은 주 저장부, 자료의 색인은 자료가 기록된 위치와 함께 색인부에 기록되는 시스템
- VSAM(Virtual Storage Access Method) : 대형 운영체제에서 사용되는 파일 관리시스템
관계형 데이터베이스 관리 시스템(RDBMS, Relational Database Management System)
- 관계형 모델을 기반으로 하는 가장 보편화된 데이터베이스 관리 시스템
- 데이터를 저장하는 테이블의 일부를 다른 테이블과 상하 관계로 표시하며 상관관계를 정리
- 변화하는 업무나 데이터 구조에 대한 유연성이 좋아 유지 관리가 용이
- 종류는 Oracle, SQL Server, MySQL, Maria DB 등이 있음
계층형 데이터베이스 관리 시스템(HDBMS, Hierarchical Database Management System)
- 데이터를 상하 종속적인 관계로 계층화하여 관리하는 데이터베이스
- 데이터에 대한 접근 속도가 빠르지만, 종속적인 구조로 인하여 변화하는 데이터 구조에 유연하게 대응하기가 쉽지 않음
- 종류는 IMS(Information Management System), System2000 등이 있음
네트워크 데이터베이스 관리 시스템(NDBMS, Netork Database Management System)
- 데이터의 구조를 네트워크상의 망상 형태로 표현한 데이터 모델
- 트리 구조나 계층형 데이터베이스보다는 유연하지만 설계가 복잡한 단점이 있음
- 종류는 IDS(Integrated Data Store), IDMS(Integrated Database Management System) 등이 있음
데이터베이스 관리 툴
- DB 관리자(DBA)들이 데이터베이스를 편리하고 쉽게 다룰 수 있도록 도와주는 도구
- 오픈 소스 기반으로, 무료로 사용할 수 있는 툴과 유료로 사용할 수 있는 툴이 존재
데이터베이스 관리 툴 기능
- 데이터베이스 생성, 삭제 : CREATE와 DROP 명령을 통해 데이터베이스의 생성 및 삭제 가능
- SQL 명령어 작성 및 실행 : SELECT, INSERT, DELETE, UPDATE 명령을 통해 데이터를 조회, 입력, 삭제, 수정이 가능
- 상태 모니터링 : 받은 데이터양, 보낸 데이터양, 동시 연결 수, 실패한 시도 등의 상태를 표시
- 사용자 계정 관리 : 최상위 레벨의 SYS 계정, SYS로부터 DBA 권한을 받은 SYSTEM 계정, 일반 사용자 계정 등의 관리가 가능
- 데이터베이스 내보내기/가져오기 : 데이터베이스 마법사를 통해 파일 형태로 데이터 내보내기/가져오기 가능
- 환경 설정 : 버퍼의 크기, 동시 접속 클라이언트 숫자, 스레드 숫자 등의 환경 변수 설정
DBMS
DBMS(Database Management System) 개념
- 데이터 관리의 복잡성을 해결하는 동시에 데이터 추가, 변경, 검색, 삭제 및 백업, 복구, 보안 등의 기능을 지원하는 소프트웨어
- 저장되는 정보는 텍스트, 이미지, 음악 파일, 지도 데이터 등 매우 다양하며, SNS의 발달과 빅데이터의 폭넓은 활용으로 인해 데이터의 종류와 양은 급격히 증가 중
DBMS 유형
키-값(Key-Value) Store DBMS
- 키 기반 Get / Put / Delete 연산 제공, 메모리 기반에서 성능 우선 시스템 및 빅데이터 처리 가능 DBMS
- 유일한(Unique) Key에 하나의 Value를 가지고 있는 형태
- 예를 들어, Redis, DynamoDB
컬럼 기반 데이터 저장(Column Family Data Store) DBMS
- Key 안에 (Column, value) 조합으로 된 여러 개의 필드를 갖는 DBMS
- 테이블 기반, 조인 미지원, 컬럼 기반으로 구글의 Bigtable 기반으로 구현
- 예를 들어, HBase, Cassandra
문서 저장(Document Store) DBMS
- 값(Value)의 데이터 타입이 문서(Document)라는 타입을 사용하는 DBMS
- 문서 타입은 XML, JSON과 같이 구조화된 데이터 타입으로, 복잡한 계층 구조 표현 가능
- 예를 들어, MongoDB, Couchbase
그래프(Graph) Store DBMS
- 시맨틱 웹(Semantic Web)과 온톨로지(Ontology) 분야에서 활용되는 그래프로 데이터를 표현하는 DBMS
- 노드와 엣지(Edge)로 특징되는 요소 처리에 특화
- 노드 간 관계를 구조화하여 저장
- 예를 들어, Neo4j, AllegroGraph
DBMS 특징
- 데이터 무결성 : 부적절한 자료가 입력되어 동일한 내용에 대하여 서로 다른 데이터가 저장되는 것을 허용하지 않는 성질
- 데이터 일관성 : 삽입, 삭제, 갱신, 생성 후에도 저장된 데이터가 변함없이 일정하게 유지되는 성질
- 데이터 회복성 : 장애가 발생하였을 시 특정 상태로 복귀되어야 하는 성질
- 데이터 보안성 : 불법적인 노출, 변경, 손실로부터 보호되어야 하는 성질
- 데이터 효율성 : 응답 시간, 저장 공간 활용 등이 최적화되어 사용자, 소프트웨어, 시스템 등의 요구 조건을 만족해야 하는 성질
상용 DBMS 및 오픈 소스 기반 DBMS
상용 DBMS
- 특정 회사에서 유료로 판매하는 시스템
- 유지보수와 지원이 원활
오픈 소스 기반 DBMS
- 오픈 소스 라이선스 정책을 준용하는 범위 내에서 사용이 자유로움
'정보처리 > 소프트웨어개발' 카테고리의 다른 글
통합 구현 연계 메커니즘 구성 (1) | 2025.04.19 |
---|---|
데이터 입출력 구현 데이터베이스 기초 활용하기 2/2 (0) | 2025.04.18 |
데이터 입출력 구현 물리 데이터 저장소 설계 (0) | 2025.04.16 |
데이터 입출력 구현 논리 데이터 저장소 확인 2/2 (0) | 2025.04.15 |
데이터 입출력 구현 논리 데이터 저장소 확인 1/2 (0) | 2025.04.14 |