학습 개요
- 빅 데이터는 세 가지 특징인 볼륨, 속도, 다양성을 가지고 있음
- 이를 활용하기 위해 빅 데이터 수집, 적재, 처리, 분석 과정을 거치게 되며, 각 단계 별로 여러 세부 기술이 필요함
- 현재 다방면에서 정형/비정형 데이터를 수집, 저장하고 분석함으로써 의미있는 결과를 도출할 수 있는 빅데이터 시스템이 널리 활용되고 있음
- 빅 데이터의 특징, 주요 세부 기술, 응용 분야에 대해 살펴 봄
학습 목표
- 빅 데이터의 특징을 이해하고, 이를 활용할 수 있는 기술을 살펴 봄
- 빅 데이터의 주요한 응용 분야를 살펴보고, 향후 어떻게 발전해 나갈 것인지 생각 해 봄
강의록
빅 데이터
빅 데이터의 정의
- 빅 데이터 (Big Data)
- 대용량의 정형 · 비정형 데이터 집합
- 빅데이터를 분석하여 의미 있는 결과를 도출하기 위해 사용됨
- 국가 정보화 전략 위원회의 정의
- 대용량 데이터를 활용, 분석하여 가치 있는 정보를 추출하고, 생성된 지식을 바탕으로 능동적으로 대응하거나 변화를 예측하기 위한 정보화 기술
- 1970년대 관계형 데이터베이스가 널리 활용되면서 많은 데이터를 저장하는 데이터 센터의 중요성이 부각되었음
- 대용량 데이터 분석의 필요성에 의해 데이터 마이닝 기술도 활용되었음
- 빅 데이터라는 용어는 1990년대부터 사용됨
- 2000년대 중반 페이스북이나 유튜브를 포함한 온라인 서비스가 널리 보급되면서 대용량 데이터가 발생하기 시작하였음
- 예를 들면, 뉴욕 증권 거래소를 하루에 1 테라 바이트 (TB=10¹²) 크기의 거래 데이터가 발생하며, 페이스북에는 30 페타 바이트 (PB=10¹⁵) 크기의 사진 데이터가 저장되어 있음
- 최근에는 전 세계에서 하루 생성되는 데이터의 크기가 약 2.5 엑사 바이트 (EB=10¹⁸)로 추정 됨
- 대용량의 데이터를 수집, 저장 및 처리하기 위해서는 이전과는 다른 기술이 필요함
- 2000년대 중후반 아파치 하둡이나 스파크가 개발되어 빅 데이터를 분산 처리할 수 있게 되었음
- 클라우드 시스템도 대중화되어 널리 활용되고 있음
- NoSQL처럼 빅 데이터를 표현하고 처리할 수 있는 기반 기술도 함께 발전하고 있음
빅 데이터의 특징
- 일반적으로 데이터는 구조나 색인 여부에 따라 구분 됨
- 정형 데이터
- 반 정형 데이터
- 비 정형 데이터
- 정형 데이터
- 정형(Structured) 데이터란 저장 될 데이터에 대하여 미리 정해진 규칙을 정의한 후, 그에 따라 저장된 데이터임
- 마이크로소프트의 엑셀이나 관계형 데이터베이스의 테이블이 그 예에 해당함
- 각 데이터는 행과 열로 표현됨
- 열은 각각의 속성을 정의하고, 각 행은 해당 속성의 구체적인 값을 의미함
- 대개 정형 데이터의 개수가 많다고 해서 빅 데이터라고 하지 않음
- 비정형 데이터
- 정형 데이터가 아닌 데이터는 비 정형(Unstructured) 데이터이며, 텍스트, 이미지, 오디오, 비디오와 같은 형태임
- 비 정형 데이터에도 일부 정형 데이터가 포함될 수 있음
- 예를 들면, 사진 이미지에는 촬영 날짜나 시간 등의 정형 데이터가 포함될 수 있지만, 기본적으로 이미지 자체는 비 정형 데이터임
- 비 정형 데이터는 대개 NoSQL(Not Only SQL) 데이터베이스를 활용하여 처리함
- 반 정형 데이터
- 반 정형 데이터는 약한 정형 데이터를 의미함
- HTML, XML, JSON과 같은 포맷을 가짐
- 일반적인 데이터베이스는 아니지만 일부 스키마를 가지고 있음을 의미함
- 예를 들어, 전자 메일의 경우, 발신자, 수신인, 제목, 내용, 날짜와 같은 구조화된 정형 데이터도 가지고 있고, 본문에 해당하는 텍스트나 첨부 파일은 비 정형 데이터에 해당함
- 반 정형 데이터는 정형과 비 정형 데이터의 특징을 모두 가지고 있음
- 빅 데이터는 정형 데이터뿐만 아니라 비 정형, 반 정형 데이터를 모두 다루고 있음
- 데이터 양이 크다고 빅 데이터라고 하지 않음
- 빅 데이터는 볼륨(Volume), 속도(Velocity), 다양성(Variety)의 공통된 특징(3V)을 가지고 있음
- 볼륨(Volume)
- 빅 데이터라는 이름에서 알 수 있듯이, 빅 데이터에서 다루는 데이터의 양은 매우 큼
- 데이터를 효율적으로 관리하고 분석하기 위한 알고리즘이 필요함
- 속도(Velocity)
- 관계형 데이터베이스에서는 데이터를 수작업으로 입력한 후 이를 처리함
- 빅 데이터 기술을 활용하면 실시간으로 데이터를 수집하고, 빠르게 처리할 수 있음
- 다양성(Variety)
- 빅 데이터는 정형, 비 정형, 반 정형 데이터를 모두 고려하고 있음
- 빅 데이터 구조가 복잡하고 다루는 범위가 넓어 기존 데이터베이스 시스템을 이용해서 처리하기에는 곤란함
- 볼륨(Volume)
- 최근에는 3V에 더해 새로운 특징 2V(정확성, 가치)를 추가하여 함께 고려하기도 함
- 정확성(Veracity)
- 데이터 크기가 커짐에 따라 일정한 패턴을 찾기 곤란해질 수 있음
- 빅 데이터를 분석하기에 앞서 수집한 데이터가 정확하고 가치가 있는 것인지 판단해야 함
- 예를 들어, SNS로부터 수집한 데이터로부터 잘못되었거나 출처가 부정확한 데이터, 비윤리적 데이터 등은 배제해야 함
- 가치(Value)
- 빅 데이터를 분석함으로써 기업이나 조직의 현실 문제 해결에 도움이 될 수 있는 가치를 얻을 수 있어야 함
- 정확성(Veracity)
- 빅데이터 수집 소스는 가장 대표적인 곳이 페이스북, 인스타그램, 유튜브와 같은 SNS임
- SNS에는 게시글, 댓글과 같은 텍스트 뿐만 아니라, 음악, 이미지, 동영상과 같은 다양한 원천 데이터가 있음
- 최근에는 여러 산업에서 데이터의 중요성이 부각되고 있으며, 그 중 하나가 거래 데이터임
- 여러 유통, 물류, 금융 관련 업체에서 생성되는 거래 데이터는 정형 데이터 뿐만 아니라 비 정형/반 정형 데이터를 포함하고 있음
- CCTV, IoT, 제조업과 같이 새로운 산업이나 제품에 의해 빅 데이터가 생성되기도 함
- IoT 산업의 경우, 전 세계 다양한 분야에서 활용되는 센서들이 수집한 데이터를 인터넷을 거쳐 서버에 저장함
- IDC(Internet Data Center)에 따르면 2025년까지 전 세계 약 250억 개 이상의 IoT 장치가 디지털 데이터를 생성할 것으로 예상됨
빅 데이터 관련 기술
빅 데이터 분석
- 수집된 빅 데이터의 분석 사례
- 국내 대표적인 플랫폼 기업인 카카오는 여러 종류의 온라인 서비스(카카오톡, 카카오페이, 카카오TV 등)를 제공하면서 사용자 별로 다양한 데이터를 수집함
- 수집 된 데이터를 분석함으로써, 사용자의 선호도를 파악할 수 있고, 그에 따라 사용자 맞춤형 광고를 제작하거나 서비스를 개인화하여 사용자 경험을 개선함
- 국내 대표적인 플랫폼 기업인 카카오는 여러 종류의 온라인 서비스(카카오톡, 카카오페이, 카카오TV 등)를 제공하면서 사용자 별로 다양한 데이터를 수집함
- 빅 데이터를 올바르게 활용한다면, 사업 내의 개선 사항을 발굴하거나 인사이트를 제공할 수 있음
- 조직이 빅 데이터를 활용하기 위한 4단계 과정
- 빅 데이터 수집
- 빅 데이터 저장
- 빅 데이터 처리
- 빅 데이터 분석
빅 데이터 분석 - 빅 데이터 수집
- 빅 데이터는 대용량의 정형, 비 정형 데이터 집합이며, 여러 데이터 소스로부터 수집 되어야 함
- 외부로부터 수집 된 데이터를 처리하기 위해 대용량 파일 수집과 실시간 스트림 수집 방식을 이용함
- 빅 데이터의 특징인 볼륨, 다양성, 속도를 만족 시키기 위해 분산 처리가 가능한 방식을 제공해야 함
빅 데이터 분석 - 빅 데이터 적재
- 빅 데이터 적재
- 수집한 빅 데이터를 분산 저장 장치에 영구 또는 임시로 저장하는 기술
- 수집 된 빅 데이터는 이전 정형 데이터를 주로 다루는 관계형 데이터베이스와 다른 방식으로 저장되어야 함
- 빅 데이터 분산 저장소는 HDFS(Hadoop Distributed File System)이나 NoSQL을 활용함
- HDFS는 대용량 파일 적재에 주로 활용하지만, 실시간 발생되는 대용량 데이터 적재를 위해서는 NoSQL을 사용함
빅 데이터 분석 - 빅 데이터 처리
- 대용량 저장소에 저장된 빅 데이터를 분석할 수 있도록 데이터를 정형화 및 정규화 해야 함
- 빅 데이터를 분석하여 의미 있는 결론을 도출하기 위해서는 수집 된 데이터를 올바르게 이해해야 함
- 적재 된 빅 데이터를 지속적으로 탐색하고 탐색 된 결과를 정기적으로 구조화해야 함
빅 데이터 분석 - 빅 데이터 분석
- 수집 된 빅 데이터로부터 새로운 경향이나 패턴을 찾고, 올바르게 해석하여 통찰력을 확보해야 함
- 과거의 흔적(데이터)으로부터 주어진 문제에 대한 원인을 찾고, 이에 대한 개선 방향을 제시하려는 목적을 가짐
- 빅 데이터 분석을 위해 이전 통계학이나 데이터 마이닝(Data Mining) 기법 뿐만 아니라 최근의 인공지능 기술을 활용할 수 있음
대용량 데이터 저장 기술 - 개요
- 빅 데이터는 처리해야 할 데이터 용량이 매우 크므로 일반적인 데이터 적재 기법을 활용한다면 원하는 성능을 얻을 수 없음
- 수집한 데이터의 특징에 따라 처리 방식과 저장 방식의 차이가 남
- 데이터는 발생 주기에 따라 배치 처리 가능한 데이터와 실시간 데이터 스트림으로 구분할 수 있음
- 배치 처리 가능한 데이터의 경우, 대용량 파일 전체를 영구 저장 장치에 저장한 후 분산 처리함
- 실시간 로그 분석과 같이 각 데이터의 크기는 작지만 대량으로 발생하는 메시지 성 데이터는 실시간으로 분석할 수 있어야 함
대용량 데이터 저장 기술 - 하둡
- 하둡(Hadoop)
- 여러 서버를 연결하여 대용량 빅 데이터를 분산 처리할 수 있도록 지원하는 자바 기반의 오픈 소스 프레임워크
하둡은 하둡 분산 파일 시스템(HDFS)과 프로그래밍 컴포넌트인 맵리듀스(MapReduce)를 제공함
- 하둡 분산 파일 시스템
- 수집 된 대용량 데이터 블록을 여러 개의 작고 균일한 블록으로 나누어 여러 서버에 분산 저장함
- 여러 서버에 분산 및 중복 저장을 할 수 있어서 일부 서버에 오류가 발생해도 다른 서버에서 복구할 수 있으며, 높은 데이터 안정성을 얻을 수 있음
마스터/슬레이브 구조의 HDFS
- NameNode가 마스터 노드 역할을 하고, 여러 DataNode가 슬레이브 역할을 수행함
- 마스터 노드는 각 데이터 노드에 저장된 파티션들과 관련된 정보를 관리함
- 여러 데이터 노드는 사용자들의 요청에 따라 자신이 저장하고 관리하는 파티션에 대해 실제 읽기 및 쓰기 작업을 담당함
- 대상이 된 빅 데이터가 지속적으로 대규모로 수집 되는 경우, 수집 된 데이터를 더 작은 집합 또는 파티션으로 세분화함
- 저장 된 데이터를 분산 처리하기 위해서는 MapReduce 개념을 사용하며, 혼자서 할 일을 여러 명이 나누어서 동시에 수행한 후 최종적으로 합치는 작업 개념임
- 각 데이터 노드는 자신이 가진 데이터에 적절한 작업을 수행한 후(Map), 최종적으로 이를 하나로 합치는 작업(Reduce)을 수행함
- 단순하면서도 사용이 편리하고, 특정한 데이터 모델이나 스키마에 의존하지 않아 유연하며, 높은 확장성을 가지고 있음
맵리듀스 개념
대용량 데이터 저장 기술 - 스파크
- 아파치 스파크(Spark)는 오픈 소스 기반의 범용적인 목적으로 활용 가능한 분산 클러스터 컴퓨팅 프레임워크이며, MapReduce 형태의 클러스터 컴퓨팅 패러다임의 한계를 극복하기 위해 등장함
- 스파크가 자체 네이티브 파일 시스템을 가지고 있지 않으므로 데이터를 처리하기 전에 RAM에 복사하고, 작업을 완료한 후 RAM에 다시 쓰는 방식으로 동작하기 때문에 실시간 데이터 처리에 유용함
대용량 데이터 저장 기술 - 하둡과 스파크
- 하둡은 분산 저장 공간에 저장 된 데이터를 읽어 들여 Map을 통해 흩어져 있는 데이터를 연관성 있는 데이터끼리 묶은 후에, Reduce 과정에서 중복된 데이터를 제거하고 원하는 데이터로 가공하여 디스크에 저장함
- 스파크는 인 메모리 엔진을 통해 초기 MapReduce 방식의 처리 성능을 크게 향상 시켰으며, 빅 데이터 처리 플랫폼으로서 실시간으로 수집 되는 데이터 처리를 실시간으로 빠르게 처리할 수 있음
- 하둡은 주로 디스크 사용량이 많고 MapReduce 패러다임을 사용하는 작업에 사용됨
- 스파크는 유연하지만 대체로 더 많은 비용이 드는 인 메모리 처리 구조가 필요한 작업에 사용됨
빅 데이터 응용 분야 및 해결 과제
응용 분야
- 비용 절감, 새로운 수익 원 창출, 문제 해결을 위해 빅 데이터를 활용함
- 구체적인 활용 분야
- 새로운 제품 및 서비스 개발
- 유지 보수
- 비용 절감
- 고객 경험
- 리스크 관리
- 인공지능 데이터 처리
- 새로운 제품 및 서비스 개발
- 기존 고객들의 구매 후기, SNS 데이터, 최근 관련 동향 등과 같은 빅 데이터를 분석하면, 새로운 트렌드를 이해할 수 있고 이는 신제품 개발에 적극 활용될 수 있음
- 유지 보수
- 최근 IoT 기반 응용이 널리 활용되면서, 공장 설비에 부착된 센서가 수집한 빅 데이터를 분석하면 유지 보수 비용을 크게 줄일 수 있음
- 비용 절감
- 기업 활동 전반에 빅 데이터 분석을 수행하면 조직이나 세부 업무에서 비효율적인 부분을 발견할 수 있고, 신속하고 효과적인 업무 프로세스를 제안할 수 있음
- 고객을 만족 시킬 수 있는 제품 및 서비스 개발을 통해 경쟁력을 강화할 수 있음
- 고객 경험
- 자사 제품의 구매 고객을 밀착 관찰하고, 그로부터 획득한 고객의 정서 및 반응 등을 분석할 수 있다면 고객 맞춤형 경험을 제공할 수 있음
- 리스크 관리
- 코로나19와 같은 이전에 경험하지 못한 위기 상황에 대비하기 위해 기업들은 닥칠 수 있는 리스크를 미리 파악하고 이에 대비할 필요성이 생겼음
- 인공 지능 데이터 처리
- 최근 인공 지능 활용 가능 분야가 확대되면서 빅 데이터 시스템은 인공지능 시스템이 필요로 하는 대용량 학습 데이터 저장/전 처리/탐색/가공을 수행하는 역할도 담당함
응용 분야 - 제조업
- 일반적인 제조 공장은 기획 및 설계, 생산, 유통 및 판매 단계를 거치면서 이율을 취함
- 각 단계 별로 자동화된 여러 도구를 설치하여 활용하고 있음
- 별개로 동작하는 각 단계에서 생성되는 데이터는 미리 정해진 규칙 없이 생성되어 개별적으로 관리되고 있음
- 이렇게 수집한 여러 데이터를 통합하여 저장한 후, 빅데이터 분석을 수행함으로써 제조 프로세스의 비효율성을 제거할 수 있음
- 불량품을 줄이고 생산성을 향상 시킬 수 있을 뿐만 아니라 시장의 수요 변화에 능동적으로 대응하여 재고 관리를 효율적으로 진행할 수 있음
- 제조 공장에서 구체적으로 빅 데이터를 활용할 수 있는 경우
- 생산 설비 고장 시간 최소화
- 생산 설비로부터 센서가 수집한 데이터를 효과적으로 시각화하여 공장 생산 라인 별 설비의 운전 상황, 문제가 발생한 설비의 원인 파악, 해결 방법 제시, 설비 문제의 조기 발견을 가능하게 함
- 실적 관리
- 각 라인 별로 설정한 목표치와 생산 실적의 차이를 분석하여 그 원인을 파악하고, 적절한 대응 방안을 제시 함
- 생산 제품 추적
- 제품 생산 과정에서 적절한 장비 (ex) 바코드 스캐너나 무선 센서 장비)로부터 생성되는 데이터를 분석하면, 원자재부터 각 생산 라인 별 재료 소비량, 불량 률, 재고 관리, 출하, 배송의 전 과정에 대한 추적이 가능함
- 생산 설비 고장 시간 최소화
- 빅 데이터와 전통적인 데이터베이스의 차이
- 우리가 알고 있는 일반적인 데이터베이스는 대상 데이터를 일정한 규격(스키마)에 맞춰 저장한 후, 트랜잭션 시스템(DBMS)을 통해 정확한 처리를 목적으로 함
- 여러 사람들을 위해 통합된 데이터를 저장하고 운영하는 공용 데이터 창고 역할과 항상 최근의 정확한 데이터를 동적으로 유지하는 역할을 수행함
- 빅 데이터는 과거에 발생한 대규모 데이터를 수집 · 저장한 후, 이를 분석하여 주어진 목적에 부합하는 인사이트를 찾거나 원인 분석, 미래 예측을 수행하려는 것이 목적임
- 다양한 종류의 데이터를 대상으로 하고, 대규모 데이터를 효율적으로 처리하는 것이 중요하며, 분석 과정에서 일부 데이터가 누락되거나 중복되더라도 크게 문제가 되지 않음
- 빅 데이터가 해결해야 할 문제점
- 현재 빅 데이터 분석 시스템에는 다양한 기술이 개발되어 적용되고 있지만, 생성되는 데이터 양은 더 커지고 있으므로, 이에 대응할 수 있는 효과적인 기술이 필요함
- 현재 전 세계에서 생성되는 데이터의 크기는 엑사 바이트 (10¹⁸) 수준으로 증가 되고 있음
- 최근 초 거대 데이터 모델(LLM)처럼 대용량 데이터를 기반으로 하는 응용도 많아지고 있음
- 대용량 데이터를 저장하고 효율적으로 처리할 수 있는 기반 기술 개발도 함께 진행되어야 함
- 빅 데이터도 다양한 경로로 수집한 데이터를 활용하는 시스템이므로 이전 정보 처리 시스템과 같이 보안 기술이 중요함
- 시스템 내에 저장된 데이터 보안은 조직이 관리하는 데이터 및 정보 보호를 위한 정책과 세부 기술을 의미함
- 최근 중요성이 커지고 있는 개인 정보 보호는 각 개인을 식별할 수 있는 고유한 정보(이름, 주민등록번호, 유 · 무선 전화번호, 인터넷 계정 정보, 주소, 직업, SNS 관련 정보, 의료 정보, 위치 정보) 등을 수집해서는 안 된다는 원칙이 있음
- 빅 데이터 분석의 주요 목적 중 하나가 개인 맞춤 서비스 제공이며, 이를 위해서는 개인정보를 활용하는 것이 필수적임
- 수집 된 데이터 중에서 개인 식별 정보는 비 식별화(de-identification)한 후 저장하도록 함
- 비 식별화 된 개인 정보는 빅 데이터 분석에 사용되더라도 각 개인을 식별할 수 없으므로 사생활 정보를 보호할 수 있음
개인 정보 비 식별화
- 개인 정보를 비 식별화 했더라도 여러 정보 소스로부터 획득한 정보를 조합하면 특정 인을 유추할 수 있음
- ex) 주민등록번호를 이용하여 생년월일/남녀 정보 식별
- 재 식별화(re-identification)라고 함
- CCTV 영상으로부터 특정 인의 이동 경로와 같이 동의하지 않은 개인 정보 수집 문제도 발생할 수 있음
정리 하기
- 대용량의 정형/비 정형 데이터 집합을 빅 데이터라고 하며, 이를 수집 · 저장· 분석하여 의미 있는 결과를 도출하기 위해 사용함
- 빅 데이터는 대개 3V(볼륨, 속도, 다양성) 혹은 5V(3V + 정확성, 가치)의 특징을 지님
연습 문제
저장될 데이터에 대하여 미리 정해진 규칙(혹은 스키마)을 정의한 후, 그에 따라 저장된 데이터는 무엇인가?
a. 정형 데이터
위 지문은 무엇에 대한 설명인가?
1 2 3 4
빅데이터 적재 기술은 수집한 데이터를 분산 저장장치에 영구 또는 임시로 저장하는 기술이다. 수집된 빅데이터는 이전 정형 데이터를 주로 다루는 관계형 데이터베이스와는 다른 방식으로 저장되어야 한다. 이를 위해 빅데이터 분산 저장소는 대개 HDFS(Hadoop Distributed File System)이나 NoSQL을 활용한다. HDFS는 대용량 파일 적재에 주로 활용하지만, 실시간 발생하는 대용량 데이터 적재를 위해서는 NoSQL을 사용한다.
a. 빅 데이터 적재
여러 서버를 연결하여 대용량 빅 데이터를 분산 처리할 수 있도록 지원하는 자바(Java) 기반의 오픈소스 프레임워크는 무엇인가?
a. 하둡(Hadoop)
정리 하기
- 대용량의 정형/비정형 데이터 집합을 빅 데이터라고 하며, 이를 **수집 · 저장 · 분석하여 의미 있는 결과를 도출하기 위해 사용함
- 빅 데이터는 대개 3V(볼륨, 속도, 다양성) 혹은 5V(3V + 정확성, 가치)의 특징을 지님
- 빅 데이터를 활용하기 위해 빅 데이터 수집 → 빅 데이터 적재 → 빅 데이터 처리 → 빅 데이터 분석 과정을 수행하며, 각 단계 별로 여러 세부 기술이 필요함
- 향후 빅 데이터는 여러 산업에서 비용 절감, 문제 해결, 트렌드 분석 등의 목적으로 활용될 것으로 예상되며, 그에 따라 해결해야 할 기술적인 요소도 많아지고 있음