2. •IT를 구성하는 서버, 네트워크장치, 어플리케이션 등이
자신들의 상황(변화)을 실시간으로 끊임없이 방출하는
데이터로서 빅데이터를 구성하는 대부분의 데이터 형태
(http://en.wikipedia.org/wiki/Machine-generated_data)
데이터 특징
•초당 수 십만건 이상 로그 데이터 생성 (완전한 빅데이터)
• 시계열 특성 (시간순 데이터 중요도 차이 큼)
• Append-Only 저장소 특징
• 위험 예측 및 방지를 위한
실시간 데이터 분석 및 통계 요구
3. In-Memory
DBMS
Disk Based
DBMS
Columnar
DBMS
Search Engine Time-Series
Columnar
DBMS
대표 솔루션 알티베이스 오라클 Sybase IQ splunk iFluxTM
실시간 인덱스 ☆
(고성능)
X
(느림)
X
(매우 느림)
△ ☆
(고성능)
저장 공간 X
(메모리 제약)
△
(압축없음)
☆
(고압축)
O
(저압축)
☆
(고압축)
실시간 검색 X X X ☆
(패턴 검색)
☆
(패턴 검색)
통계 분석 성능 ☆ △ ☆
(탁월한 분석)
X
(SQL 없음)
☆
(탁월한 분석)
Machine Data 환경
• Sensor Device 개수 매년 30% 증가 (2020년 약 500억개, IBM)
• Mobile Traffic 증가량 매년 평균 78% (매킨지)
Challenges
• 실시간 저장-인덱싱 : 초당 50만건 이상 트래픽
• 저장 공간 : 무한히 증가하는 데이터, 저장공간 효율화
• 실시간 검색 : 데이터 패턴에 실시간 대한 조건 검색 엔진
• 통계 처리 : 수시간 ~ 수개월의 데이터 분석 처리
5. 실시간 저장 및 인덱싱 이슈
◦ 초당 50만건 이상 트래픽 지원
◦ How?
시계열 특성을 이용한 Data-Append
Time-based partition 기법 이용 (부분 인덱싱)
Data Mover 개념
고효율/저비용 비트맵 인덱스 구조
저장 공간 이슈 (수십 ~ 수백배 실시간 압축)
◦ 인덱스 압축 – Bitmap index 내부의 다양한 비트 압축 알고리즘 사용
◦ 데이터 압축 – Columnar DBMS에서의 다양한 Dictionary 기반 압축 알고리즘
실시간 검색 이슈
◦ Keyword bitmap index (일종의 inverted-index)를 실시간 구성 및 검색 (POC
완료)
◦ 시간 역순으로 Memory Window 구성 (최근 데이터를 가장 빠르게 검색)
대규모 통계 질의
◦ TPC-H 레벨의 SQL 지원
◦ Columnar 구조의 통계 질의 성능 극대화
Cardinality 특성 및 압축 기반 I/O 비용 최소화, 검색 효율 최대
7. 1주일간 상위 트래픽 사용자의 이름과 트래픽 정보 구하기
SPL
table duration=1w ssl-flow | stats sum(eval(tx_bytes+rx_bytes)) as
total, sum(tx_bytes) as tx, sum(rx_bytes) as rx by login | lookup sslplus login as
login_name output name | replace login is null "알 수 없음" | sort limit=30 -total |
fields name, login, tx, rx, total
SQL
SELECT sslplus.name, nvl(ssl-flow.login, "알 수 없음"), sum(tx_bytes) as tx,
sum(rx_bytex) as rx, sum(tx_bytes + rx_bytes) as total
FROM ssl-flow, RIGHT OUTER JOIN sslplus ON ssl-flow.login = sslplus.login
WHERE _time > sysdate - 7
GROUP BY ssl-flow.login
ORDER BY total DESC
LIMIT 30;
어떤 것이 더 개발하고, 알아보기 쉬울까요?