데이터 적재(Load)
- 변환된 데이터를 최종 목적지(데이터 웨어하우스, 데이터 레이크, 데이터 베이스)에 저장하는 과정
- ETL의 마지막 부분으로 데이터가 분석, 보고, 비즈니스 활동에 사용될 준비를 마치는 중요한 과정
1. 적재 단계의 주요 특징과 고려사항
주요 특징 | 내용 |
적재 방식 | - 전체 적재 : 타깃 시스템에 이미 존재하는 모든 데이터를 삭제하고 새로운 데이터로 전체를 대체하는 방식으로 초기 설정이나 주요 업데이트에 사용 - 증분 적재 : 마지막 적재 이후 변경된 데이터만을 대상 시스템에 추가하거나 업데이트 하는 방식으로 효율성과 성능 최적화를 위해 사용 |
성능 최적화 | 적재 과정에서 DB의 성능을 저하시키지 않도록 효율적인 적재 전략을 수립 배치사이즈 조절, 병렬처리, 인덱스 관리 등을 통해 최적화 |
데이터 무결성 및 일관성 유지 | 적재 시 무결성 제약 조건을 준수하고 데이터 간의 일관성을 보장 트랜잭션 관리, 무결성 체크, 일관성 유지 메커니즘 등을 적용 |
보안 고려사항 | 적재 시 데이터의 보안을 유지하는 것이 중요 데이터 암호화, 접근 제어, 감사 로그 기록 등을 통해 안전성을 보장 |
데이터 품질 관리 | 최종 데이터 저장소에 적재하기 전에 데이터 품질을 검증하는 절차를 포함 데이터가 분석 준비 완료가 되었음을 보장 |
백업 및 복구 계획 | 적재 과정에서 발생할 수 있는 장애에 대비하여 적절한 백업 및 복구 계획을 마련하는 것이 중요 |
2. 빅데이터 적재 소프트웨어 도입 요구사항
빅데이터 적재를 위한 소프트웨어 구성 요구사항을 도출
- 자체적 시스템을 구축하는 On-premise의 경우 상용 소프트웨어와 오픈 소스 소프트웨어 도입을 모두 고려
- 자체 구축이 아닌 경우 상용 클라우드 서비스를 이용 고려
대상 | 성능 요구사항 내용 | 세부 항목 |
서버 | 최적의 용량을 확보 성능 관련 이슈 예방 방안 |
CPU, 메모리, 디스크, 프로세스, 커널, 파일, 시스템, 네트워크I/O |
네트워크 | 네트워크에 연결된 장비와 호스트 간의 트래픽에 대한 예상치 | 대역폭, 전송 속도, 처리 속도 |
DBMS | 데이터의 현황 데이터를 수집, 관리하고 경향을 분석한 용량 계획 반영 | 데이터 모델링, 응용 프로그램/SQL, 파리미터 설정, 인덱스 구성 등 |
3. 데이터 적재 서버 노드 하드웨어 정의
구분 | 설명 |
네임 노드 구성 정의 | - 파일 시스템의 메타데이터(구조, 권한 등)을 관리하는 서버 - 실제 작업 대상 데이터를 블록 단위로 나누어 데이터 노드에 분배하는 핵심 역할 |
데이터 노드 구성 정의 | - 실제 데이터 저장 및 처리가 수행되는 노드 - 데이터 노드에 저장되는 정보는 기본 3개의 노드로 복제되어 저장 - 필요에 딸라 복제되는 노드의 수를 늘리기 가능 |
4. 데이터 적재 네트워크 아키텍처 정의
구분 | 설명 |
목표 시스템 네트워크 구성 정의 | - 빅데이터 플랫폼의 전체 네트워크 구성 정의 - 수집 및 처리 대상이 되는 데이터의 양에 따라 네트워크 대역폭을 고려 - 시스템 용도에 따라 네트워크 대역을 구분 |
개별 장비 네트워크 환경 정의 | - 네임 노드, 데이터 노드, 응용 시스템 서버 및 데이터베이스 서버 등 빅데이터 플랫폼을 구성하는 개별 장비에 대한 네트워크 환경 구성 - 필요에 따라 각 서버는 1개 이상의 NIC를 장착하여 가용성 확보(1개의 NIC가 고장나도 시스템 다운이 발생하지 않아 신뢰성 확보) |
5. 빅데이터 적재 소프트웨어 아키텍처 정의
데이터 수집 단계에서는 외부 데이터 획득을 위한 크롤러, 내부 데이터 획득을 위한 ETL 등을 고려할 수 있고 데이터 적재를 위한 DBMS는 RDB, NoSQL등을 선택할 수 있음
구분 | 설명 |
하둡 도입 검토 | - 빅데이터 플랫폼의 핵심인 분산 파일 시스템과 분산 병렬 처리를 하는 맵리듀스로 구성(빅데이터 기반 오픈소스 프레임워크 중 가장 널리 사용됨) |
인 메모리 데이터베이스 도입 검토 | - 데이터를 저장하는 스토리지가 메인메모리(RAM)을 이용하는 방식의 데이터베이스 시스템 - 인 메모리 방식은 상대적으로 높은 접근 속도와 단순한 검색 알고리즘으로 높은 성능을 보임 |
데이터 분석 플랫폼 적용 검토 | - 수치화된 정형 데이터를 활용한 전통적 분석 방법에서 더 발전하여 대용량의 데이터로부터 패턴 인식, 텍스트 마이닝, 소셜 분석 등의 기법을 이용하여 표면적으로 드러나지 않는 데이터 간의 필요 정보를 추출 |
데이터 시각화 적용 | - 빅데이터 분석 결과를 사용자가 쉽게 이해할 수 있도록 시각적으로 표현 - 다양한 시각화 기법으로 효과적인 정보 전달 가능 |
6. 데이터 적재의 특징 및 도구
- 빅데이터 분석에 필요한 데이터 수집 이후에는 이를 빅데이터 시스템에 적재해야 함
- 적재할 데이터의 유형, 실시간 처리 여부에 따라 RDBMS, HDFS, NoSQL 저장 시스템에 데이터 적재 가능
-> 분산된 여러 서버에서 데이터를 수집하는 데이터 수집 플랫폼과 저장 방법의 중요성이 대두되는 중
데이터 적재 도구
구분 | 설명 |
Fluentd | 크로스 플랫폼을 지원하는 오픈 소스의 데이터 수집 소프트웨어이며 Ruby언어 사용 |
Flume | 많은 양의 로그 데이터를 효율적으로 수집, 집계 및 이동하기 위해 Event와 Agent를 활용하는 분산형 로그 수집 기술 |
Scribe | 다수의 서버로부터 실시간으로 스트리밍 되는 로그 데이터를 수집하여 분산 시스템에 데이터를 저장하는 대용량 실시간 로그 수집 기술 |
Logstash | 모든 로그 정보를 수집하여 하나의 저장소에 출력해주는 시스템 |
'빅데이터 관련 개념 정리' 카테고리의 다른 글
탐색적 데이터 분석 (1) | 2024.04.20 |
---|---|
데이터 저장 기술 (1) | 2024.04.19 |
데이터 품질 관리 (0) | 2024.04.19 |
데이터 변환 기술 (1) | 2024.04.19 |
수집 데이터 유형 및 기술 (1) | 2024.04.19 |