본문으로 건너뛰기

데이터베이스 튜닝

· 약 4분

데이터베이스 튜닝 개념

  • 응용프로그램, DB, 운영체제 등을 조정하여 한정된 자원으로 최적의 성능을 얻도록하는 개선 작업
  • 처리능력증대, 처리시간단축, 응답시간단축, DB로드시간단축

데이터베이스 튜닝 절차, 튜닝 기법

데이터베이스 튜닝 절차

설계단계 튜닝 기법

구분내용비고
정규화데이터 중복 제거, 함수종속성 제거무결성 확보
반정규화성능 향상을 위한 중복 허용조회 성능 개선
파티셔닝대용량 데이블 분할 관리관리효율, 조회성능
인덱스 설계데이터 접근, 스캔 경로 최적화CBO, RBO
인덱스 지정PK, FK 지정조회, 수정 성능 개선

SQL 튜닝 기법

구분내용비고
쿼리재작성불필요 연산 제거, 분리실행계획 분석
조인방식변경조인방식, 순서 변경조인 유형 고려
인덱스 활용적절한 인덱스 사용제약조건 확인
힌트 사용최적 실행 계획 제어옵티마이저 제어

힌트 개념 및 유형

힌트 개념

  • SQL문에 주석형태로 옵티마이저에게 실행계획을 지시하는 구문
  • 옵티마이저의 기본 실행 계획이 최적이 아닐 경우, 성능 개선 가능

힌트 유형

구분내용비고
Scan 힌트효율적인 데이터 접근방식 선택테이블 또는 인덱스
Join 힌트효율적인 조인 방식 선택특정 조인 방식 지정
Leading 힌트실행 계획의 조인 순서 제어조인순서 지정
Set 힌트워크로드나 특정 쿼리에 최적화된 파라미터 선택쿼리 변수 오버라이딩

데이터베이스 튜닝시 고려사항

  • 튜닝 전,후 성능 변화를 지속적으로 모니터링하고 필요시 추가 튜닝 (시스템 등) 수행

무결성

· 약 3분

무결성 개념

  • 사용자가 데이터를 변경할 때 관계, 참조 등의 무결성 제약이나 규칙에 의해 데이터의 일관성과 정확성을 유지하는 것

무결성 유형, 보장방법, 적용방안

무결성 유형

개참도사

구분내용비고
개체무결성각 행을 구분하는 유일한 식별자기본키 사용
참조무결성외래키는 참조 테이블의 기본키와 일치외래키 사용
도메인무결성각 열의 값이 속성에 정의된 도메인 값데이터 형식, 범위 제한
사용자정의무결성비지니스 규칙에 따라 사용자 정의트리거, 프로시저

무결성 보장방법

구분내용비고
응용프로그램무결성 조건 코드 추가프로그램상 구현
DB 트리거Stored Procedure 활용 데이터 변경시 제약 추가복잡한 요구 구현
제약조건스키마에 제약조건 설정변경 용이, 쉬운 구현

무결성 적용방안

단계내용비고
데이터 모델링모델링시 무결성 유형 고려 정의무결성 확보 설계
데이터 설계테이블 생성시 제약조건, 트리거 설정DBMS 기능 활용
응용프로그램 개발데이터 입력, 수정, 삭제시 무결성 검사입력 데이터 검증
운영, 유지보수주기적인 데이터 값 프로파일링진단 및 조치

무결성 고려사항

  • 병행제어를 통해 트랜잭션 실패시 무결성을 위반하지 않도록 제어 필요

데이터 마이그레이션

· 약 5분

데이터 마이그레이션 개념

  • 데이터의 정확성과 무결성을 유지하면서, 기존 시스템의 데이터를 새로운 시스템으로 안전히 이전하는 과정
  • 마이그레이션 대상 데이터의 품질 확인 및 전략 수립을 위해 진단 프로파일링과 마이그레이션 이후 무결성 확인을 위해 검증 테스트 필요

