본문 바로가기
정보처리기사 실기/데이터베이스

SQL - 고급 데이터베이스

by 밍구몬 2018. 9. 12.

고급 데이터베이스

 

분산 데이터베이스(Distributed Database)

 

  • 분산 데이터베이스는 논리적으로 같은 시스템에 속하지만 물리적으로는 컴퓨터 네트워크를 통해 분산되어 있는 데이터베이스.

 

분산 데이터베이스 시스템의 구성 요소

  • 분산 처리기 : 자체적으로 처리 능력을 가지며 지리적으로 분산되어 있는 컴퓨터 시스템을 말한다.
  • 분산 데이터베이스 : 지리적으로 분산되어 있는 데이터베이스로서 해당 지역의 특성에 맞게 데이터베이스가 구성된다.
  • 통신 네트워크 : 분산 처리기들을 통신망으로 연결하여 논리적으로 하나의 시스템처럼 동작할 있도록 하는 네트워크

 

분산 데이터베이스의 목표

  • 위치 투명성(Location Transparency) : 접근하려는 데이터베이스의 실제 위치를 필요 없이 단지 데이터베이스의 논리적인 명칭만으로 접근할 있다.
  • 중복 투명성(Replication Transparency) : 동일한 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용할 있고, 시스템은 자동으로 여러 데이터에 대한 작업을 수행한다.
  • 병행 투명성(Concurrency Transparency) : 분산 데이터베이스와 관련된 다수의 트랜잭션들이 동시에 실행되더라도 트랜잭션들의 수행 결과는 서로 영향을 받지 않는다.
  • 장애 투명성(Failure Transparency) : 트랜잭션, DBMS, 네트워크, 컴퓨터 장애에도 불구하고 트랜잭션은 정확하게 수행된다.

 

분산 데이터베이스의 ,단점

장점

단점

      • 지역 자치성이 높다.
      • 데이터의 공유성이 향상된다.
      • 분산 제어가 가능하다.
      • 시스템 성능이 향상된다.
      • 효율성 융통성이 높다.
      • 신뢰성 가용성이 높다.
      • 점증적 시스템 용량 확장이 용이하다.

 

    • DBMS 수행할 기능이 복잡하다.
    • 데이터베이스 설계가 어렵다.
    • 소프트웨어 개발 비용이 증가한다.
    • 처리 비용이 증가한다.
    • 잠재적 오류가 증가한다.

 

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

 

  • 데이터 웨어하우스는 급증하는 다량의 데이터를 효과적으로 분석하여 정보화하고 이를 여러 계층의 사용자들이 효율적으로 사용할 있도록 데이터베이스이다.
  • 데이터 웨어하우스가 등장하게 동기는 전사적인 데이터 통합을 통한 정보의 효율적인 분석이 필요하게 되었고, 신속 정확한 의사결정으로 경쟁력을 확보하기 위하여 의사결정용 데이터베이스의 필요성이 대두되었기 때문이다.
  • 데이터 웨어하우스에는 다양한 원본 데이터베이스로부터 정제되어 추출된 데이터만을 저장하고 필요한 인덱스를 생성한다. 이후, 데이터의 다차원 분석 도구로 데이터 웨어하우스를 분석하여 효율적인 의사결정에 필요한 자료를 얻는다.

 

장점

단점

    • 높은 투자 수익률을 얻을 있다.
    • 타사에 비하여 경쟁우위를 획득할 있다.
    • 의사 결정자의 생산성을 향상시킬 있다.
    • 기존 시스템과 명확한 역할 설정을 하지 못하면 업무의 혼란을 초래할 있다.
    • 추출 기준에 맞지 않는 데이터의 입력, 갱신, 삭제가 발생하면 불일치 문제가 발생할 있다.
    • 의사결정을 위한 충분한 데이터가 확보되지 않으면 정확한 결과를 도출할 없다.
    • 과다한 자원을 사용하게 되고 유지 보수가 어렵다.

 

