데이터 수집 프로젝트의 특성
- 일반 업무 프로젝트는 데이터의 확보에서 프로젝트의 품질, 성패를 좌우하지 않음
- 하지만 데이터를 수집하는 절차가 포함된 프로젝트의 경우 데이터의 확보가 프로젝트의 품질과 성패를 결정짓는 최중요 요소가 됨
- 고로 데이터의 수집을 위한 절차를 설계하고, 충분한 테스트를 걸쳐 진행해야 함
일반 프로젝트 | 데이터 수집 프로젝트 | |
데이터 입력 측면 | 사용자가 데이터 발생의 주체 | 수집 프로세스로 확보한 데이터를 이용하므로 수집 프로세스 자체가 데이터 발생의 주체 |
데이터 입력자가 데이터에 대한 오너십을 가짐 | 수집 정책에 관련된 기술에 대해 데이터 오너십이 존재 | |
데이터는 트랜잭션 하나에 한 건씩 발생 | 데이터가 프로세스 하나에서 여러건 발생 가능 | |
데이터 처리 측면 | 입력된 데이터의 사전, 사후 처리 과정이 거의 존재하지 않음 | 대부분 데이터의 전처리 과정이 필요 |
원본 데이터의 변경이 없음 | 수집한 데이터에 대해 후처리가 필요 | |
서비스 제공 측면 | 처리된 데이터 변형 없이 제공됨 | 처리된 데이터를 분리, 병합 해 새로운 인사이트를 제공함 |
변형이 없으므로 데이터 생산과 출력이 일치 | 재생산 과정을 거쳐 새롭게 생성된 데이터가 출력 | |
OLTP기반의 프로젝트가 대다수 | 데이터 분석 관련 프로젝트가 대다수 |
1. 데이터 확보 계획
- 데이터 원천 식별 : 프로젝트에 필요한 데이터의 출처를 식별하고 데이터의 유형(정형, 반정형, 비정형)을 명확히 정의
- 수집 가능성 평가 : 식별된 데이터의 수집 가능 여부를 평가하고, 가능하다면 수집 방법을 모색함
- 내부 데이터 수집 계획 : 조직 내 다양한 DB, 시스템으로 부터 필요한 데이터를 수집하기 위한 방안 수립
- 외부 데이터 수집 계획 : 공개 데이터 셋, SNS, 외부 DB 등 외부로부터 데이터를 수집하기 위한 방안 개발
- 데이터 수집 도구 및 기술 선택 : 데이터의 유형에 따라 적합한 데이터 수집 도구 및 기술을 결정
- 정보보호 및 법적 준수 : 수집하는 데이터의 성격에 따라 관련 법규를 준수
2. 데이터 수집 고려사항
- 수집 가능성 : 좋은 데이터가 있어도 수집 및 주기의 통제가 불가능하면 해당 원천 데이터의 정책에 의존하게 되게 되므로 바람직하지 않으며 수집에 용이해도 데이터를 활용하기 위해 전처리, 후처리 비용이 많이 발생하게 되면 바람직하지 않음
- 수집 난이도 : 데이터 수집 및 처리에 비용이 많이 들 경우, 많은 정제 과정이 필요할 경우 난이도가 높다고 하며 이러한 비용 산출이 어려울 경우 트래픽 량, 저장장치의 용량을 고려하고 총 난이도가 높다고 판단 될 경우 수집 대상의 대안이 필요함
- 개인정보 보호 및 저작권 문제 : 수집된 데이터에 개인정보나 저작권에 대한 문제가 발생 시 서비스에 활용이 불가하므로 반드시 살펴보아야 함
- 데이터의 정확성 : 수집할 데이터에 서비스 활용에 필요한 세부 항목이 정확히 존재하는지 검토가 필요하며 수집 목적에 맞는 데이터를 수집하기 위해서는 사전처리 과정이 필요함
- 수집 비용 : 데이터 수집을 위해 직접적으로 비용이 발생하는 경우 검토가 필요
3. 수집 세부 계획 수립
- 수집 데이터 위치 파악 : 수집할 데이터가 내부 혹은 외부에 있느냐에 따라 해당 소유 기관과 필요한 협의를 진행
내부 | 내부 시스템과 데이터 연계 가능여부를 파악 데이터 종류 및 수집 주기 인터페이스 정의서를 작성 |
외부 | Open API의 경우 개방하는 데이터의 종류 및 형태를 파악해 데이터의 양과 트래픽을 확인 연계방식 및 수집기술 적용 방안 검토, 소스 데이터의 개방 정책을 파악 크롤링 이용 시 외부 시스템의 수명주기 및 저작권 문제 등 수집가능 여부를 체크하고 수집기술 적용 방안을 검토한 뒤 서비스 종료 발생 시의 대안까지 검토 |
- 데이터의 유형 파악 및 수집방법 적용
형태 | 특징 | 존재 형태 |
정형 데이터 | 데이터 스키마 지원 | RDB, 파일 |
반정형 데이터 | 데이터 내에 메타 속성이 존재 | 파일 |
비정형 데이터 | 분석이 가능한 텍스트 파일과 데이터 형태가 아닌 이미지나 동영상 | RDB, 파일 |
형태 | 데이터 유형 | 수집방법 |
RDB | 정형 데이터, 비정형 데이터 | DBtoDB, ETL, RDB 벤더 제공 드라이버 |
파일 | 반정형 데이터 | 크롤링, OpenAPI, FTP, HTTP |
- 수집 계획서 작성 - 데이터 소스 구성 요소
작성 내용 | 고려사항 | |
소스 위치 | 내부 시스템 -> 특정 RDB의 IP, PORT 등 포함 외부 시스템 -> URI 등 |
여러 소스가 있을 경우 중요한 소스별로 모두 기술 |
데이터 유형 | 물리적으로 존재하는 해당 데이터의 유형과 파일의 종류 RDB의 경우 DBMS 종류 등을 기술 |
데이터 유형이 혼합된 경우 의존 관계를 기술 |
인터페이스 | 수집하는 항목의 세부 내용에 대해 인터페이스 요소를 기술 | |
데이터 담당자 | 소스 데이터의 데이터 담당자와 연락처를 기술 담당자를 알지 못할 경우 기관명 혹은 대표 URL만 기술 가능 |
|
협약 내용 | 소스 데이터 담당자와 협약한 내용을 기록 협약사항은 별도의 문서로 관리될 수 있음 |
법적 검토 필요 |
- 수집 계획서 작성 - 데이터 수집 주기의 구성요소
작성 내용 | 고려사항 | |
주기 설정 | 주기는 주기성을 갖지않는 불규칙 수집과 일정 시간을 정해 수집하는 경우 등으로 배치(batch)처리와 실시간 처리를 구분하여 기술 | 수집 실패 시 재수집 정책을 마련해야 함 |
데이터량 | 1회 수집 시 발생하는 데이터의 양을 기술하고, 여기에 수집 주기를 곱해 시작일과 종료일까지의 총 데이터 량을 계산하여 기술 | 수집 시스템의 스토리지 용량을 예측 |
트래픽량 | 수집 시 발생하는 네트워크 트래픽량을 계산하여 작성 | 과도한 트래픽발생 시 해결책이 필요 |
- 수집 계획서 작성 - 데이터 수집 방법의 구성요소
작성 내용 | 고려사항 | |
적용 기술 | 수집에 필요한 적용 기술을 작성 일반적으로 하나의 기술만 선택되지 않으므로 수집 프로세스 별로 나누어 사용되는 기술의 이름과 버전을 작성 |
처리 과정에 대해 과정별로 나누어 기술해야함 |
데이터 사전처리 | 사전 데이터 처리가 필요한 경우 해당 작업에 대해 기술 | 사전처리 규칙을 명시해야함 |
데이터 사후처리 | 데이터 수집 후 사후처리가 필요한 경우 해당 방법에 대해 기술 |
4. 수집 테스트
수집 테스트는 실제 데이터 수집 이전에, 원하는 데이터가 정상적으로 수집 되는지와 기술적 방법을 최적으로 적용했는지 등을 검토하는 과정이며 실제 데이터 수집에서 발생할 수 있는 리소스의 낭비를 사전에 방지할 수 있음
- 수집 테스트의 기술적 검토
검토 사항 | 검토 방법 |
데이터 세트 누락 | 원본 데이터 요청 후 확인 재수집을 통해 누락데이터 세트 확인 |
소스 데이터와 비교 | 파일일 경우 사이즈를 비교 수집한 데이터와 개수 비교 |
데이터의 정확성 | 서비스 활용에 수집한 데이터의 사후처리가 필요한지 확인 |
5. ETL(Extract Transform Load)
데이터를 데이터 저장소(데이터 웨어하우스 등)으로 이동시키기 위해 원본 데이터를 추출하고 변환하여 적재하는 작업
프로세스 | 설명 |
추출(Extract) | 동일 기종 또는 타 기종 소스 데이터의 데이터베이스로부터 데이터를 추출 JDBC, ODBC, 그 외 서드파티 툴들을 활용 |
변환(Transform) | 조회 또는 분석을 목적으로 적절한 포맷이나 구조로 데이터를 저장하기 위해 데이터를 변환 데이터 결합/통합, 데이터 재구성 및 중복 데이터 제거, 일관성 확보를 위한 정제를 수행 |
적재(Load) | 추출 및 변환된 데이터를 최종 대상(데이터 웨어하우스)에 저장 Insert, Delete, Update, Append 수행 |
'빅데이터 관련 개념 정리' 카테고리의 다른 글
데이터 변환 기술 (1) | 2024.04.19 |
---|---|
수집 데이터 유형 및 기술 (1) | 2024.04.19 |
데이터 분석 기획 (0) | 2024.04.19 |
빅데이터의 개념 (0) | 2024.04.18 |
데이터의 개념과 종류 (0) | 2024.04.17 |