분류

2020년 2월 20일 목요일

빅알자 3.빅데이터 도구 어떻게 고를까? - 벤치마크

1. 빅데이터도 결국 데이터다. 

"데이터를 관리하려면 DBMS (DataBase Management System)이 필요하다."

과거의 DBMS 서버는 데이터 관리를 위해 풀 팩키징 (모든 기능이 집약된) 형태를 띤 반면 현재의 빅데이터 플랫폼은 대체로 그렇지 않습니다. 모두 모듈화, 소형화를 통해 각각 다른 라이브러리를 결합하는 아파치 프로젝트가 제법 주목 받고 있습니다. 대량의 데이터를 빠르게 처리 하는 것이 목적이죠.

따라서 빅데이터의 사용 관점에 따라 모듈을 선택하는 것이 중요합니다.

2. 데이터 분석 관점 

데이터를 분석하는데 있어서 관점이라는 것은 매우 중요합니다.

시간의 흐름에 따른 유동 인구 분포를 계산 할 때, 1분기 매출액을 계산 할 때. 혹은 1년 전과 비교 할 때. 대부분의 관점은 시간에서 시작됩니다.

그래서 나온 것이 timestamp base 빅데이터 DBMS 입니다. 이것들은 데이터를 분석하는 관점의 기준으로 가장 많이 차용되는 시간이라는 속성을 밀리 초 단위로 기록하고 이를 데이터를 구분하는 기준 값으로 활용합니다. 때로는 파티셔닝 마저도 Timestamp를 사용하기도 합니다.

이러한 특성을 가진 빅데이터 처리 프로그램을 현재 시계열 DB라고 합니다.
국내에서는 influxDB, Graphite, OpenTSDB등이 알려져 있지만 Druid 역시 시계열 DB에 속합니다.

그리고 특성을 말로 설명하기 힘든 많은 빅데이터 플랫폼이 있습니다. (대게의 빅데이터는 비정형 분석을 특기로 하기에 구분 짓는 것이 어렵습니다. )

하지만 앞으로 시계열 DB는 대세가 될 것 입니다. 시간은 사람이 개념적으로 사물의 상태를 분할하는 필수 조건 중 하나이기 때문이죠. 사람이기에 시간에 얽매이고, 사람이기에 시간을 살아갑니다. 그리고 인간 모두가 공유하는 개념입니다. 그러므로 시간은 빠질 수 없는 필수 조건이기 때문입니다.

그리고 잡설이지만 그래서 "블랙홀이 시간을 빨아들인다" 라는 생각이 이해가 안 됩니다. 시간은 인간의 개념이기 때문입니다. "그래서 지구의 특정 지역에서 시간이 느리게 가는 것을 확인했다." 라는 말도 말이 안되는 것이죠. 그랬다면 누구나 그 곳에 공장을 짓고 싶어 할 것 입니다.  그리고 그곳의 땅값은 평당 100조원 이상의 가치를 지니게 되겠죠. 제품 하나 만드는데 드는 시간이 다른 곳 보다 적을 테니까요.

3. 성능 관점 - 벤치마크 

빅데이터는 아직도 초기에 불과합니다. 앞으로 더욱 발전하겠지만 지금은 어느 것이 좋다 라며 대세를 자부할 수 없는 상태 입니다. 그래서 벤치마크가 중요합니다. 도입 하느냐 마느냐에 대한 관점을 제공할 수 있으니까요.

빅데이터 벤치마크 결과를 검색해보면 다양한 툴이 존재합니다. 10여개가 넘죠. 그런데 이런게 빅데이터에 대한 실질적인 벤치마크가 되는지는 의문입니다. 왜냐면 빅데이터는 말 그대로 정말 크기 때문이죠. 하지만 벤치마크 도구들의 성능측정 방법을 보면 RDBMS에서도 튜닝을 통해 어렵지 않게 처리할 수 있는 녀석도 종종 있습니다.

솔직히 제가 생각하는 빅데이터는 petabyte 정도의 처리를 빨리할 수 있어야 합니다.

여러 벤치마크 중 결과가 공유된 벤치마크만 소개하겠습니다.

1. AMPLAB (비정형 처리)

다양한 제품의 측정 결과를 제공

테스트 환경 정보
항목 내용
테스트 데이터 형태 비정형 웹페이지와 URL등
테스트 유형 스캔, 정렬, 조인, 외부스크립트
테스트 데이터 저장소 HDD, MEM
데이터 저장소 유형 S3

테스트 데이터 정보
S3 노드 랭크테이블
방문자
문서
바이트 바이트 바이트
/tiny/ small 1200 77.6KB 1.7MB 6.8MB
/1node/ 18,000,000 1.28GB 115,000,000 25.4GB 29.09GB
/5node/ 90,000,000 6.38GB 775,000,000 126.8GB 136.9GB

3개의 테이블을 조인 연산 한다면 제법 빅데이터스러운 것 같습니다. 조인하지 않을 경우 빅데이터인지 의문스러운 양입니다.

2. TPC-H(정형 처리)


드루이드와 스파크의 벤치마크에 사용되었습니다.
1GB(, 100GB의 데이터 셋을 기준으로 데이터의 집계, 카운트, 정렬을 하는 벤치마크입니다.   정형입니다.(정확히 다 그런지는 모르겠습니다.)

TPC-H 데이터셋 형태

스타스키마를 구성해놓고 조인연산을 수행할 수 있는 환경도 제공하며, 조인처리를 하지 않는 DB시스템에서는 집계 성능만을 추출해서 공유하기도 합니다. 개인적으로 자료 검색할 때 가장 많이 보는 도표이기도 합니다. 그냥 단순 집계는 빅데이터라고 부르기 애매한 수준의 크기입니다.

4. 벤치마크를 소개한 이유 

벤치마크는 시스템의 처리 성능을 확인 할 수 있는 주요한 기준입니다. 각 시스템의 사양을 어느 정도로 구축해야할지, 시스템 규모와 비용을 산정할 수 있는 기준자료로 활용되기에 비즈니스 의사결정에 있어서 가장 중요한 포인트라고 할 수 있습니다.



오늘은 여기까지.
다음은 데이터 처리에 대해 기본적으로 알아야할 이야기를 소개할 것 같습니다.

빅데이터 개념잡기 '빅알자'는 여러 페이지로 이루어질 것 입니다.

댓글 없음:

댓글 쓰기