데이터 마이그레이션 절차도, 세부절차, 프로파일링 기법

데이터 마이그레이션 절차도

데이터 마이그레이션 세부절차

구분내용비고
1. 계획 수립마이그레이션 범위, 목표 정의리소스 할당, 일정 계획
2. 데이터 프로파일링데이터 품질 및 구조 분석AS-IS시스템 품질 관리
3. 데이터 변환소스 데이터를 타겟 데이터 포맷으로 변환매핑 테이블 등
4. 데이터 로드변환된 데이터를 타겟 시스템으로 로드롤백 전략 수립
5. 검증 테스트마이그레이션 데이터 검증 및 테스트데이터 무결성 확인
6. 시스템 전환새 시스템으로 운영 전환사용자 교육, 모니터링

데이터 값 진단 프로파일링 기법

구분기법내용
기초 데이터 분석컬럼 속성 분석메타데이터 정합성 확인
컬럼 값 분석누락 값 분석필수 값이지만 누락 데이터 확인
값 허용범위 분석컬럼 속성 범위 내 값 확인
허용 값 목록 분석컬럼 허용 값 목록, 집합 확인
문자열 패턴 분석문자열 반복시 특성 확인
날짜 유형 분석날짜 포맷, 범위 확인
특수 도메인 분석주민번호, ISBN 등 특정 패턴 확인
유일값 분석유일 컬럼 중복값 확인

데이터 마이그레이션 검증테스트 절차도, 세부절차

데이터 마이그레이션 검증테스트 절차도

데이터 마이그레이션 검증테스트 세부절차

구분내용비고
1. 검증팀 구성데이터 마이그레이션 검증을 담당할 전문가 그룹 구성데이터 무결성, 정합성 확인
2. 검증 범위 식별마이그레이션 대상 데이터의 범위와 우선순위 설정데이터 타입, 크기, 중요도
3. 데이터 검증마이그레이션된 데이터의 무결성과 정합성 검증데이터 값 진단 프로파일링 활용 가능
4. 시스템 영향도 파악마이그레이션 이후 시스템 성능 및 기능에 대한 영향도 분석이행테스트 결과 보완, 성능 튜닝
5. 시스템 오픈최종 검증 완료 후 새로운 시스템 오픈 및 운영 시작모니터링, 대응

데이터 마이그레이션시 고려사항

  • 테이블 크기에 따라 샘플링하여 마이그레이션 필요
  • 마이그레이션 실패, 검증 실패시 롤백 시나리오 수립 필요

DQM, 데이터 품질관리

· 약 4분

데이터 품질관리 개념

  • 조직 내 외부 정보시스템 및 이해관계자의 기대를 만족시키기 위해 지속적으로 수행하는 데이터 관리 및 개선활동
  • 안정성, 신뢰성, 이용편의성, 공익성 제고

데이터 품질관리 아키텍처, 대상

데이터 품질관리 아키텍처

구분데이터데이터 구조데이터관리 프로세스
CDO
개괄적관점
데이터관리정책
DA
개념적관점
표준데이터개념데이터 모델데이터 표준관리, 요구사항 관리
Modeler
논리적관점
모델데이터논리데이터 모델데이터 모델관리, 데이터 흐름관리
DBA
물리적관점
관리데이터물리데이터 모델데이터베이스 관리
User
운용적관점
업무데이터사용자 뷰데이터 활용관리

데이터 품질관리 대상

구분내용비고
데이터조직 내 목표 달성을 위해 사용되어지는 전산화된 데이터데이터 현상값, 데이터 구조값
데이터 구조데이터를 취급하는 관점에따라 뷰, 모델, 파일, DB로 제공단계별 데이터 구조, 조직별 데이터 구조
데이터 관리 프로세스데이터, 데이터 구조, 품질을 유지하기 위한 절차, 조직, 인력데이터 정의 프로세스, 데이터 변경 프로세스

데이터 품질관리 성숙모형, 구성요소

