본문 바로가기

EDU

7차시. 빅데이터 핵심! 빅데이터 생산과 수집 기술

차시목표
1. 기업의 업무 처리와 의사결정에서 데이터가 생산되고 축적되는 과정을 이해한다
2. 데이터를 저장하는 요건을 알아보고 새로운 관리 방법에 따라 보안 위협에 대응할 수 있다
주요내용
1. 데이터의 생산 및 수집 기술의 개요 학습하기
2. 데이터의 생산 학습하기 3. 데이터의 수집

 

■ 빅데이터 핵심! 빅데이터 생산과 수집 기술

1. 데이터의 생산 및 수집 기술의 개요

- 데이터를 수집하는 이유는 업무에 활용하기 위함입니다. 데이터의 수집 방법은 외부 데이터를 수집하거나 내부에서 데이터를 직접 생산하는 방법이 있습니다. 전통적인 데이터베이스 환경에서는 프론트엔드 애플리케이션을 활용하여 필요한 데이터를 직접 생산했다면, 점차 데이터를 외부에서 수집하는 방식으로 바뀌고 있습니다. 정형 데이터를 자체 생산하는 방식에서 외부의 비정형 데이터를 수집하는 방식으로 초점의 방향이 전환된 것입니다. 외부 데이터는 장비에서 기계적으로 생성되는 데이터가 많아 그양 이 방대 합니다. 따라서 데이터의 수집 단계에서는 시스템의 성능이 중요합니다. 또 외부 데이터는 소스가 다양하기 때문에 다양한 소스의 데이터를 모두 수집하기 위해서는 여러 수집 방식을 사용해야 합니다. 정형 데이터뿐만 아니라 비정형 데이터를 수집하여 분석 목적에 적합하게 저장하는 기술이 필요합니다. 

 

2. 데이터의 생산

● 데이터의 입력 방식

- 데이터를 입력해 생산하는 방식에는 정형 데이터를 이용하는 방식과 비정형 데이터를 이용하는 방식이 있습니다. 

- 정형 데이터를 이용하는 방식: 조직 내에서 자체적으로 개발한 업무용 애플리케이션을 통해 생산합니다. 

- 비정형 데이터를 이용하는 방식: SNS나 블로그 등과 같이 개인이 생산합니다
① 조직 내에서 데이터가 생산되는 환경
- 데이터의 생산에서부터 완료에 이를 때까지 정합성 보장을 위한 트랜잭션 관리가 필요합니다. 특정 사용자의 정보를 수정할 때는 수정이 완료되기 전까지 과거의 정보가 일관되게 표현되어야 합니다. 작업 완료가 확정되면 새로운 정보가 나타나게 하는 것이 원칙입니다. 데이터가 업무 목적에 맞게 사용되어야 하므로 정형화된 형태를 띠게 됩니다. 이러한 환경에서는 관계형 데이터베이스가 데이터 생산에 중요한 기술로 사용됩니다. 락(Lock 또는 Enqueue)과 같은 오브젝트로 트랜잭션을 보장할 수 있기 때문입니다. 

② 개인이 생산하는 데이터
- 개인이 생산하는 데이터는 제약 없이 자유로운 형태를 띠고 있습니다. SNS나 블로그와 같은 웹을 통해 생산된 데이터는 여기저기 분산되어 있는 특징이 있습니다. 

● 데이터의 자동 생산 방식

- 사물인터넷 기술의 확산은 데이터 생산 방식의 다양화를 가져왔습니다. 그리고 이러한 배경에서 생산되는 데이터의 저장 및 관리기술은 계속해서 중요해지고 있습니다. IoT 플랫폼은 서비스에 필요한 공통 요구 기능을 포함하고 있으며, 개별 사물과 서비스에서 독립적으로 동작할 수 있습니다. 서버나 클라우드 형태로 제공되거나 디바이스에 직접 위치할 수도 있습니다. 디바이스에 위치하는 경우에는 Pub/Sub, Topic 방식의 메시지 송수신 기능을 제공하는 IoT 어댑터 등이 제공됩니다. 

- IoT 플랫폼 기술은 센서나 액추에이터 또는 데이터 중심으로 인터넷 기반 서비스 도메인 수준의 규모를 지원해 왔습니다. 기술이 발전함에 따라 데이터, 프로세스, 지능 중심으로 바뀌어 수백억 개 이상의 글로벌 규모로 발전했습니다. IoT 플랫폼에 대한 표준은 IoT 글로벌 협의체를 기반으로 하여 개방형으로 운영하고 있습니다.

 

3. 데이터의 수집

- 데이터의 형태와 종류에 구애받지 않는 기술과 수집 방법이 필요합니다. 더불어 이와 같은 방식으로 수집한 데이터를 가공하고 재생산할 수 있어야 합니다. 수집 방법에는 데이터를 가공하고 재생산하는 과정이 포함됩니다. 서비스는 가시적인 형태로 제공할 수 있어야 하며, 효율적인 데이터 사용을 위한 저장 방법이 필요합니다. 또 정형 데이터와 비정형 데이터의 형태에 따라 데이터를 저장하는 기능이 제공되어야 합니다. 