데이터 마트(Data Mart)

 

  • 데이터 마트는 전사적으로 구축된 데이터 웨어하우스로부터 특정 주제나 부서 중심으로 구축된 소규모 단일 주제의 데이터 웨어하우스를 말한다.
  • 특정 부서의 의사 결정 지원을 목저으로 하는 부서별 또는 업무 기능별로 구축되는 데이터 웨어하우스로서, 일반적으로 기업 내에 복수개의 데이터 마트가 존재한다.
  • 전사적 통합성을 염두에 두고 데이터 마트가 데이터 웨어하우스보다 먼저 구축될 수도 있다.
  • 데이터 마트의 특징
    • 전사적 데이터 웨어하우스의 데이터를 분석 요건에 적합한 구조로 재구성함
    • 추세, 패턴 분석 데이터 접근이 용이한 요약 데이터로 구성되며, 필요시 일부 상세 데이터 포함.
    • 분석에 필요한 이력 데이터만을 포함하는 제한된 규모의 데이터
    • 다양한 질의나 요구를 충족하는 유연성과 접근성이 뛰어난 다차원 구조의 데이터

 

데이터 마이닝(Data Mining)

  • 데이터 웨어하우스에 저장된 데이터 집합에서 사용자의 요구에 따라 유용하고 가능성 있는 정보를 발견하기 위한 기법.

 

데이터 마이닝 기법

  • 연관(Association) : 대용량의 트랜잭션 데이터로부터 "A이면 B이다" 형식의 연관 관계를 발견하기 위한 방법
  • 연속(Sequence) : 개인별 트랜잭션 이력 데이터를 시계열적으로 분석하여 트랜잭션의 향후 발생 가능성을 예측하는 방법.
  • 분류(Classification) : 다른 그룹과의 차별적인 특성을 도출하기 위한 방법.
  • 클러스터링(Clustering, 군집화) : 상호 간에 유사한 특성을 갖는 데이터들을 집단화하는 방법.
  • 패턴 분석(Pattern Analysis) : 뎅터베이스 내의 명시된 패턴을 찾는 방법.
  • 경향 분석(Trend Analysis) : 시계열 데이터들이 시간 축으로 변화하는 전개 과정을 특성화하여 동적으로 변화하는 데이터를 분석하는 방법.

 

OLAP(Open Analytical Processing)

 

  • 다차원으로 이루어진 데이터로부터 통계적인 요약정보를 분석하여 의사결정에 활용하는 방식.
  • OLAP 시스템은 데이터 웨어하우스나 데이터 마트와 같은 시스템과 상호 연관되는 정보 시스템이다.
  • 데이터 웨어하우스가 데이터를 저장하고 관리한다면 OLAP 데이터 웨어하우스의 데이터를 전략적인 정보로 변환시키는 역할을 한다.
  • 중간 매개체 없이 이용자들이 직접 컴퓨터를 이용하여 데이터에 접근하는 있어 필수적인 시스템이라 있다.
  • OLAP 연산
    • Roll-UP : 분석할 항목에 대해 차원의 계층 구조를 따라 단계적으로 구체적인 내용의 상세 데이터로부터 요약된 형태의 데이터로 접근하는 기능
    • Drill-down : 분석할 항목에 대해 차원의 계층 구조를 따라 단계적으로 요약된 형태의 데이터로부터 구체적인 내용의 상세 데이터로 접근하는 기능
    • Drill-Through : 데이터 웨어하우스나 OLTP 존재하는 상세 데이터에 접근하는 기능
    • Drill-across : 다른 데이터 큐브의 데이터에 접근하는 기능
    • Pivoting : 보고서의 , , 페이지 차원을 바꾸어 있는 기능
    • Slicing : 다차원 데이터 항목들을 다양한 각도에서 조회하고 자유롭게 비교하는 기능
    • Dicing : Slicing 세분화하는 기능
  • OLAP 종류
    • ORLAP(Reational-OLAP) : 관계형 데이터베이스와 관계형 질의어를 사용하여 다차원 데이터를 저장하고 분석.
    • MOLAP(Multi-dimension OLAP) : 다파원 데이터를 저장하기 위해 특수한 구조의 다차원 데이터베이스를 사용하고 데이터 검색 속도를 향상 시키기 위해 큐브 캐시라고 하는 주기억장치 속에 데이터큐브를 보관함.
    • HOLAO(Hybrid OLAP) : ROLAP MOLAP 특성을 모두 가지고 있으며, 빠른 검색이 필요한 경우에는 요약을 메모리에 저장하고 기본 데이터나 다른 요약들은 관계형 데이터베이스에 저장함.

 