데이터 품질관리 성숙모형

데이터 품질관리 성숙도 구성요소

구분내용비고
데이터 픔질기준데이터 품질 정의데이터 유효성, 데이터 활용성
품질관리 프로세스데이터 품질기준 향상을 위한 필요 프로세스요구사항 관리, 데이터 구조 관리, 데이터 흐름관리, DB관리, 표준 관리
품질관리 성숙수준현재 수준 파악 후 5단계 개선 모형 정의도입, 정형화, 통합화, 정량화, 최적화

데이터 품질관리 성숙 수준

도형통량최

단계구분내용
5최적화데이터 품질관리 개선 도출, 지속 적용
4정량화정량적 측정 통한 데이터 품질 관리
3통합화전사적 연계 통합 관점, 일관성 있는 품질 관리
2정형화품질관리 위한 제반 프로세스 정형화
1도입데이터 품질관리 문제점 인식, 부분적 활동

뮤테이션 테스트

· 약 4분

뮤테이션 테스트 개념

  • 소스 코드의 일부를 의도적으로 변경하여 테스트 케이스가 이 변경된 코드를 검출할 수 있는지 확인하는 화이트박스 테스트 기법
  • 테스트 케이스 유효성 검증, 코드 품질 향상, 테스트 커버리지 보완, 버그 발견

뮤테이션 테스트 구성도, 구성요소, 적용방안

뮤테이션 테스트 구성도

뮤테이션 테스트 구성요소

구분내용비고
원본 코드테스트할 소스 코드SW 실제 기능을 수행하는 코드
뮤턴트원본 코드를 변형하여 만든 코드의도적으로 결함을 삽입한 코드
테스트 케이스원본 코드와 뮤턴트를 검증하기 위한 테스트 시나리오다양한 상황을 가정하여 작성된 테스트
킬드 뮤턴트테스트 케이스가 검출한 뮤턴트뮤턴트를 정확히 찾아내는 테스트 케이스
라이브 뮤턴트테스트 케이스가 검출하지 못한 뮤턴트테스트 케이스의 수정이 필요

뮤테이션 테스트 오퍼레이터

구분내용비고
연산자 교체코드 내의 연산자를 다른 연산자로 교체+-로, ><로 변경
상수 값 변경코드 내의 상수 값을 다른 값으로 변경int x = 5;int x = 10;으로 변경
조건문 변경조건문의 논리적 또는 비교 연산자를 변경if (a > b)if (a < b)로 변경
논리적 연산자 변경논리적 연산자를 다른 연산자로 교체andor로 변경
제어 구조 변경루프나 조건문 등의 제어 구조를 변경for 루프를 while 루프로 변경
문장 삭제코드의 특정 문장을 삭제변수 할당 문장 또는 조건문 삭제
반환 값 변경메서드의 반환 값을 다른 값으로 변경return x;return -x;로 변경

뮤테이션 테스트시 고려사항

  • 많은 뮤턴트 생성으로 인한 높은 컴퓨팅 자원과 결과해석에 대한 인적 리소스 필요

CRC, 순환중복검사

· 약 3분

CRC 개념

  • 데이터 전송시 무결성을 확인하기 위해 특정한 다항식으로 체크섬을 구하여 오류를 검출하는 방식
  • 데이터 전송 신뢰성 향상, 간단한 계산 속도 및 효율성

CRC 구성도, 구성요소, 적용방안

CRC 구성도

CRC 구성요소

구분내용비고
데이터전송하거나 저장하려는 원본 데이터 블록원본 데이터
생성 다항식오류 검출을 위한 기준 다항식CRC 생성 기준
CRC 계산기데이터 블록에 대해 CRC 값을 계산하는 알고리즘하드웨어 또는 소프트웨어
코드워드원본 데이터에 CRC 값을 추가한 최종 데이터 블록전송 또는 저장될 데이터

CRC 적용방안

