본문내용
1. ADsP, ADP 필기 정리본 데이터 분석 전문가
1.1. 데이터 처리 프로세스
ETL (Extraction, Transformation, Load)은 데이터 웨어하우스(DW), 운영 데이터 스토어(ODS), 데이터 마트(DM)의 핵심 요소이다. 목적은 데이터의 이동과 변환이며, 추출(Extraction)은 데이터 소스로부터 데이터를 획득하고, 변형(Transformation)은 데이터 클렌징, 형식 변환, 표준화, 통합 등을 수행하며, 적재(Loading)는 변형이 완료된 데이터를 특정 목표 시스템에 적재하는 것이다.
ODS는 다양한 데이터 소스들로부터 데이터를 추출, 통합한 DB로, 주로 실시간 또는 실시간 근접 Transaction 또는 하위 수준의 데이터를 저장하기 위해 설계된다. Layered ODS의 구성은 Interface Layer, Staging Layer, Profiling Layer, Cleansing Layer, Integration Layer, Export Layer로 이루어져 있다.
데이터 웨어하우스(DW)는 주제 중심(Subject Oriented), 영속성(Non-Volatile), 통합성(Integrated), 시계열성(Time Variant)의 특징을 지니며, 스타 스키마와 스노우플래이크 스키마가 대표적인 데이터 모델이다.
CDC(Change Data Capture)는 DB 내 데이터 변경을 식별하여 후속처리를 자동화하는 기술로, 다양한 구현 기법(Time Stamp, Version Numbers, Status on Rows, Triggers on Tables, Event Programming, Log Scanner)이 있다.
EAI(Enterprise Application Integration)는 다양한 기업 정보 시스템들의 데이터를 연계, 통합하는 SW 및 Information System Architecture로, 연결 방식에 따라 Mediation과 Federation으로 구분된다. EAI의 기대 효과는 향후 정보 시스템 개발 및 유지 보수비용 절감, 기업 업무 정보 시스템들의 지속적 발전, 협력사나 고객과의 상호 협력 프로세스 연계 발전 등이다.
데이터 연계 및 통합 기법은 일괄(Batch) 통합과 동기식 실시간 통합으로 구분되며, 비정형, 반정형 데이터의 중요성이 증대되면서 이를 정형 데이터로 변환하는 기술의 필요성이 커지고 있다.
대용량 로그 데이터 수집에는 초고속 수집 성능과 확장성, 데이터 전송 보장 메커니즘, 다양한 수집과 저장 플러그인, 인터페이스 상속을 통한 기능 확장 등의 기술이 활용된다. 대규모 분산 병렬 처리에는 하둡의 분산파일시스템 HDFS와 MapReduce 등의 기술이 사용된다.
데이터 연동을 위해서는 Sqoop이 이용되며, 대용량 SQL 질의를 위해서는 Hive, Pig, Impala 등의 SQL on Hadoop 기술이 활용된다. 이는 대용량 데이터에 대한 실시간 처리가 어려운 단점이 있다.
1.2. 데이터베이스 구성 및 활용
데이터베이스 구성 및 활용이다. 데이터베이스는 다양한 데이터 소스로부터 데이터를 획득하고, 이를 통합하여 저장하고 관리하는 시스템이다. 운영 데이터 스토어(ODS)와 데이터 웨어하우스(DW) 등이 대표적인 데이터베이스 구조이다.
ODS는 다양한 데이터 소스로부터 데이터를 실시간 또는 근접 실시간으로 수집하여 통합하고, 데이터 품질을 점검하는 레이어로 구성된다. ODS에서는 단일 통합 테이블에 데이터를 적재하여 다양한 전용 시스템에 공급할 수 있다.
DW는 업무 중심으로 구조화되어 있으며, 영속성을 가지고 통합된 데이터를 제공한다. 데이터 모델링 관점에서 스타 스키마와 스노우플래이크 스키마가 대표적이다. 스타 스키마는 단순하고 이해하기 쉬운 장점이 있으나 데이터 중복이 발생할 수 있고, 스노우플래이크 스키마는 중복을 줄일 수 있으나 구조가 복잡하다.
변경 데이터 캡처(CDC) 기술을 활용하면 데이터베이스에서 발생하는 변경 내역을 추적할 수 있다. 이를 통해 데이터 적재 및 관리를 자동화할 수 있다. 다양한 CDC 구현 기법이 있으며, 데이터베이스 트리거, 로그 스캐너, 이벤트 프로그래밍 등이 활용된다.
기업 내 다양한 정보 시스템을 통합하고 연계하는 기술인 EAI(Enterprise Application Integration)는 데이터베이스 구축과 밀접하게 연관된다. EAI를 통해 정보의 폭넓고 통합적인 뷰를 제공하고 비즈니스 프로세스를 자동화할 수 있다. EAI의 구현 유형에는 Mediation와 Federation이 있다.
데이터 연계 및 통합 기법에는 일괄 처리 방식과 실시간 처리 방식이 있다. 일괄 처리 방식은 ETL 기술을 활용하여 주기적으로 대량의 데이터를 이동시키고, 실시간 처리 방식은 센서 데이터 등을 실시간으로 수집한다. 또한 비정형 데이터의 중요성이 증대됨에 따라 이를 정형 데이터로 변환하는 기술도 중요해지고 있다.
대용량 비정형 데이터 처리를 위해 Flume-NG와 Hadoop 클러스터와 같은 분산 병렬 처리 기술이 활용된다. Flume-NG는 실시간 대용량 데이터 수집을 지원하며, Hadoop은 HDFS와 MapReduce를 통해 대용량 데이터를 효과적으로 처리할 수 있다. Hive, Pig, Impala 등의 SQL 쿼리 처리 기술도 Hadoop 생태계에서 활용된다.
이처럼 데이터베이스 구성과 활용을 위해 다양한 기술과 아키텍처가 활용되며, 이를 통해 기업은 효율적인 데이터 관리와 의사결정 지원을 할 수 있다.
1.3. 데이터 처리 기술
ETL (Extraction, Transformation, Load) 기법은 다양한 데이터 소스로부터 데이터를 수집하고 통합하여 데이터 웨어하우스, 운영 데이터 스토어, 데이터 마트에 적재하는 것이다. 추출(Extraction) 단계에서는 데이터 소스로부터 데이터를 가져오고, 변환(Transformation) 단계에서는 데이터 클렌징, 형식 변환, 표준화, 통합 등의 작업을 수행한다. 그리고 적재(Load) 단계에서는 변환이 완료된 데이터를 특정 목표 시스템에...