데이터 수집 시스템을 설계할 때 데이터 유형(정형, 비정형, 반정형)에 따라 적절한 기술을 적용해야 합니다. 여기서 몇 가지 예시를 통해 각 데이터 유형에 맞는 수집 기술과 그 방법에 대해 설명하면
정형 데이터
정의: 미리 정해진 형식에 맞추어 구조화된 데이터, 예를 들면 관계형 데이터베이스의 테이블, CSV 파일 등이 있습니다.
수집 기술:
- SQL 쿼리: 관계형 데이터베이스에서 데이터를 추출하기 위해 SQL 쿼리를 사용합니다.
- ETL(Extract, Transform, Load) 툴: 데이터를 추출하고, 변환한 뒤, 다른 시스템으로 로드하는데 사용합니다. 예: Informatica, Talend, SSIS 등.
예시:
- 데이터 웨어하우스로의 데이터 이동: Oracle DB에서 데이터를 추출하여, 데이터 변환 과정을 거친 후 Amazon Redshift와 같은 데이터 웨어하우스로 로드합니다.
비정형 데이터
정의: 구조화되지 않은 데이터로, 텍스트 문서, 이미지, 오디오, 비디오 등이 여기에 해당합니다.
수집 기술:
- 웹 크롤링: 인터넷 상의 웹 페이지로부터 텍스트 데이터를 수집합니다. 예: Beautiful Soup, Scrapy 등.
- API: 소셜 미디어 플랫폼과 같은 서비스에서 제공하는 API를 통해 데이터를 수집합니다.
- 데이터 스트리밍: 실시간으로 생성되는 비정형 데이터(예: 비디오 스트림)를 수집합니다. 예: Apache Kafka, Amazon Kinesis 등.
예시:
- 소셜 미디어 분석: Twitter API를 사용하여 실시간 트윗 데이터를 수집하고, 텍스트 분석을 위해 데이터 레이크에 저장합니다.
반정형 데이터
정의: 정형 데이터와 비정형 데이터 사이의 중간 형태로, XML, JSON과 같은 데이터 형식이 있습니다.
수집 기술:
- 파일 파싱: JSON, XML 파일을 파싱하여 필요한 데이터를 추출합니다.