구분내용비고
네트워크 통신TCP/IP, Ethernet 등에서 데이터 패킷의 무결성을 확인다양한 통신 프로토콜에 사용
저장 장치하드 드라이브, SSD, CD/DVD 등에서 데이터 무결성 보장저장된 데이터의 오류 검출
파일 전송FTP에서 데이터 전송 중 발생할 수 있는 오류를 검출파일 전송 프로토콜에 적용
임베디드 시스템마이크로컨트롤러 등에서 데이터 전송 무결성 확인내장형 시스템의 데이터 통신 신뢰성 보장

CRC 고려사항

  • CRC-32 등 표준 다항식 사용으로 안전성, 상호 운용성 확보

엣지컴퓨팅

· 약 4분

엣지컴퓨팅 개념

  • 데이터가 생성되는 위치 근처에서 데이터를 처리하고 저장하는 분산 컴퓨팅 모델
  • 빠른 응답속도, 대역폭 효율, 민감정보 로컬 처리로 인한 보안 강화

엣지컴퓨팅 구성도, 구성요소, 적용방안

엣지컴퓨팅 구성도

엣지컴퓨팅 구성요소

구분내용비고
클라우드대규모 데이터 저장, 분석중앙 관리
엣지 노드데이터 처리, 저장, 필터링디바이스와 클라우드 간 데이터 중재
엣지 디바이스데이터를 수집, 전송, 로컬 처리IoT 디바이스, 스마트폰 등

엣지컴퓨팅 적용방안

구분내용비고
자율주행차센서, 데이터 실시간 처리실시간 판단, 주행
스마트시티교통, 안전, 에너지 실시간 분석관리 효율성
헬스케어환자 데이터 실시간 모니터링원격 진료

엣지컴퓨팅 장단점

구분요소내용
장점대기시간 감소데이터가 클라우드로 전송되지 않고 근거리에서 처리되어 응답 속도 향상
비용절감데이터 전송 및 클라우드 사용 비용 절감, 네트워크 부하 감소
실시간 데이터 처리실시간 분석 및 반응이 필요한 IoT, 자율주행, 스마트 팩토리 등에 적합
단점데이터 보안 문제분산된 환경으로 인해 보안 취약점 증가, 데이터 암호화 및 접근 통제 필요
복잡한 아키텍처클라우드 대비 관리 및 운영 복잡성 증가, 유지보수 비용 증가

엣지컴퓨팅 고려사항

  • 매터 등 IoT 표준 프로토콜을 사용하여 확장성 대응
  • 분산 환경의 로컬 데이터 보안을 위해 E2E 암호화 필요
  • 탄소인지컴퓨팅 패러다임으로 데이터센터의 탄소 사용량을 절감하기 위해, 엣지컴퓨팅 활성화 필요

MIV, MPEG Immersive Video

· 약 3분

MIV 개념

  • 다수의 카메라로 3D 캡쳐한 영상을 6DoF지원하여 압축하는 비디오 압축 표준
  • VR, AR 등 몰입형 미디어에 대한 압축 지원

MIV 구성도, 구성요소, 적용방안

MIV 구성도

아틀라스

MIV 구성요소

구분기술내용
인코더TMIV 인코더다수의 텍스터, 기하정보 활용 인코딩
비디오 인코더공간 중복 제거 후 인코딩, 아틀라스 포맷기반 HEVC, VCC 코덱으로 전송
디코더비디오 디코더비트스트림을 영상으로 디코딩, 아틀라스 포맷으로 MIV 디코더 전달
MIV 디코더후처리, 공간 시점 영상 합성, 사용자 움직임에 따른 뷰포트 생성

MIV 적용방안

구분방안비고
VR, AR 컨텐츠몰입감 높은 컨텐츠 제작6DoF
스포트 중계다양한 시점에서 경기 관람현장감
교육 컨텐츠실감형 교육 컨텐츠 제작체험형

MIV 고려사항

  • 압축 기술 뿐아니라 5G 네트워크를 통해 데이터를 1Gbps 이상으로 송신 필요

