본문 바로가기
DATABASE

데이터 수집 기술

by GREEN MANGO 2022. 10. 5.

수집 방법론

1. HTTP 수집: 웹 스크래핑, OPEN API

파싱, 크롤링, 스크래핑 차이는 무엇인가? 용어 정리를 해보자.

파싱이란, 어떤 웹 페이지에서 데이터를 특정 패턴 또는 순서로 추출, 분석 그리고 가공하는 작업이다. 

크롤링이란, 웹 페이지를 수집, 분류 그리고 저장함으로서 나중에 쉽게 찾아볼 수 있도록 인덱싱하는 것을 말한다. 서점 직원이나 도서관 직원이 책을 체계적으로 분류하는 것과 비슷하다. 

스크래핑이란, 데이터를 수집하는 모든 과정을 말한다. 즉, 크롤링은 스크래핑 기술 중 하나이다. 

웹 상이나 문서 등 여러 곳에 있는 데이터를 스크래핑(또는 크롤링)하여 데이터를 수집하고 이를 바탕으로 가공(파싱)하여 목적하는 데이터를 빼내서 활용한다라고 정리해볼 수 있다. 

 

2. 로그 수집

각종 시스템, 서버와 네트워크 장비에서 로그 데이터가 축적되는데 시스템에서 에이전트를 통해 각종 로그를 수집하여 분석으로 활용한다. DB 로그, 트랜잭션 로그, 웹 서버 로그, 시스템 로그 등 다양한 로그 데이터가 있다. 

 

3. 센서데이터 수집

 

4. DBMS 수집

 

5. FTP 수집

 

수집 기술/수집 제품

 

1. Scribe(페이스북) 

분산 시스템 로그 수집 서버(중앙 서버 그룹과 노드 당 scribe 서버 한 대로 구성), 기존 클라이언트를 수정하지 않고도 로그 데이터를 수집할 수 있는 크로스 플랫폼 클라이언트 라이브러리 제공

 

2. SQOOP(Apache) - RDMBS와 NoSQL 간 데이터 연동

기존 RDMS에서 Hadoop으로 데이터 이전하려고 시작한 프로젝트, JDBC인터페이스를 사용하므로 MySQL, PostgreSQL, Oracle 등 다양한 DB 시스템 지원함, Apache Hadoop 기반 Hive, Pig, HBase 등과 호환이 잘 되어 RDBMS와 NoSQL 간 데이터 연동에 많이 사용된다. 

 

3. Kafka(링크드인) - 분산 시스템에서 메시지 전송 및 수집

Apache 기반 프로젝트이며 높은 확장성과 처리량을 가지고 있는 분산 메시지 시스템이다. 또한, 지속적이고 우수한 메시지 전달 성능을 보장한다. Kafka Cluster를 통해 Producer(데이터 제공자)가 Consumers(데이터 이용자)에게 데이터를 전달하는데 이 과정에서 Kafka Cluster는 Connectors로부터 내외부 DB 소스 데이터 전달받는다. 

 

4. OpenRefine(구글) - 대용량 데이터 정제

 

5. Protocol Buffers(구글) - 오픈소스 직렬화 라이브러리

XML보다 속도가 빠르고 데이터 크기가 작고 코드가 간단하여 개발이 쉽다. 메시지를 연속된 비트로 생성하고 이와 반대로 원래의 메시지로 만들 수 있다. 패킷을 만드는 데 유용하다는 장점이 있다. 

 

6. JSON(JS Object Notation) - 인터넷에서 데이터를 주고받을 때 그 데이터를 표현하는 방식

기존 XML과 비슷하지만 이보다 용량이 작고 변환 속도가 빠르다. JSON은 데이터 종류와 상관없이 웹의 데이터를 정형화하는 데 사용되고 JavaScript의 구문 형식을 따르지만 프로그래밍 언어나 플랫폼에 독립적이다. 

텍스트로 되어 있어 사람과 기계가 모두 읽고 쓸 수 있으며 다른 프로그래밍 언어와 플랫폼으로부터 독립적이기 때문에 서로 다른 시스템 간에 쉽게 객체 교환이 가능하다. 

 

이 밖에도 여러 데이터 수집기술들이 있으니 구글링을 권한다. 

 

 

반응형

댓글