본문 바로가기
빅데이터 분석기획

데이터베이스의 정의, 특징 및 설계 과정에 대하여

by 정보돌 2023. 5. 14.

데이터베이스의 정의, 특징과 데이터베이스 관리시스템의 세대별 발전과정, 데이터베이스 생성을 위한 설계과정 그리고 데이터웨어하우스에 대하여 알아보고자 한다.

데이터베이스 정의

  • 데이터베이스는 동시에 복수의 적용업무를 지원할 수 있도록 복수이용자의 요구에 대응해서 데이터를 받아들이고 저장, 공급하기 위하여 일정한 구조에 따라서 편성된 데이터의 집합, 관련된 레코드의 집합이다.
  • DBMS는 이용자가 데이터베이스를 구축하고 유지할 수 있도록 하는 소프트웨어로서 데이터베이스와 DBMS를 함께 데이터베이스 시스템이라고 한다.

데이터베이스의 특징

  • 통합된 데이터(Integrated Data) : 데이터베이스에서 동일한 내용의 데이터가 중복되어 있지 않다는 것을 의미한다.
  • 저장된 데이터(Stored Data) : 컴퓨터가 접근할 수 있는 저장매체에 저장되는 것을 의미한다.
  • 공용데이터(Shared Data) : 여러 사용자가 서로 다른 목적으로 데이터베이스의 데이터를 공동 이용한다.
  • 변화되는 데이터(Changed Data) : 새로운 데이터의 추가, 삭제, 갱신으로 항상 변화하면서도 항상 정확한 데이터를 유지해야 한다는 것을 의미한다.

데이터베이스 관리시스템의 발전과정

  1. 1세대 : 네트위크 DBMS, 계층 DBMS
    ▷ 복잡하고 변경이 어려움
  2. 2세대 : 관계(Relation) DBMS
    ▷ 테이블 형태의 데이터베이스 (오라클, 엑세스, MySQL)
  3. 3세대 : 
    ▷ 객체지향(Objected) DBMS : 객체지향 프로그래밍 개념과 원칙을 기반으로 데이터를 저장, 관리 및 검색하는 데이
         터베이스 관리 시스템이다

    ▷ 객체 관계형 모델(ORDBMS) : 객체지향 데이터베이스 모델을 가진 관계형 데이터베이스 관리 시스템을 말한다. 소
         프트웨어 개발자가 스스로 데이터 형과 메서드를 자유롭게 정의하여 데이터베이스를 개발할 수 있는 데이터베이스
         관리 시스템 이다
  4. 4세대 : NoSQL DBMS
    NoSQL 데이터베이스는 대량의 분산 데이터를 처리하고 확장성을 갖추는 데 특화되어 있으며, 유연한 데이터 모델을 제공하고 데이터 일관성을 보장하는데 다양한 방식을 사용하며, 특징은 다음과 같다.
    ▷ 
    스키마 유연성: NoSQL 데이터베이스는 동적인 스키마를 사용하며, 데이터의 구조를 자유롭게 변경할 수 있다
    ▷ 분산 아키텍처: NoSQL 데이터베이스는 데이터를 여러 서버에 분산하여 저장하고 처리할 수 있는 분산 아키텍처를
         가지고 있으며, 이를 통해 데이터베이스의 확장성과 가용성을 향상시킬 수 있다.
    ▷ 높은 성능: NoSQL 데이터베이스는 대량의 데이터를 빠르게 처리할 수 있는 기능을 제공한다.
    ▷ 다양한 모델: 주요한 NoSQL 데이터베이스 종류로는 키-값 저장소(Key-Value Store), 문서 데이터베이스
         (Document Database), 열 지향 데이터베이스(Columnar Database), 그래프 데이터베이스
         (Graph Database), 느슨한 컬렉션 데이터베이스(Wide-Column Store) 등이 있다.

데이터베이스 설계 과정

데이터베이스 설계는 사용자의 다양한 요구사항을 고려하여 데이터베이스를 생성하는 과정이다.

데이터베이스 설계 과정
[ 데이터베이스 설계 과정 ]

데이터베이스 언어 SQL

SQL(Structured Query Language)은 관계 데이터베이스를 위한 표준 질의러로 사용하는 언어이다.

SQL은 기능에 따라 데이터 정의어 (DDL), 데이터 조작어(DML), 데이터 제어어(DCL)로 구성된다.

  • 데이터 정의어(DDL) : 테이블 생성(Create), 변경(Alter), 제거(Drop)하는 기능 제공
  • 데이터 조작어(DML) : 데이터 검색(Select), 삽입(Insert), 수정(Update), 삭제(Delete) 기능 제공
  • 데이터 제어어(DCL) : 사용자 별 데이터 접근 권한, 사용권한을 부여, 취소 하는 기능 제공