CXL, Compute Express Link

· 약 4분

CXL 개념

  • 프로세서와 메모리 사이의 고속, 고용량 연결의 위한 개방형 표준 인터페이스
  • PCIe 인터페이스의 메모리 일관성과 공유 기능 부족, 고성능, 저지연 데이터 전송과 메모리 일관성 제공, 효율성 향상

CXL 구성도, 구성요소, 적용사례

CXL 구성도

cxl

CXL 구성요소

구분내용비고
CXL.io초기설정, 가상화, 장치 연결 등 입출력 프로토콜PCIe 호환
CXL.cache메모리 캐시 일관성 제공, CPU와 가속기 간의 빠른 데이터 전송 가능낮은 지연, 고속 전송, MESI 프로토콜
CXL.mem메모리 공유 및 풀링 기능 제공, 여러 장치 간의 메모리 자원 공유 가능고대역폭 메모리 접근, 메모리 풀링

CXL 적용사례

구분사례비고
데이터 센터고성능 컴퓨팅, AI 가속기와 CPU 간의 고속 데이터 전송높은 대역폭과 낮은 지연 시간 요구 환경
클라우드 서비스클라우드 기반의 자원 효율적인 데이터 처리, 메모리 풀링을 통한 자원 공유유연한 자원 할당 및 확장성 제공
스토리지 시스템고속 NVMe SSD와 CPU 간의 데이터 전송 최적화데이터 액세스 속도 향상, 스토리지 병목 현상 해결

CXL 유형, PCIe 비교

CXL 유형

cxl type

구분내용비고
CXL Type 1메모리 일관성 없이 I/O 가속기를 연결하여 고속 데이터 전송을 지원단순 I/O 연결, 낮은 지연 시간, 스마트 NIC
CXL Type 2메모리 일관성을 유지하며 CPU와 가속기 간의 데이터 전송을 지원CPU와 가속기 간의 일관성 유지, CPU, 고밀도컴퓨팅
CXL Type 3메모리 풀링을 통해 여러 장치 간의 메모리 자원을 공유하고 관리메모리 공유 및 풀링 기능, 메모리 확장, 스토리지클래스

CXL PCIe 비교

구분PCIeCXL
기능데이터 전송, I/O 장치 연결데이터 전송, 메모리 일관성, 메모리 공유
지연 시간낮은 지연 시간매우 낮은 지연 시간
호환성다양한 I/O 장치와 호환PCIe와 호환되며, 추가 메모리 및 가속기와도 호환
메모리 일관성없음보장
메모리 공유없음메모리 풀링 및 자원 공유 가능
주요 사용처일반적인 컴퓨터 및 서버의 I/O 장치 연결데이터 센터, 고성능 컴퓨팅, 클라우드 컴퓨팅
버전PCIe 5.0CXL 3.0

CXL 고려사항

  • 다양한 벤더의 하드웨어 간의 호환성 확보 필요

트리정렬

· 약 2분

트리정렬 개념

  • 이진 탐색 트리를 만들어 데이터를 정렬하는 알고리즘
  • 각 요소에 따라 부모노드의 자식을 좌,우로 결정

트리정렬 개념도, 특징, 적용방안

트리정렬 개념도

  • 중위 순회로 정렬

트리정렬 특징

구분내용비고
시간복잡도균형이 무너지면 최악케이스O(nlogn)O(nlogn) O(n2)O(n^2)
공간복잡도트리구조 저장 구조 필요O(n)O(n)
안정성동일한 값의 순서 보장 불가불안정 정렬
사용 트리트리 균형을 유지해야 성능 향상BST, AVL 등

트리정렬 적용방안

구분내용비고
데이터 셋중간 크기의 데이터 세트에 가장 효과적인 정렬빅데이터인 경우 메모리 사용량 폭증
데이터 분포랜덤으로 분포된 데이터 정렬시 효율적군집의 경우, 편향트리 처리