● EAI(Enterprise Application Integration) 

- 기업 내·외부의 서로 다른 시스템을 통합하기 위해 사용하는 기법으로 에이전트를 이용하여 개별 애플리케이션을 중앙 허브와 연결하고 중앙 허브를 통해 상호 데이터를 수집하는 기법
① EAI의 의미
- EAI는 기업 내·외부의 서로 다른 시스템을 통합하기 위해 사용하는 기법입니다. 에이전트를 이용하여 개별 애플리케이션을 중앙 허브와 연결하고 중앙 허브를 통해 상호 데이터를 수집합니다. 시스템 통합 차원에서 기업의 내·외부 데이터의 수집은 중요한 의미를 지닙니다. 엔터프라이즈 기업의 여러 시스템에 분산된 정보들은 기업 내부의 의사 결정이 필요할 때 빠르게 공유되어 합리적인 방안을 수립하는 것을 도와줍니다. EAI 기술은 이를 효율적으로 구현할 수 있도록 많은 노하우가 축적되어 있습니다. 

② EAI의 기능
○ EAI 기술은 TCP/IP 기반의 소켓 프로그래밍에서 출발해 비즈니즈 파트너와의 원활한 협업 시스템을 구축하기 위해 다음과 같은 기능을 필수적으로 제공합니다
- 다양한 인프라 및 리소스에서 데이터를 수집하는 기능
- 데이터 매핑 및 변환
- 콘텐츠 기반의 서비스 라우팅 - 무중단 서비스
- 보안
③ EAI의 지원 기능
- EAI 영역에서 처리하는 리소스 형태는 TCP 서비스, 웹 서비스, 데이터베이스, 파일, 애플리케이션 등 그 종류가 다양합니다.
 인터페이스 아키텍처는 과거에 사용했던 피어 투 피어(Peer to Peer) 방식을 버리고, 허브 앤 스포크(Hub & Spoke) 방식, 버스 방식 등의 구성 방안의 다양성을 제공하여 고객맞춤형 연계 시스템을 구축합니다. 특히, 애플리케이션 시스템에서 제공되는 에이전트는 인터페이스 데이터에 대한 수집과 수신 시스템 내의 적재 등의 모든 업무를 대행합니다. 이와 같이 편리하게 개발하며 연계 시스템을 구축합니다. 

④ EAI 기술 측면의 의의
- EAI는 데이터 웨어하우스(DW)나 전사적 자원관리(ERP) 등 기업에서 운영하는 서로 다른 애플리케이션을 네트워크 프로토콜, 데이터베이스, 운용 체제(OS)에 관계없이 비즈니스 프로세스 차원에서 통합하는 것을 의미합니다. 즉, 기업 내의 상호 연관된 모든 애플리케이션을 유기적으로 연동하여 필요한 정보를 중앙집중식으로 통합 관리할 수 있는 환경을 구현하는 기술입니다.

● ESB(Enterprise Service Bus) 

- ESB는 비즈니스 프로세스 환경에 맞게 설계하고 또 전개할 수 있는 아키텍처를 제공합니다. 즉, 애플리케이션 서비스들을 컴포넌트화된 논리적 집합으로 묶는 핵심 미들웨어입니다. 

- 애플리케이션 서비스들을 컴포넌트화된 논리적 집합으로 묶는 핵심 미들웨어이다. 

- ESB는 구현 방식이 전반적인 아키텍처에 영향을 미치지 않는다는 전제 하에 EAI와 애플리케이션 서버 기술을 함께 조합하여 구현이 가능하다
① ESB의 구현 방법
- ESB는 플랫폼 내의 구성 요소를 사용하는 등 다양한 방법으로 구현될 수 있습니다. 구성 요소에는 기본적인 메시징, EAI, 중개(라우팅) 기술을 사용하거나 J2EE 시스템의 서비스 통합 버스 등이 포함됩니다. ESB는 구현 방식이 전반적인 아키텍처에 영향을 미치지 않는다는 전제 하에 EAI와 애플리케이션 서버기술을 함께 조합하여 구현이 가능합니다. 

② WSDL(Web Service Description Language) 

- ESB는 개발자가 WSDL(Web Service Description Language) 기반의 표준 인터페이스에 의해 정의한 컴포넌트화된 비즈니스 기능을 API 또는 프로토콜에 관계없이 사용하고 호출할 수 있습니다. WSDL은 필요에 따라 다양한 프로토콜을 동일한 서비스에 연결할 수 있도록 포트 및 바인딩을 위한 확장 요소를 제공합니다. WSDL은 다음과 같이 분리되어 있습니다. 