데이터 웨어하우스 (DW, Data Warehouse)

데이터 웨어하우스 구조
[ 데이터 웨어하우스 구조 ]

업무 트랜젝션을 처리하는 데이터베이스 시스템에서 사용자들이 필요로 하는 정보를 추출, 가공된 데이터 형태로 구성되는 업무분석을 위한 데이터베이스이다.

 

데이터 웨어하우스는 데이터베이스에 저장되어 있는 데이터들을 보다 유익하고 효율적으로 활용할 수 있는가의 관점에서 개발되었다.

  1. 데이터베이스와 데이터 웨어하우스와의 비교
    ▷ 데이터베이스: OLTP(Online Transaction Processing) 데이터를 저장하는 자료저장소
    ▷ 데이터웨어하우스: OLAP(Online Analytical Processing) 데이터를 저장하는 자료저장소
  2. 데이터 웨어하우스와 데이터 마트와의 비교
    데이터웨어하우스
          방대한 양의 이력데이터를 가지고 있는 자료저장소
          데이터 웨어하우스의 변경은 시간 순서를 가지고 입력
          데이서 웨어하우스의 쿼리는 실시간 분석처리의 특성을 가짐 (OLAP)
     데이터 마트
          데이터 웨어하우스와 유사하지만 제한된 업무 도메인을 가짐
          데이터 특정유형, 특정 업무기능 또는 특정업무단위로 제한됨

  3. 데이터 웨어하우스 아키텍처
     데이터웨어하우스의 데이터는 주로(R-DBMS) 형태로 저장된다.
     데이터웨어하우스에 데이터가 입력되기 전에 중간단계의 데이터 저장소인 ODS에 별도로 저정할 수도 있다.
    ETL은 데이터웨어하우스, 운영 데이터 스토어 (ODS), 데이터 마트(DM)에 대한 데이터 적제작업의 핵심구성요소
         이다.
  4. 주요 구성 요소
    추출(Extraction) : 다양한 소스 시스템에서 데이터를 추출하는 단계이며, 원본 시스템에서 필요한 데이터를 선택하
        고 추출하는 과정이 수행된다.

    변환(Transformation) : 추출된 데이터를 목적에 맞게 가공하는 단계로, 이 단계에서는 데이터를 정제, 변환, 정규화
        하고 필요한 형식으로 변환하며, 데이터 품질을 검사하고 오류를 수정하여 데이터의 일관성과 정확성을 유지한다.

    적재(Loading) :변환된 데이터를 데이터 웨어하우스에 적재하는 단계로, 이 단계에서는 데이터를 웨어하우스에 저
        장하기 위한 적절한 구조와 형식으로 변환한다. 이때 데이터 적재는 일괄 처리 방식으로 수행될 수도 있고, 실시간
        으로 처리되는 경우도 있다.
    데이터 저장(Storage) : 전통적인 데이터 웨어하우스 아키텍처에서는 주로 관계형 데이터베이스를 사용하여 데이
        터를 저장하며, 데이터베이스는 차원 모델링(Dimensional Modeling)을 기반으로 설계되어 집계, 필터링, 그룹화 등
        다양한 분석 작업을 수행할 수 있습니다.
     데이터 관리(Management) : 데이터 관리는 데이터의  보안, 무결성 유지, 성능 최적화, 데이터 품질 관리 등을 포함
        한다.
     데이터 보안(Security) : 데이터 웨어하우스에 저장된 데이터는 기업의 중요한 자산이므로, 접근 제어, 데이터 암호
         화, 감사 추적 등의 보안 메커니즘을 사용하여 데이터의 기밀성과 무결성을 보장해야 한다.


  5. 데이터 웨어하우스 특징
     데이터 주체지향성
         의사결정에 필요한 주제와 관련된 데이터만 유지하는 주체 지향적인 특징을 가진다.
     데이터 통합성
         데이터의 일관성 유지를 위해 여러 데이터베이스에서 추출한 데이터를 통합하여 저장하는 특성을 가진다.
     데이터 시계열성
         데이터 간의 시간적 관계나 동향을 분석해 의사결정에 반영할 수 있다.
     데이터 비휘발성
         검색작업 만 수행되는 읽기전용의 데이터를 유지한다.

마치며

데이터베이스는 데이터를 구조화하고 관리하여 효율적인 데이터 접근과 공유를 가능하게 하며, 데이터 중복 최소화, 일관성 유지, 데이터 독립성, 동시성 제어, 데이터 보안 등의 특징을 가지며, 요구 분석, 개념적 설계, 논리적 설계, 물리적 설계 과정을 거쳐 설계된다.

 

댓글