반응형

Ⅰ. 데이터베이스 튜닝의 개념과 목적

가. 데이터베이스 튜닝의 개념

데이터 베이스 응용 프로그램, 데이터베이스, 운영체제를 조정해서 한정된 자원에서 최적의 성능을 이끌어내기 위한 작업

 

나. 데이터베이스 튜닝의 목적

목적 설명
처리 능력 향상 시간별 트랜잭션 처리량 증가
처리 시간 단축 작업완료 소요 시간 단축
응답 시간 단축 사용자 요청부터 시스템 응답까지 시간 단축
로드 시간 단축 데이터베이스 로드 시간 단축

 

Ⅱ. 데이터베이스 설계 단계 튜닝 기법

가. 데이터베이스 튜닝 단계

1단계
DB 설계 튜닝 (모델링 관점)

- 반정규화
- 분산 파일 배치
2단계
DBMS 튜닝 (환경 관점)

- Buffer 크기
- Cache 크기
3단계
SQL 튜닝 (APP 관점

- Hash
- Join

 

나. 설계 단계 튜닝 기법 상세 설명

구분 기법 설명
데이터베이스 - 실체뷰, 스냅샷
- 반정규화
- 분산 데이터베이스 원격 접근 성능저하 극복
테이블 - 정규화/반정규화
- 파티셔닝
- 대용량 단일 테이블 분할
- 파일 분산 배치
인덱스 - B트리, 비트맵, 해싱, 클러스터링 - 테이블 접근 유형에 따른 Full scan, Index scan
- 식별자 지정
- 키 설정
- 데이터 검색, 수정 및 조인 성능향상
데이터 타입 - 적절한 데이터 타입 선정 - 조인 데이터 타입 동일
- Where 비교 타입 일치

 

Ⅲ. 힌트(Hint)의 유형

구분 힌트 설명
최적화 접근 ALL_ROWS - 전체 리소스를 최소화하는 비용 기반 실행
FIRST_ROWS - 첫 번째 행을 가장 빨리 반환하는 접근 방법으로 실행
접근 방법 FULL - 지정 테이블에 대한 전체 스캔 실행
ROWID - 지정 테이블에 대해 rowid 이용 실행
HASH - 지정 테이블에 대해 해시 스캔 수행
INDEX - 지정 테이블에 대해 인덱스 이용 실행
조인 순서 ORDERED - FROM 절에 기술한 테이블 순서대로 실행
STAR - STAR QUERY 방식으로 실행, 최소 3개 이상 테이블
조인 방법 USE_MERGE - 각 테이블 정렬 후 순서대로 비교 SortMerge Join
USE_HASH - 기준 테이블 이용 다른 테이블 Hash Join
병행 수행 PARALLEL - 병렬 처리 활용하여 실행
부가 힌트 CACHE - 최근 이용 데이터 캐시 보관하여 디스크 I/O 감소

- 사용자가 힌트를 활용해 직접 최적의 실행 경로를 작성해 성능 향상

 

Ⅳ. 데이터베이스 성능 개선을 위한 전략

Server 튜닝

- 투자 비용 과다
- 비용 대비 효과 미비
Network 튜닝

- 투자 비용 필요
- 튜닝 한계 존재
System 튜닝

- 초기 설계 단계부터 검터
- HW, OS 종속적
- DBA 전문 지식 필요
SQL 튜닝

- 투비 대비 고효율
- DB 성능 극대화 가능
- 튜닝 전문 지식 요구

- 목표 성능과 가용 자산을 고려해 투자 대비 고효율의 튜닝 전략 수립 필요

반응형

'IT 기술 > DB' 카테고리의 다른 글

ISO 8000 (Data Quality)  (0) 2024.10.03
데이터 거래소  (2) 2024.10.03
데이터 메시  (0) 2024.10.02
데이터 품질 관리  (2) 2024.10.02
데이터베이스 샤딩  (1) 2024.10.02
반응형

Ⅰ. 데이터 품질 국제 표준, ISO 8000

가. ISO 8000 정의 및 특징

구분 설명
정의 - 기업, 조직에서 생산되는 데이터 라이프 사이클 과정에서 데이터 품질 요구사항을 명세한 국제 표준
특징 - 마스터 데이터 명세 - 데이터 교환, 구문, 의미, 명세 적합성에 대한 상세 정의
- 관리 프레임워크 정의 - 품질 관리에 대한 9 Box Matrix 모델 기반 활동 제시

 

나. ISO 8000 구성도 및 구성요소

구분 상세 설명
구성도
구성요소 ISO 8000 - 1 ISO 8000 시리즈에 대한 전반적인 개요
ISO 8000 - 2 ISO 8000 시리즈에 대한 표준 사용 용어, 원칙 소개
ISO 8000 - 8 정보 및 데이터 품질 관리 개념 및 측정, 시험 방법
ISO 8000 - 51 데이터 거버넌스, 데이터 관리 정책
ISO 8000 - 60 데이터 품질 관리에 대한 전반적인 개요
ISO 8000 - 61 데이터 품질 관리 프로세스 측면의 참조 모델
ISO 8000 - 100 기업, 조직에서 관리하는 마스터 데이터의 개요
ISO 8000 - 150 마스터 데이터 품질 관리 프레임워크 및 절차

 

반응형

'IT 기술 > DB' 카테고리의 다른 글

데이터베이스 튜닝 (Tuning)  (2) 2024.10.03
데이터 거래소  (2) 2024.10.03
데이터 메시  (0) 2024.10.02
데이터 품질 관리  (2) 2024.10.02
데이터베이스 샤딩  (1) 2024.10.02
반응형

Ⅰ. 가공된 데이터를 거래하는 데이터 거래소의 개요

가. 데이터 거래소의 정의

- 기업, 공공기관, 정부에서 확보한 데이터를 가공해 부가가치를 높여 필요한 소비자에게 공급하는 플랫폼

 

나. 데이터 거래소의 제안배경

데이터 유출 데이터 유출은 데이터 필요 수요가 있다는 반증
표준 품질 보증 다양한 형태의 데이터에 대해 품질 표준화
데이터 통합 분석 산재된 데이터를 수집, 저장하여 통합 플랫폼에서 분석, 활용
효율적 데이터 유통 빅데이터 산업 활성화를 위한 유통 창구 역할 필요
새로운 경제 창출 신개념 사업 창조로 고용창출 등 촉매제 역할

 

 

Ⅱ. 데이터 거래소 개념도 및 구성요소

가. 데이터 거래소 개념도

 

나. 데이터 거래소 구성요소

구성요소 설명 특징
빅데이터 플랫폼 정형, 비정형 데이터 처리 및 분석 지원 표준 플랫폼
검색엔진 이용자가 필요로하는 데이터 신속 정확하게 검색 성능, 확장성
연계 인터페이스 사용자 요청 파악하고 다수의 데이터 센터와 연계해 등록된 데이터 제공 사용자 맞춤형 정보 제공
정상 플랫폼 거래 정보, 재산권, 개인정보와 관련된 정보 관리 구축 선행조건

 

Ⅲ. 데이터 거래소의 유형

유형 설명 예시
맞춤형 (Tail-made) 고객이 원하는 데이터를 분석가가 재단하여 제공 - Data.com
- Kaggle.com
철물점형 (Do It Yourself) 고객이 원하는 데이터를 가공하고 분석하는 방식 - MS Azure Data Marketplace
- EBS 클립뱅크
식료품점형 (Grocery) 고객이 데이터 분석 가능하다는 전제, 데이터만 판매 - DataMarket.com
- DBStore.or.kr
금용거래소형 데이터를 가공하고 분석하여 부가가치 높여 판매 - 한국 글로벌 데이터 거래소

 

반응형

'IT 기술 > DB' 카테고리의 다른 글

데이터베이스 튜닝 (Tuning)  (2) 2024.10.03
ISO 8000 (Data Quality)  (0) 2024.10.03
데이터 메시  (0) 2024.10.02
데이터 품질 관리  (2) 2024.10.02
데이터베이스 샤딩  (1) 2024.10.02
반응형

Ⅰ. 데이터 메시의 개요

가. 데이터 메시의 정의 및 필요성

정의: 데이터 파이프라인을 활용하여 여러 도메인의 데이터를 탈중앙화하여 관리하는 데이터 아키텍처

 

나. 데이터 메시의 4원칙

원칙 설명
도메인 지향 분산 데이터 소유권 및 아키텍처
(Domain Ownership)
- 데이터 생성과 확장, 사용자 증가, 데이터 접근 정책의 다양성에 대응
제품으로서의 데이터
(Data as a Product)
- 데이터를 쉽게 검색하고 품질이 보장된 데이터를 사용하여 생산성 향상
셀프 서비스 데이터 인프라 플랫폼
(Self-serve data platform)
- 도메인별 자율적 제품 개발 구축, 실행 및 운영
연합 컴퓨팅 거버넌스
(Federated computational governance)

- 데이터 사용자가 상호 운용을 위한 표준을 따르는 생태계 운영

 

Ⅱ. 데이터 메시 핵심 구성 요소 및 주요 기술

가. 데이터 메시 핵심 구성 요소

구성 요소 설명
도메인 - 자체 데이터 소유 관리하는 독립적 비즈니스 단위
데이터 제품 - 도메인에서 생산된 데이터의 최종 결과물
데이터 인프라 - 도메인 내에서 데이터를 관리하는데 필요한 도구와 기술
데이터 거버넌스 - 각 도메인의 데이터 품질, 보안 관리
메시 API - 다른 도메인과 데이터 제품을 사용할 수 있게 정의된 인터페이스

 

나. 데이터 메시 주요 기술

주요 기술 설명 솔류션
데이터 카탈로그
(Data Catalog)
다양한 유형의 데이터를 목록화해 필요한 정보 빠르게 검색 - Data Catalog (Azure)
- Glue (AWS)
- Dataplex (Google)
쿼리 페더레이션
(Query Federation)
서로 다른 종류의 데이터들을 하나의 쿼리로 함께 조회 - BigQuery (Google)
- Lakehouse Federation (Databricks)
데이터 스트리밍
(Data Streaming)
데이터 구조 및 값 변경 이벤트를 실시간으로 공유 - Kafka (Apache)
- Dataflow (Google)
- Kinesis (Amazon)
IaC
(Infrastructure as Code)
인프라를 코드로 관리, 템플릿화하여 인프라 구성 자동화 - CloudFormation (Amazon)
- Ansible (Red Hat)
생성형 AI
(Generative AI)
효율적인 메타데이터 관리를 위해 생성형 AI 활용 - LLM
- GAN
- VAE

 

Ⅲ. 데이터 메시 적용 시 고려사항

- 기술보다는 조직 관점의 접근: 데이터 소유권 가진 도메인에 대한 역할과 책임 명확하게 정의 필요

- 기술 지원 조직 필요: 도메인팀의 부족한 데이터 처리 기술을 지원할 메시 전담 기술지원팀 필요

- 단계적 적용: 작은 도메인부터 단계별로 적용하며 보완 및 확장

반응형

'IT 기술 > DB' 카테고리의 다른 글

ISO 8000 (Data Quality)  (0) 2024.10.03
데이터 거래소  (2) 2024.10.03
데이터 품질 관리  (2) 2024.10.02
데이터베이스 샤딩  (1) 2024.10.02
데이터 클렌징(Cleansing), 프로파일링(Profiling)  (0) 2024.10.02
반응형

Ⅰ. 데이터 품질관리 정의 및아키텍처

가. 데이터 품질관리 정의

- 기관이나 조직 내외부의 정보시스템 및 DB 사용자의 기대 만족을 위해 지속적으로 데이터를 관리하는 활동

 

나. 데이터 품질관리 아키텍처

구성요소 특징 및 설명
데이터 - 기업의 목적 달성을 위해 사용되는 전산화된 데이터
데이터 구조 - 데이터가 저장되는 틀
- 데이터 취급하는 관점에 따라 구조 변경
- 사용자 뷰, 모델, 데이터베이스 파일 형태
데이터
관리 프로세스
- 데이터 및 데이터 구조의 품질을 유지 및 개선하기 위한 활동

- 데이터 품질 관리 체계적 접근을 위해 성숙도 모델 활용

 

Ⅱ. 데이터 품질관리 성숙도 모델

가. 데이터 품질관리 성숙도 모델 구성요소

구성요소 설명
데이터 품질 기준 - 데이터 품질에 대한 정의
품질관리 프로세스 - 데이터 품질기준을 향상시키기 위해 필요한 프로세스
- 품질 기준에 영향을 주는 요소 관리하는 프로세스
품질관리 성숙수준 - 도임, 정형화, 통합화, 정량화, 최적화 5단계로 정의

 

나. 데이터 품질관리 성숙도수준 단계 세부 설명

 

Ⅲ. 정형 데이터 및 비정형 데이터 품질 기준

가. 정형 데이터의 품질기준

유형 정의
완전성 - 필수항목 누락 없어야 함
유일성 - 데이터 항목은 유일하며 중복되면 안됨
유효성 - 데이터 항목은 정해진 유효범위 및 도메인을 충족
일관성 - 데이터 구조, 값, 표현 형태가 일관되게 정의되고 일치
정확성 - 실세계 객체의 표현 값이 정확히 반영

 

나. 비정형 데이터의 품질기준

유형 정의
기능성 - 특정 조건에서 사용시 명시된 요구 만족하는 기능 제공
신뢰성 - 규정된 조건에서 사용될 때 규정된 신뢰수준을 유지
사용성 - 규정된 조건에서 사용될 때 사용자에 의해 이해되고 쉽게 사용
효율성 - 규정된 조건에서 사용될 때 요구된 성능을 제공
이식성 - 다양한 환경과 상황에서 실행될 수 있는 가능성

 

Ⅳ. 데이터 품질관리 전략

가. 데이터 품질관리 체계

 

나. 데이터 품질관리 상세 전략

구분 고려사항 설명
데이터
거버넌스
데이터 품질 관리 원칙 / 정책 - 전사 데이터 품질 관리를 위한 원칙 수립 및 정책 마련
조직 및 인력 - CDO, Data Owner, DA, DBA 포함 데이터 품질 관리 조직 정의
품질관리 프로세스 - 데이터 품질관리 업무 세부 프로세스 정의
데이터
품질 측정
체계 수립
데이터 품질 지표 (DQI) - 정확성, 일관성, 유용성, 접근성, 보안성 등 품질 지표 정의
데이터 품질관리 대상 (CTQ) - 품질관리 대상 시스템, 업무, 데이터 범위 선정
데이터 품질 측정 상세 규칙 정의 - DQI 세부 측정 기준 정의
데이터
품질관리
인프라
DQM - 품질평가, 표준화 수행 DQ 솔루션 선정
Meta - 품질 측정 기준 및 DQ 솔루션 품질 측정 결과 메타데이터 관리

- DQM3 기반 데이터 품질 관리 성숙도 검토 및 지속적 체계 개선 필요

반응형

'IT 기술 > DB' 카테고리의 다른 글

데이터 거래소  (2) 2024.10.03
데이터 메시  (0) 2024.10.02
데이터베이스 샤딩  (1) 2024.10.02
데이터 클렌징(Cleansing), 프로파일링(Profiling)  (0) 2024.10.02
분산 데이터베이스 투명성  (0) 2024.10.02
반응형

Ⅰ. 대용량 처리를 위한 데이터베이스 파티셔닝, Sharding의 개요

정의 물리적으로 다른 데이터베이스에 Shard 파티션 생성하여 데이터를 분할하여 저장 관리
특징 성능 개선 큰 데이터를 분산 저장하여 개별 테이블은 각 샤드에서 더 빠른 작업 지원
신뢰성 개선 한 샤드가 실패하더라도 다른 샤드가 데이터 서비스 제공
위치 추상화 애플리케이션 서버에서 데이터가 어떤 데이터베이스에 위치한지 알 필요 없음

 

Ⅱ. 샤딩 데이터베이스 분할 방법 및 가이드라인

가. 샤딩 데이터베이스 분할 방법

방법 설명 특징
Modular Sharding PK를 모듈러 연산한 결과로 DB를 라우팅하는 방식 - 데이터가 균일하게 분산
- DB 추가 증설시 기존 데이터 재정렬
Range Sharding PK의 범위를 기준으로 DB를 특정하는 방식 - 증실시 재정렬 비용 없음
- 데이터가 불균등하게 분산(일부 쏠림)
Directory Based Sharding 별도의 조회 테이블을 사용하여 샤딩하는 방식 - 샤드 동적 추가 용이
- 쿼리시 조회 테이블 참조로 오버헤드

 

나. 샤딩 데이터베이스 적용 가이드라인

구분 가이드라인 내용
DB 설계
가이드라인
데이터 재분배 서비스 정지 없이 스케일업 가능해야 함
조인 샤딩 - 데이터베이스 간 조인 불가능으로 역정규화 고려 필요
파티션 샤드 해쉬 함수 설계 중요
데이터 작게 테이블의 단위를 가능한 작게 만들어야 함
응용 설계
가이드라인
트랜잭션 글로벌 트랜잭션 사용시 샤드 DB간 트랜잭션 가능
Global Unique Key DBMS auto-increment 사용시 key 중복 문제로 어플리케이션 레벨에서 생성 필요

 

Ⅲ. 샤딩과 파티셔닝 비교

구분 파티셔닝 샤딩
개념 하나의 데이터베이스 서버에 큰 데이터를 여러 테이블로 분산 저장 여러 데이터베이스 서버에 데이터를 분산 저장
종류 리스트 파티셔닝, 레인지 파티셔닝, 해시 파티셔닝 모듈러 샤딩, 레인지 샤딩, 디렉토리 샤딩
서버 단일 DBMS 다중 DBMS
확장 형태 수직, 수평 확장 수평 확장
구현 데이터베이스 레벨 애플리케이션 레벨
조인 테이블 분산으로 조인 쉬움 여러 샤드에 걸친 조인 어려움

 

반응형

'IT 기술 > DB' 카테고리의 다른 글

데이터 메시  (0) 2024.10.02
데이터 품질 관리  (2) 2024.10.02
데이터 클렌징(Cleansing), 프로파일링(Profiling)  (0) 2024.10.02
분산 데이터베이스 투명성  (0) 2024.10.02
DBMS 병행 제어  (0) 2024.10.01
반응형

Ⅰ. 데이터 품질 확보, 데이터 클렌징

가. 데이터 클렌징의 정의 및 프로세스

정의 데이터베이스, 테이블, 레코드에서 손상된 정보를 식별하여 교체, 삭제 또는 수정하는 프로세스
프로세스 1. 데이터베이스 대상 정의 클렌징 대상 데이터베이스 범위 정의
2. Dirty Data 원인 파악 데이터 결측치 및 이상치 식별
3. 데이터 품질 문제 우선순위 클렌징 우선순위 결정
4. Bad Data의 데이터베이스 유입 차단 이상 데이터 입력 원인 식별 후 새로운 규칙 생성
5. 데이터베이스에서 Bad Data 제거 데이터베이스 내부 결측치 및 이상치 제거

 

나. 데이터 클렌징 기법

기법 설명
데이터변환 코드체계 변환 다양항 현태의 코드 값을 단일 형태로 변환
형식 재구성 다양한 형식의 데이터 값을 단일 형식으로 전환
수학적 변환 다양항 형식의 단위 값을 단일 단위 값으로 변환
데이터 파싱 데이터 정제 규칙 적용위해 유의미한 최소 단위로 분할
데이터 보강 변화, 파싱 등을 통해 추가 정보 반영하는 작업

 

Ⅱ. 데이터 관계 발견, 데이터 프로파일링

가. 데이터 프로파일링 정의 및 프로세스

 
정의 데이터 품질 향상을 위해 데이터 현황 분석을 위한 자료 수집과 잠재적 이슈를 찾아내는 방법
프로세스 1. 기준 정보 수집 테이블 정의서, 컬럼 정의서 등 관련 문서 수집
2. 메타정보 추출 진단 대상 데이터베이스의 테이블, 컬럼 정보 추출
3. 도메인 정의 메타정보를 통한 도메인 정의 및 분류
4. 진단방법 선정 도메인 분류 및 기준정보를 통한 프로파일링 대상 선정
5. 프로파일링 실시 프로파일링 대상 선정에 따른 진단 실시

 

나. 데이터 프로파일링 기법

기법 설명
메타데이터 수집 및 분석 데이터베이스의 테이블, 컬럼, 제약조건 등 정보 분석
컬럼 속성 분석 대상 컬럼의 비유효한 값을 확인하는 절차
결측치 분석 반드시 입력되어야 하는데 누락이 발생한 컬럼 확인
값 허용범위 분석 컬럼의 속성 값이 가져야 할 범위 내에 해당 값이 속하는지 확인
문자열 패턴 분석 해당 컬럼의 문자열 유형을 따르지 않는 오류 유형 발견
반응형

'IT 기술 > DB' 카테고리의 다른 글

데이터 품질 관리  (2) 2024.10.02
데이터베이스 샤딩  (1) 2024.10.02
분산 데이터베이스 투명성  (0) 2024.10.02
DBMS 병행 제어  (0) 2024.10.01
앙상블 기법  (0) 2024.10.01
반응형

 

Ⅰ. 다중 DBMS 통합 관리 시스템, 분산 데이터베이스

정의 물리적으로 분산된 여러 지역 DBMS를 하나의 논리적인 데이터베이스로 관리하는 데이터베이스 관리 시스템

 

Ⅱ. 분산 데이터베이스의 투명성(Transparency)

특성 설명 특징
분할 투명성 하나의 논리적 관계가 분할되어 여러 사이트에 저장 - Bottle neck 방지
- 시스템 성능 향상
- 설계 복잡
위치 투명성 데이터 저장 위치 명시 불필요, System Catalog에 유지 - 어플리케이션 단순화
- 이중처리로 속도 저하
지역사상 투명성 지역  DBMS와 물리적 DB 매핑 보장 - 지역 자치성 향상
- 점진적 시스템 용량 확장
중복 투명성 DB 객체가 여러 사이트에 중복 저장에 대해 알 필요 없음 - 시스템 구현 복잡
장애 투명성 장애에 무관한 트랜잭션의 원자성 유지 - 장애처리 구현 단순
- 장애원인규명 복잡
병행 투명성 트랜잭션 병행 수행 시 결과의 일관성 유지 - 자원사용 극대화
- 복잡한 Locking

 

Ⅲ. 분산 데이터베이스 대표 기술

기술 개념도 설명
클러스터링
데이터베이스 서버를 여러개로 만들어 서버 장애시 대기중인 서버가 작업 수행
레플리케이션
저장된 데이터 손실 방지를 위해 데이터베이스 스토리지도 서버와 함께 여러개로 관리
샤딩
- 테이블을 나누어 저장하여 데이터 검색 성능 향상

- 해시 샤딩, 다이나믹 샤딩, 엔티티 그룹 샤딩

- 시스템 성능 향상, 신뢰성 보장하지만 설계가 어렵고 비용이 증가

반응형

'IT 기술 > DB' 카테고리의 다른 글

데이터베이스 샤딩  (1) 2024.10.02
데이터 클렌징(Cleansing), 프로파일링(Profiling)  (0) 2024.10.02
DBMS 병행 제어  (0) 2024.10.01
앙상블 기법  (0) 2024.10.01
데이터 모델링의 4단계  (0) 2024.10.01

+ Recent posts