고급 데이터베이스
분산 데이터베이스(Distributed Database)
- 분산 데이터베이스는 논리적으로 같은 시스템에 속하지만 물리적으로는 컴퓨터 네트워크를 통해 분산되어 있는 데이터베이스.
분산 데이터베이스 시스템의 구성 요소
- 분산 처리기 : 자체적으로 처리 능력을 가지며 지리적으로 분산되어 있는 컴퓨터 시스템을 말한다.
- 분산 데이터베이스 : 지리적으로 분산되어 있는 데이터베이스로서 해당 지역의 특성에 맞게 데이터베이스가 구성된다.
- 통신 네트워크 : 분산 처리기들을 통신망으로 연결하여 논리적으로 하나의 시스템처럼 동작할 수 있도록 하는 네트워크
분산 데이터베이스의 목표
- 위치 투명성(Location Transparency) : 접근하려는 데이터베이스의 실제 위치를 알 필요 없이 단지 데이터베이스의 논리적인 명칭만으로 접근할 수 있다.
- 중복 투명성(Replication Transparency) : 동일한 데이터가 여러 곳에 중복되어 있더라도 사용자는 마치 하나의 데이터만 존재하는 것처럼 사용할 수 있고, 시스템은 자동으로 여러 데이터에 대한 작업을 수행한다.
- 병행 투명성(Concurrency Transparency) : 분산 데이터베이스와 관련된 다수의 트랜잭션들이 동시에 실행되더라도 그 트랜잭션들의 수행 결과는 서로 영향을 받지 않는다.
- 장애 투명성(Failure Transparency) : 트랜잭션, 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 |