OLTP(Online Transaction Processing)

 

  • 온라인 업무 처리 형태의 하나로 네트워크상의 여러 이용자가 실시간으로 데이터베이스의 데이터를 갱신하거나 검색하는 등의 단위 작업을 처리하는 방식.
  • 여기서 단위 작업은 트랜잭션을 의미하며 데이터 무결성을 위해 트랜잭션은 전체가 완전히 행해지든가, 아니면 전혀 행해지지 않든지 하나가 되도록 처리되어야 한다.
  • OLTP 시스템은 일반적으로 빠른 응답 시간을 요구하며, 개개의 레코드를 효율적으로 조회하고 수정할 있도록 정규화 되어 있다.

 

 

OLAP OLTP비교

구분

OLTP

OLAP

데이터의 구조

복잡(운영시스템 계산에 적합)

단순(사업 분석에 적합)

데이터의 갱신

순간적/동적

주기적/정적

응답 시간

2, 3 ~ 이내

~ 분까지도 가능

데이터의 범위

과거 30 ~90

과거 5 ~ 10

데이터 성격

정규/핵심 업무 데이터, 변경 어려움

비정규/읽기 전용 데이터, 변경 용이

데이터의 크기

Giga Byte

Tera Byte

데이터의 내용

상세 데이터

기록 보관된 요약/계산 데이터

데이터 특성

트랜잭션 중심, 중복 배제

주제 중심,중복 수용

데이터 액세스 빈도

높음

보통 혹은 낮음

데이터의 사용법

고도로 구조화된 연속 처리

고도로 비구조화된 분석 처리

쿼리의 성격

예언 가능, 주기적

예측하기 어려움, 특수함

 

ODBC(Opem DataBase Connectivity)

 

  • 프로그램과 데이터베이스의 종류에 관게없이 자유롭게 데이터베이스에 접근하여 사용할 있도록 Microsoft사가 만든 응용 프로그램의 표준 인터페이스이다.
  • 데이터베이스에 따른 차이는 ODBC드라이버에 흡수되기 때문에 사용자는 데이터베이스 종류를 의식하지 않고 ODBC 기준에 맞게 응용 프로그램을 작성하기만 하면 된다.
  • ODBC 사용하면 여러 종류의 데이터베이스를 함께 사용할 있으며, 기존에 사용하던 데이터베이스를 교체하더라도 응용 프로그램을 그대로 사용 있어 비용이 절감된다.
  • ODBC 구조

 

  • Application : 데이터베이스에 접속할 ODBC API 사용
  • Driver Manager : Application ODBC Driver 간의 통신을 관리하는 라이브러리로서 DSN에서 정의된 형태로 특정 데이터베이스에 접속할 필요한 드라이버를 로딩하거나 언로딩함.
  • DSN(Domain Service Name) : 서버에 연결할 필요한 드라이버와 데이터베이스 정보를 저장함.
  • ODBC Driver : ODBC API 지원하는 함수를 구현하는 라이브러리
  • 데이터베이스 : ODBC Driver에서 요청한 SQL 대한 결과를 반환함.

'정보처리기사 실기 > 데이터베이스' 카테고리의 다른 글

SQL - 튜닝  (0) 2018.09.12
SQL - 병행제어  (0) 2018.09.12
SQL - 트랜잭션  (0) 2018.09.12
SQL - 정규화  (0) 2018.09.12
SQL - 함수적 종속  (0) 2018.09.12