728x90

빅데이터의 3대요소 (3V)

  • 크기(Volume) - 데이터의 양을 표현, 데이터가 어떤 형태로 이루어지고 있냐로 포함한다. 
  • 속도(Velocity) - 데이터가 수집되고 분석되어야 하는 시간 자체를 말한다. 
  • 다양성(Variety) - 어떤 타입의 데이터가 수집되어야 하느냐이다. Ex) xml, json 
  • value(가치창출) - 빅데이터를 분석해서 무언가 가치를 창출하는게 중요하다.

세 개의 축으로 어느 한쪽이든 결합해서 확장하게 되면은 빅데이터 기술이 필요하다. 예를들면 데이터가 PB 수준이면서 Batch성이면 대표적인 빅데이터 플랫폼 하둡(Hadoop)이 목표로하고 있는 데이터처리 방법이다. 그런데 데이터 볼륨이 커지면서 Real Time일 수 있다. 그러면 데이터가 끊임없이 들어오는데 그거를 다 저장하면 너무 많은거고 어느정도 구간을 정해서 구간내에서 결정을 하는 경우도 있다. 그런것들은 보통 스트링 프로세스 라고 한다. Velocity가 얼마냐에 따라서 데이터처리 기술이 많이 달라진다.

Variety 측면은 데이터의 다양성인데, 예를들어 데이터가 아무리 다양해도 볼륨이 작으면 큰 빅데이터 기술이 필요하지 않을 수 있겠다. 데이터의 복잡도를 넓히는 측면이다.

 

volume 많기 때문에 데이터를 다루기 어려워지고, 또한 볼륨이 크면서 variety 하기 때문에 데이터의 종류가 테이블 형태로 표현되는 정형데이터 뿐만 아니라 다양한 형태의 데이터가 들어올 있다.

 

 

크기(volume)


확장 가능한 방식으로 데이터를 저장하고 분석하는 분산컴퓨팅 기법으로 접근이 필요하다. 왜냐하면 기존의 데이터 웨어하우스는 하나의 컴퓨터로 돌아가는 커다란 데이터베이스였는데 이렇게 하면 싱글 노드가 처리할 수 있는 데이터베이스가 한계가 있기 때문에 확장가능하지 않다.  그래서 최근에는 parralel database (병렬 데이터베이스)도 나온다. 결과적으로 컴퓨터 하나에 꽂을 수 있는 하드가 제한되어있으니까 컴퓨터들을 늘리는 것으로 접근할 수 밖에 없다.

 

하나의 싱글 컴퓨터 안에 들어가기 어려운 규모가 돼야지 빅데이터라고 할 수 있다.

 

분산시스템(distributed computing) 에서는 네트워크로 연결돼있는 컴퓨터를 노드라고 표현한다.

 

 

속도(velocity)


  • 실시간 처리(Real-time Processing)
    • 디지털 데이터는 매우 빠른 속도로 생성 (교통, 금융 거래, 쇼핑, SNS )
    • 데이터의 생산, 저장, 유통, 수집, 분석의 실시간 처리가 중요
  • 장기적인 접근 (Batch Processing) 
    • 수집된 대량의 데이터를 다양한 분석 기법과 표현 기술로 분석 (데이터 마이닝, 기계 학습, 자연어리 )

 

 

다양성(variety)


    • 정형(Structured)
      • 고정된 필드에 저장되는 데이터 (: 온라인 쇼핑몰에서의 제품 주문) 
      • 존의 솔루션을 이용하여 비교적 쉽게 보관, 분석, 처리 작업을 진행할 있음 (굳이 Hadoop이나 스파크 같은 것을 필요가 없다.)
  • 반정형(Semi-Structured)
    • 고정된 필드로 저장되어 있지는 않지만, XML, HTML, JSON 같이 메타 데이터나 스키마 등을 포함하는 데이터 (데이터베이스에서 표현하는 고정된 컬럼으로 되어있는 그런 모습은 아니지만 key value형태로 어느정도 스키마를 정의할 있는 문법같은게 있는데 이것들이 반정도는 구조를 갖고있는 같은 것들이다.)
  • 비정형(Unstructured)
    • 고정된 필드에 저장되어 있지 않은 데이터
    • 동영상, 사진, 오디오 데이터, 메신저로 주고 받은 대화 내용, 스마트폰에서 기록되는 위치 정보, 유무선 전화기에서 발생하는 통화 내용

+ Recent posts