어제보다 더 나은 나

데이터 허브 본문

데이터분석 공부/대용량데이터 처리

데이터 허브

확인해볼까 2022. 8. 17. 18:15

* 데이터 허브

  • 배포, 공유, 또 종종 서브네팅과 공유를 목적으로 정리된, 여러 출처로부터 비롯되는 데이터 모임

 

* 데이터 허브 VS 데이터 레이크

  • 데이터 허브가 운영 데이터에만 국한될 필요는 없기 때문에 운영 데이터 저장소와 다름
  • 데이터 허브는 데이터를 단일 위치에 단순히 저장하는 것이 아니라 원하는 여러 형식으로 데이터를 제공하고 중복 제거, 품질, 보안 및 표준화된 쿼리 서비스 집합과 같은 다른 가치를 추가함으로써 데이터 레이크와 다름
  • 가공되지 않은 상태로 저장되어 접근이 가능한 엄청난 양의 데이터

 

* 대용량 데이터 처리

DBMS 튜닝을 통한 대용량 데이터 Batch 처리 방안 Batch Hub를 통한 대용량 데이터 Batch 처리 방안
SQL로 개발된 대용량 데이터 처리 프로그램의 튜닝을 통한 성능 개선 데이터 Hub 개념을 활용한 Sam File 처리를 통한 프로그램 성능 개선

 

 

* 대용량 관계형 데이터베이스 최적화를 위한 6가지 요소

  • 병렬처리
  • Partition 전략
  • 최소의 Disk I/O
  • 비절차형 처리
  • 옵티마이저 전략 수립
  • 고성능 SQL 확장

 

* DBMS 튜닝을 통한 대용량 데이터 Batch 처리 방안 

  • SQL 확장(반복 제거)
  • 집합 처리(조인의 활용, UNION, GROUP BY, 서브 쿼리 활용) 
  • 인덱스만 처리하는 부분 범위 처리
  • MIN/MAX의 처리

(ex. 사용자 함수를 활용 – 1:M 조인을 1:1조인으로 )

(ex. 조인을 이용한 집합 처리 - BETWEEN )

(ex. 스칼라 서브 쿼리 표현, 서브 쿼리 활용 - 조인, 사용자 저장 함수의 대체 사용 가능 )

 

 


* Batch Hub를 통한 대용량 데이터 Batch 처리 방안

 

* Batch Hub 처리

  • 대용량의 데이터 처리를 위한 필수 요소인 고속 추출
  • 이기종 간의 데이터 컨버전
  • 대용량 파일 변환 및 병렬 처리
  • Bulk Load를 통한 병렬 적재 기능을 활용하여 EBH(ETL & Batch Hub) 구성으로 대용량 데이터 처리의 성능 향상

 

* 데이터 처리 지연 원인 분석

  • 이기종 간 대용량 데이터 처리 시 데이터 컨버전 및 데이터 처리 성능 이슈
  • 대용량의 변경분 일데이터 처리를 DBMS에 100% 의존하여 처리함으로써 데이터 처리 부하 분산을 하지 못한 문제
  • 모든 Job 구현을 쿼리를 작성하여 DBMS로 부하를 집중함으로써 운영상의 리스크를 증가시켜 전체적으로 데이터 처리 지연 발생 가능성을 높임
  • 모델링에서 결과적으로 불필요한 테이블 생성 부분이 많이 존재함
  • 변경분 처리 문제로 같은 테이블을 가져가는 경우(자연스럽지 못한 매핑 발생)도 상당 수 존재

=> EBH를 통한 파일로 처리하는 부분들과 DBMS에서 성능 부분을 처리하는 부분들을 같이 동시에 수행함으로써 전체적인 성능향상을 노려야 함.

 

 

* EBH 

  • 데이터 관점에서 데이터 흐름을 간결하게 하여 데이터 및 Application의 활용성을 높임으로써 Batch 처리 성능 향상
  • 데이터를 중앙에 집중시키고 데이터들의 가공, 처리가 이루어지면 최종 목표지점에 이동시키는 방식 
  • 모든 데이터에 대해서 효과적인 구조 X
  • 데이터를 건 바이 건으로 처리해야 하는 어플리케이션의 경우에는 효과적이지 못하기에 전통적인 Point-TO-Point 방식으로 처리해야 함. ( OLTP성 업무 등등 )

 

* 다중 시스템 데이터 처리 방식 차이에 따른 성능

  • EBH는 각 정보 DB에서 필요한 목적 테이블을 만들기 위한 공통 작업을 고속으로 할 수 있으며 만들어진 공통 자료를 각 목적 DB로 적재하여 다음 작업을 진행
  • DBMS에 비하여 적은 자원으로 빠른 작업이 가능하므로 Batch 작업 개선에도 많은 도움을 줌

 

 

Comments