- 추상화된 서비스 인터페이스의 정의 부분
- 재사용이 가능한 프로토콜의 바인딩 부분
- 서비스를 제공하는 종단점(endpoint)
③ ESB의 특징
- ESB는 웹 서비스 관련 표준기술을 지원하는 웹 서비스 어댑터를 제공합니다. 이를 통해 외부 시스템의 데이터 수집 요청에 대해 표준 웹 서비스 방식의 수신 기능을 제공합니다. 또 위저드 기반의 클라이언트 스텁(Stub)을 생성하는 기능으로 필요시 다른 기관 또는 응용 시스템의 웹 서비스를 호출할 수 있습니다. 또 외부의 API 서비스의 호출에 대해 표준 REST 방식의 서비스를 제공하기 위해 오픈 API 서비스를 위한 Restful 방식의 API 서비스 처리 기능을 지원합니다. 다만, 표준 REST 방식은 인증, 보안, 유량 제어 등의 API 서비스를 위한 기능이 제공되지는 않습니다. ESB는 ‘분산 오브젝트’ 환경의 웹 서비스와의 연계를 통한 데이터 수집에서 구현이 용이하고 체계적으로 관리할 수 있습니다. 분산 오브젝트 환경은 기업 및 기관의 서비스 지향 분산 컴퓨팅 기술의 일종으로 기존의 분산 컴퓨팅 기술인 CORBA(Common Object Request Broker Architecture), DCOM(Dist ributed Co
 mponent Object Model), RMI(Remote Method Invocation) 등 을 기초로 하고 있습니다. 

④ 웹 서비스에서의 데이터 수집
- 웹 서비스는 공개 표준을 정해 이를 근간으로 하여 상호 작용이 이루어집니다. 이때에 SOAP(Simple Object Access Protoc ol), WSDL(Web Service Des cription Language), UDDI(Universal Description, Discovery and Integra tion) 등의 공개 표준을 사용합니다. 웹 서비스를 지원하는 응용 프로그램은 상호 작동에 문제가 없습니다. 또 플랫폼과 언어에 독립적이고, HTTP와 같은 웹 프로토콜을 사용합니다. 그러므로 방화벽과 같은 장애에도 문제가 없어 응용 프로그램에 쉽게 접근할 수 있습니다. 

⑤ 크롤링
- 웹상의 비정형 콘텐츠를 수집하여, API를 제공하지 않는 기존의 애플리케이션과의 연결성을 해결하는 기법

● API(Application Programming Interface) 플랫폼

- 데이터 소유 주체가 웹 개발자나 사용자를 위해 정보/데이터를 정해진 방식으로 공개하는 기술을 오픈 API라고 합니다. HTTP 프로토콜을 기반으로 하는 웹 서비스이며, SOAP(Simple Object Access Protocol)와 REST를 기반으로 하는 웹 서비스 기술을 제공합니다. 하지만 개방형 기술의 보안 이슈를 해결하기 위해 인증, 보안, 접근 제어, 정책 관리 등의 개발 소요가 발생할 수 있 습니다. 그러므로 도입하기 전에 해당 기능의 필요성과 구축비용의 검토가 필요합니다. 코로나19 팬데믹의 여파가 지속됨에 따라 사회 전반에 걸쳐 큰 변화가 생길 것으로 예상되고 있습니다. 이에 따라 오픈 API가 보편화·가속화되고 있으며, 비즈니스 측면과 기술적 측면에서 핵심 영역으로 자리 잡았습니다. 오픈 API는 데이터 공유를 위한 표준 방식으로 자리매김한 정형화되고 검증된 정보를 수집할 수 있는 방법입니다. 이와 같이 데이터 수집에서 중요한 역할을 담당합니다.

 

데이터를 수집하는 이유는 업무에 활용하기 위함이다. O
[해설]
데이터를 수집하는 이유는 업무에 활용하기 위함입니다.
데이터의 수집 방법은 외부 데이터를 수집하거나 내부에서 데이터를 직접 생산하는 방법이 있습니다.
전통적인 데이터베이스 환경에서는 프론트엔드 애플리케이션을 활용하여 필요한 데이터를 직접 생산했다면, 점차 데이터를 외부에서 수집하는 방식으로 바뀌고 있습니다.
정형 데이터를 자체 생산하는 방식에서 외부의 비정형 데이터를 수집하는 방식으로 초점의 방향이 전환된 것입니다.
사물인터넷 기술의 확산은 데이터 생산 방식의 일원화를 가져왔다 X
[해설]
사물인터넷 기술의 확산은 데이터 생산 방식의 다양화를 가져왔습니다.
그리고 이러한 배경에서 생산되는 데이터의 저장 및 관리 기술은 계속해서 중요해지고 있습니다.
데이터 소유 주체가 웹 개발자나 사용자를 위해 정보/데이터를 정해진 방식으로 공개하는 기술을 오픈 API라고한다. O
[해설]
데이터 소유 주체가 웹 개발자나 사용자를 위해 정보/데이터를 정해진 방식으로 공개하는 기술을 오픈 API라고 합니다.
HTTP 프로토콜을 기반으로 하는 웹 서비스이며, SOAP(Simple Object Access Protocol)와 REST를 기반으로 하는 웹 서비스 기술을 제공합니다.