빅 데이터 플랫폼 이론과 사례 - 보안 로그 분석 중심으로 - 큐비트시큐리티 신승민 CEO
Buzzword Best of Breed Brick-and-mortar Log Tail 6 sigma Startup 4G Valued-add Blog HTML5 Cloud Big Data computing Web 2.0
프롤로그 빅 데이터는 어떻게 사용되고 있나?
멜론의 빅데이터 기획사 및 아티스트의 최대 니즈인 인지도 제고 및 팬 확대 활동을 효과적으로 지원하기 위해 빅데이터를 기반으로 팬 소비지수 를 개발했고, 이를 통해 고객 개개인의 아티스트 및 음악 장르 선호도를 분석한 후 유망한 잠재고객을 추출해 기획사 및 아티스트에게 제공하게 된다. 즉, 각 기획사는 자신들의 특색에 맞는 고객층에 데이터를 얻을 수 있는 것이다.
멜론의 빅데이터 콘텐츠 생산자인 파트너(기획사, 유통사)와 이용자
멜론의 빅데이터 Hadoop ecosystem
Netfilx 사례 2011년 이후 본격적으로 이슈가 되기 시작 기존 데이터 마이닝과 차이 등 명확한 정의에 대한 이견
Netfilx 사례
Netfilx 사례 Jobs introduce Reed Hasting
Netfilx 사례 The entire first season, thirteen episodes, premiered on February 1, 2013. A second season of thirteen episodes premiered on February 14, 2014.
Netfilx 사례 빅데이터 분석 데이터에는 2,500만 명 이용자들의 일시 정지, 되감기 등의 이용 행태를 포함한 하루 평균 3,000만 건의 동영상 재생 기록, 최근 3개월의 기간에 해당하는 20억 시간 이상의 동영상 시청 시간 동안의 기록이 포함됨. 또한, 하루 평균 400만 건의 이용자 평가 및 300만 건의 검색 정보, 위치 정보, 단말 정보, 주중 및 주말의 시청 행태, 시청률 조사업체 닐슨(Nielsen)을 비롯한 시장조사 업체가 제공하는 메타데이터, SNS 서비스인 페이스북과 트위터로부터 수집한 소셜 데이터 등을 추적해 분석하는 것으로 알려짐.
첫번째 주제 빅 데이터란 무엇인가?
빅 데이터 정의 2011년 11월 이후 본격적으로 이슈가 되기 시작 기존 데이터 마이닝과 차이 등 명확한 정의에 대한 이견
빅 데이터 정의 다양한 정의 존재 데이터 크기 관점 기존 데이터베이스 도구로 사용자가 수용 가능한 지연 시간 내에 데이터를 처리하기 어려운 큰 데이터 [1] 가트너 데이터 크기(volume), 다양성(variety), 속도(velocity) 3가지 관점에서 빅 데이터 기술을 정의 [2]
빅 데이터 특징 (3Vs defined by Gartner) Volume - 데이터의 크기 선택이아닌 생성되는 모든 데이터를 수집함 예) 페이스북: 클릭스트림 압도적인 데이터 크기: 트위터 매일 12테라 생성 Variety - 데이터의 다양성 정형화된 데이터를 넘어 텍스트/오디오/비디오 등 모든 유형의 데이터를 분석 대상으로 함 예) 구글: 2,300억 단어 분석 음성인식 엔진 개발[3] Velocity 데이터의 속도 Source : http://bit.ly/uvpsod 두 가지 관점의 속도를 의미 - 사용자가 원하는 시간내 데이터 분석 결과 제공 - 데이터의 Update되는 속도가 매우 빨라짐 예) 브리티시 텔레콤: 1초 60기가의 데이터 전송[4]
빅 데이터 vs 데이터 마이닝 두 용어의 차이가 명확히 정의되진 않았음, 그러나 연구대상 측면에서 차이가 존재함 Traditional Data Mining Big Data 데이터 분석 중심 데이터 수집/처리/분석 전체 정형 데이터 중심 정형/비정형 등 모든 유형 Target 데이터 중심 생산된 데이터 모두 3Vs는 Data 관리에 관한 리포트에서 처음 제시됨 [5] 두 용어는 같은 방향성을 지향, 구분 자체가 무의미할 수 있음
두 번째 주제 빅 데이터 기술을 어떻게 구현할 것인가?
하둡 빅 데이터 핵심 기술 빅 데이터 분산 처리/분석 오픈소스 데이터 관리 플랫폼 더그 커팅이 구글의 데이터 관리 체계인 GFS와 MapReduce의 논문을 바탕으로 2006년 개발, 이후 야후 합류 후 급속도로 발전 야후 42,000개 하둡 노드 사용 (42,000 PB 저장) 알아두면 좋은 이야기 하둡: 더그 커팅의 아들이 갖고 놀던 노란 코끼리 인형 이름 하둡 관련 모듈들의 이름 또한 동물 이름에서 유래됨
HDFS (Hadoop Distributed File System) 대용량 파일과 처리를 위한 분산 처리 시스템 서버 한대 X, 여러 대의 서버에 나눠 데이터를 저장 - 하나의 파일을 64MB 단위로 나눠 3개의 복제 파일로 저장 Name Node Client Name Node 파일 저장 위치 정보 소유 각 Data Node 접근 요청을 관리 단일 실패 지점 Data Node Data Node.. Data Node N대의 서버에 데이터 분산 저장 클라이언트 Name Node로 부터 파일의 위치에 대한 정보 획득, 개별 Data Node와 직접 데이터를 주고받음
HDFS의 파일 저장 구조 Name Node Data Node 1 Data Node 2 Data Node 3 Data Node 4 Source : http://fniko.tistory.com/4
MapReduce HDFS에 나눠 저장된 파일의 분산처리를 위한 모델 요청시 각 Data Node에서 데이터를 처리한 후, 단계적으로 통합 최종 결과를 도출하는 모델 ① Data는 64MB 단위로 나눠져 3개의 복제본이 각 Data Node에 저장됨 ② 각 Data Node는 개별 파일에 대한 처리를 실행 ③ 처리가 끝난 결과는 다른 Data Node의 결과와 통합 ④ 하나의 최종 결과를 도출
Map Reduce 동작 원리 Network In-degree 분석 예제 Map: 나눠진 파일에서 각각의 Node들의 In-degree를 계산 Reduce: 각각 노드들의 계산 결과를 합쳐 최종 결과 생성 Map Stage Reduce Stage Source : http://goo.gl/hrdagn
왜 하둡인가? 낮은 비용 - UNIX급 RDBMS 서버 1억 이상 소요, DBMS가격 추가 - 하둡 500만원대 x86급 서버를 필요 용량만큼 구매 (하둡은 무료) 유연한 확장성 - 서버의 재가동 없이 데이터 노드를 추가로 용량 추가 가능 뉴욕 타임즈는 2008년 130년 분량의 신문 기사 1100만 페이지를 아마존 클라우드에서 하둡을 이용해 하루만에 PDF로 변환 총비용 200만원에 불과, 이 작업은 그 당시 일반 서버로 진행할 경우, 약 14년이 소요될 것으로 예상됨
꼭 하둡인가? 데이터와 서비스의 특징에 맞는 빅 데이터 플랫폼이 중요 - 배치형태 데이터 처리, 데이터 정합성의 보장이 어려움 실시간 분석이나, 은행 거래와 같은 서비스에는 부적합 - MapReduce 작업시 네트워크 오버헤드 발생 5테라/5노드 이하 연구용 데이터는 부적합 구글은 2011년 약 90만대의 Data Node를 가진 것으로 파악됨 [6] 하지만 오늘날 하둡은 빅 데이터 플랫폼의 주류, 이러한 추세 계속 될 것 미래 빅 데이터 인력으로 플랫폼에 대한 기본 이해는 필수
[참고] 구글 GFS의 어제와 오늘 초창기 구글 서버 (1998년) Source : http://goo.gl/dqaqkj 현재의 구글 데이터 센터 (2012년) Source : http://goo.gl/pejvho
Open Compute Project
하둡 생태계(Hadoop Ecosystem) 하둡과 연동해서 돌아가는 무수한 서브 프로젝트가 존재 이들을 Hadoop Ecosystem이라고 통칭함 데이터 수집, 저장, 분석, 관리 등 다양한 솔루션 존재 하둡 기반 프로젝트 수행시 필요한 솔루션들을 적절히 활용 - MapReduce는 일반사용자가 사용하기 어려움 프로그램밍을 최소화하면서 하둡을 활용하는 환경 구축 가능 Cloudera는 솔루션들을 통합 관리하는 하둡 패키지 제공
Hadoop Ecosystem (1/3) 분류 솔루션명 Chukwa 추출 Flume Scribe 주요 특징 분산환경 Log Data 수집 솔루션 DBMS, 웹 서버, Application 서버 등 프로그램들이 생성하는 LOG를 주로 수집 Sqoop 하둡과 RDBMS 간 데이터 포팅을 지원 HBase 칼럼 기반 데이터 베이스, 구글의 BigTable 논문을 기반 데이터의 정합성 보다 대규모 데이터의 저장, 관리과 목적 Neo4J SNS등 그래프 데이터를 저장, 관리하기 위한 그래프 DB Hadoop 기반은 아님 최근 HDFS상에 데이터 저장을 지원 저장
Hadoop Ecosystem (2/3) 분류 솔루션명 주요 특징 Pig 야후에서 개발된 하둡용 데이터 질의 솔루션으로 복잡한 MapReduce 프로그래밍 대신 Pig Latin이라는 자체 언어를 제공하여 데이터 질의 (SQL과 유사한 개념) Hive 페이스북에서 개발된 DW 솔루션, Pig와 달리 SQL과 유사한 HiveQL이라는 쿼리를 제공하고 HiveQL이 MapReduce 프로 그래밍을 대신 수행함 Impala 클라우데라에서 개발된 데이터 질의 솔루션, Hive와 같은 형태 이나 HiveQL이 MapReduce 프로그래밍을 사용하지 않고 SQL 질의를 수행 Tajo 국내 기업 그루터가 개발중인 DW 솔루션, Impala와 동일하게 MapReduce를 쓰지 않으며, SQL 표준 호환을 지원하여 질의 를 수행, 최근 아파치 최상위 프로젝트로 선정 질의 / DW
Hadoop Ecosystem (3/3) 분류 분석 솔루션명 주요 특징 Mahout 머신러닝 지원 솔루션, 분류/군집/추천 등을 지원 Giraph 네트워크 데이터 분석 솔루션 Rhadoop 하둡의 데이터를 활용하여 R에서 분석 가능하게 한 솔루션 다양한 작업들을 관리하는 워크플로우 관리 솔루션 워크 플로우 관리 클라 우드 Woozie 데이터 추출(PIG), 분석(MapReduce) 등을 일련의 워크플로우로 처리할 수 있게 지원 Cascading 복잡한 MapReduce 프로그램밍을 개발을 일반적인 자바로 대체할 수 있게 추상화 제공 Zookeper 하둡 분산 서버들의 상호 조정을 지원하는 솔루션 서버의 집중을 막고, 서버간 데이터 동기화를 지원하며, 장애 내구성을 지원, HBase 등의 솔루션과 연동되어 사용됨
하둡의 변화 하둡은 2.0에서 YARN 이라는 새로운 프레임워크를 제공 - 범용 클러스터 모델 - MapReduce를 사용하지 않는 어플리케이션이 하둡 클러스터에 접근할 수 있도록 관리 기능을 제공 Source : http://goo.gl/azs20l
하둡의 미래 실시간 처리 Yarn과 함께 나타난 가장 큰 변화 새로운 방식의 데이터 처리 플랫폼이 계속해서 출현하고 있음 - 특히 실시간 처리 방식의 데이터 처리 어플리케이션이 주목 받고 있음 Hadoop은 배치 방식을 중심으로 데이터 분석하였음 (데이터 처리 DW 저장) - 페이스북은 매일 DW에서 10PB 데이터를 배치 처리하여 분석하고 있음[7] 그러나 서비스 유형에 따라 실시간 처리가 필요한 어플리케이션이 존재 - 영화나 음악을 추천해 주는 서비스에 Context-Aware를 적용한다면? Spark 등 새로운 하둡 기반 실시간 처리 솔루션이 주목 받고 있음
SPARK (하둡 기반 실시간 빅 데이터 분석 플랫폼) 하둡과 유사한 형태로 작동, 메모리에 캐시된 데이터를 사용하여 분석 - 디스크에 접근하는 비용을 줄임으로써 40배 이상 속도 향상 [8] SQL on Hadoop, 머신러닝, 그래프 분석 등의 솔루션을 제공함 메모리 및 SSD의 가격하락과 함께 확산이 기대됨 Source : http://spark.apache.org/ Source : http://goo.gl/kvsddj
[참고] SPARK에 대한 관심 증가 구글 트랜드 검색 추세 Spark + Hadoop 2013년부터 가파르게 증가
[참고] SSD 가격 변화 SSD의 GB 당 비용은 현재 거의 1$ / GB 이하를 형성 중 SSD의 안정성 이슈가 있으나, 장기적으로 HDD 대체가능성이 높음 Source : http://goo.gl/qypwpw
[참고] SSD and
[참고] SSD and
[참고] SSD and Samsung: SM1715, 3D V-NAND(Vertical NAND) flash Sequential read/write speed: 3,000 MB/s; 2,200 MB/s Random reads/writes: 750,000 IOPS; 130,000 IOPS Reliability: 10 DWPDs for five years
세번째 주제 빅데이터 로그 분석 시각화
데이터 시각화의 중요성 데이터 시각화란 광범위하게 분산된 방대한 양의 자료를 분석해 한눈에 볼 수 있도록 도표나 차트 등으로 정리하는 것 12 10 정보 정보 8 1 열 2 열 3 열 6 4 정보 2 0 1 행 2 행 3 행 4 행 얻을 수 있는 효과 자료로부터 정보를 습득하는 시간 절감으로 즉각적인 상황 판단이 가능 자료를 습득하는 사람들의 흥미를 유발하고 정보의 빠른 확산을 촉진 자료를 기억하는데에도 도움
시각 이해와 시각화 시각 이해의 위계 정보를 전달하여 이해시킨다는 측면에서 각각의 이해를 구축하고 있는 요소 Source: http://goo.gl/rddovd
시각 이해와 시각화 정보 인터랙션 디자인 데이터에서 지혜로 갈수록 경험에 기반한 스토리텔링이 중요해짐, 이러한 맥락에서 시각화의 방법도 각 단계에 따라 다르게 나타남 Source: http://goo.gl/0hrgbf
시각화 분류와 구분 정보형 메시지 vs. 설득형 메시지 정보 디자인에서 메시지를 전달하고자 하는 측면에서 분석해 보면 대게 정보 사용자 의 목적과 관점에 따라서 두 가지로 나누어 볼 수 있음 하나는 개관적인 정보를 전달하기 위해 정보형 메시지 를 전달하기 위한 것 다른 하나는 주장하는 바를 알리기 위한 설득형 메시지 를 전달하기 위한 것
시각화 분류와 구분 정보형 메시지 중요한 실제 지형 지도를 왜곡하더라도 사람들이 보기 쉽도록 개념적으로 지하철 지도를 구현한 것
시각화 분류와 구분 설득형 메시지 각 사회 계층을 암시하는 옷을 가로로 재단하고 상하 계층별로 다시 연결해 한 벌의 셔츠로 표현한 것으로, 사회 계층별 분포 데이터를 극단적으로 함축한 시각화 예 이 인포 그래픽에서는 정보를 전달하는데, 주력하기 보다는 시각적으로 강렬하게 주장하는 바를 전달하기 위한 설득적 메시지를 보내는데 주력하였다고 볼 수 있다. Source: http://goo.gl/qotttw Source: http://goo.gl/qotttw
빅데이터 시각화 영역 정보형 메시지 설득형 메시지 데이터 시각화 정보 시각화 인포 그래픽 빅데이터 시각화 빅데이터 시각화는 데이터를 기반으로 객관적 표현에 더 초점을 맞추는 경우가 많으므로 정보형 메시지를 전달하기 위한 데이터 시각화 작업을 하는 경향이 강함 반면 데이터를 기초로 해석된 의미의 설득형 메시지를 전달하기 위한 경우에는 인포그래픽에 해당하는 결과물이 도출됨 정보 디자인은 모두 정보메시지의 전달이 불확실해지면 안되지만, 양적 정보 디자인을 다루는 빅데이터 시각화에서는 정보의 내용과 환경이 매우 복잡하므로 표현 도 다차원적이어야 함 어떤 식으로 데이터를 해석하는가에 대한 통계적 차원의 시각화 방법 및 이에 따른 시각 표현이 병행되어야 함
빅데이터 분석 기술 데이터 마이닝 대량으로 축적된 데이터를 분석하고 그 속에 숨어 있는 항목 사이의 상호 관계와 패턴을 찾아내는 방법을 이용해 지식을 찾고자 하는 것이다. 회귀 분석 총면적, 방 개수, 보안 대책, 주차장 유무, 역에서의 거리, 건축 연수 등이 아파트 집세에 영향을 미치는 것처럼 특정 변수의 움직임이 다른 변수와 서로 연결될 때 그 관계를 구체적인 수식을 구하는 통계 분석 방법이다. 연관 분석 Associations analysis 마켓바스켓 분석이라고도 불리며, 상품 A를 사는 사람은 상품 B도 사는 경향이 있다 는 상황처럼 2개 이상의 상품 중에서 함께 사는 상품의 조합을 밝히는 분석 방법이다.
빅데이터 시각화 프로세스 빅 데이터 시각화 프로세스 1단계: 정보 구조화 데이터를 수집하고 정제하는 과정으로 데이터 세트를 만들기 위한 분석 도구 필요 2단계: 정보 시각화 주로 분석 도구에서 제공하는 그래프나 분석 도구의 특성에 따른 시각화 3단계: 정보 시각표현 시각화의 의도를 강화해 전달하기 위해 분석 도구에서 만든 결과물에 별도 그래픽 요소를 추가해 완성
빅데이터 시각화 프로세스 수준, 종류 시각화 도구 기초 수준 엑셀, CVS/JSON, 구글 차트 API, Flot, Raphael, D3(Data-Driven Document), Visual.ly 인터랙티브 GUI 컨트롤 Crossfilter, Tangle 매핑 Modest Maps, Leaflet, Polymaps, OpenLayers, Kataograph, CartoDB 전문가 Processing, NodeBo, R, Weka, Gephi
빅데이터 시각화 프로세스 D3.js 데이터 시각화 프레임워크, 자바스크립트로 개발 HTML5, SVG, 그리고 CSS3를 이용하여 시각화 요소를 만들어냄 무엇보다 중요한 것은 W3C 표준임 Source: http://goo.gl/unlen8
빅데이터 시각화 프로세스 R 무료 오픈 통계 소프트웨어 대다수의 통계학자와 분석가가 선호 데이터 통계 분석을 목적으로 만들어짐 코드 몇 줄로 데이터 그래픽을 만들어 주는 패키지가 많음 인터랙티브 그래픽과 애니메이션이 취약하고 그래픽적으로 한번 더 수정 Source: http://goo.gl/r8ad5j
마지막 주제 Plura 빅데이터 로그 분석 플랫폼
나는 왜 로그 보안 빅 데이터 사업을 시작했는가?
① 의미 있는 사업 누군가에게 매우 이로운 일 DLL 인젝션 해킹을 탐지할 수 있는 시스템이 출시되었나? 로그를 분석하여 실시간으로 해킹 탐지를 해 주는 서비스는? 아직 없다 필요가 없어서? 실제로 대부분의 해킹 후 업무는 로그 분석 - 로그 분석에 일주일에서 한 달 정도 소요 - 시간 소요가 많이 되는 이유 중에 하나는 충분히 조사할 로그가 없어서 (기본 시스템에 저장되는 기본 크기는 20MB로 신규 로그 생성은 기존 로그를 삭제 후 쌓임) 필요는 했지만 쓸 수가 없었다. 로그의 의미 분석을 하지 않음 - 기본 사업은 대부분 로그를 취합하는 용도로 사용되었음 - 로그를 분석하는 일은 개별 기업의 업무라고 생각하였음 로그를 누적 관리해 주고 실시간 보안 분석 서비스 플랫폼이 필요함 - 로그 취합을 넘어서 분석으로 해킹 위험을 탐지하여 실시간 알려 주는 환경 구축이 필요함 - 로그 의미를 사용자가 아닌 분석하는 로그 관리 서비스가 현장에선 더 절실함
Plura 해킹 탐지 방법 행위 기반 로그 분석 시스템 시스템의 로그를 취합하여 빅데이터 분석 처리 과정을 거쳐 보안 위험 사항을 알리고 해결하도록 제공하는 퍼블릭 클라우드 기반 정보 보안서비스입니다.
Plura 제품의 특징
끝으로 빅 데이터 연구란?
Source: 스타트업은 데이터를 어떻게 바라봐야 할까? (Slideshare, 하용호, 2014)
린 스타트업의 프로세스 핵심은 속도, 피드백, 반복을 통해 낭비를 줄인다.
린 스타트업의 프로세스 직관적으로도 잘 하는 부분 어떻게 해야 할지 잘 모르는 부분
린 스타트업의 프로세스 고객은 여기에 있다!
고객을 알기 위해서는 데이터가 반드시 필요하다.
데이터에 목숨 거는 건 누구나 마찬가지다!
금요일 마다 기저귀를 사는 사람들이 맥주도 사더라.
알고 보니 퇴근하면서 아내 심부름으로 기저귀 사러 간 남편 맥주도 같이 사곤 함 기저귀랑 맥주를 함께 진열 했더니 매출 상승!!! - 1992년, Osco Drug stores
어느 날 아부지 한 분이 성을 내며 쳐들어 왔다. 사장 나와!
10대 딸에게 보낸 쿠폰 북에 임산부 용품만 잔뜩! 이 자식들 내 딸을 농락하다니
그러나 아버지는 사과하면서 나올 수 밖에 없었는데 따..따님이 실제로 임신했습니다!
은 알아 내었었다! 임신 3개월 쯤 로션 취향이 바뀐다!! 향 있는 로션 향 없는 로션 로션 취향이 갑자기 바뀐 따님의 임신을 눈치챔!
왜 이렇게 다들 득달같이 데이터에 달려드는가?
경쟁은 어디에서 일어나는가? 시대가 흐르며 경쟁력의 핵심이 바뀜
기술 가격 기회 Data
유저의 관심이 가장 소중한 자원 기회 눈길을 받는 법이 필요 눈길을 받았을 때 원하는 것을 제시해야 함 데이터로 유저를 알아내야 함!
그런데 정말 중요한 것을 말씀 드리지 않았다.
중요한 것은 지식이 아님
데이터로 이야기하는 문화 (DATA DRIVEN)
언제부터? Right Now!
조직이 작을 때, 데이터가 얼마 없어 보기 쉬울 때 이때 데이터에 익숙해져야 한다.
누구부터 데이터를 봐야 할까?