feature perf comp_v1
TRANSCRIPT
InfiniFlux, MySQL, MongoDB, Splunk, ElasticSearch
기능, 성능 관점 제품 비교
www.infiniflux.com
Feature - query language
2
product query language
InfiniFlux Standard SQL Support, 통계처리 쉬움
MySQL Standard SQL Support, 통계처리 쉬움
Elastic search REST Api와 JSON형태의 질의 구문 지원 조건절을 직접 입력하여야 함
MongoDB find method에 조건절을 직접 입력함. 사용하기가 복잡함
Splunk SPL 지원, 통계처리 쉬움
결론
비정형 빅데이터는 Splunk나 ElasticSearch와 같은 제품, 정형 빅데이터는 SQL을 지원하는 제품인 Infiniflux와 같은 제품이 편리함.
통계처리 등을 위해서는 ElasticSearch와 MongoDB는 매우 복잡한 질의명령을작성해야 하므로 불편함.
Feature – Time Series Query
3
product Time Series Query
InfiniFluxDuration 절과 숨은 _ARRIVAL_TIME 칼럼을 이용입력된 데이터는 입력시간에 의해 파티셔닝 되어 고속 질의 가능
MySQL 지원되지 않음
Elastic search 지원되지 않음
MongoDB 지원되지 않음
Splunk duration 검색 조건 사용 가능
결론시계열 데이터를 질의하는데 있어서 Infiniflux, Splunk가 편리하며시계열 데이터의 검색 성능은 Infiniflux가 가장 좋음
Feature – Full Text Search
4
product Full Text Search
InfiniFluxSearch 연산자를 이용하여 검색 가능Inverted index가 사용되어 고속 검색 가능
MySQLLike 연산자 이용.검색 패턴에 따라 색인을 이용할 수 없는 경우가 있으며 속도가 느려질 수 있음
Elastic search 지원
MongoDB 지원
Splunk 지원
결론 정형 데이터에 대한 고속 Full text 검색은 Infiniflux가 유일함
Feature – Extended Data Type
5
product Extended Data Type
InfiniFlux IPv6, IPv4 타입 및 연산자 지원 (contains, contained)
MySQL 지원하지 않음
Elastic search 지원하지 않음
MongoDB 지원하지 않음
Splunk cidrmatch 등의 함수 및 지원
결론결론네트워크 데이터 타입과 관련 함수를 지원하는 제품은 Infiniflux가 유일함.
6
필드로그 생성
시간출발지
ip출발지
port도착지
ip도착지port
프로토콜타입
로그텍스트
상태 코드데이터크기
필드명 arrivaltime srcip srcport dstip dstport protocol eventlog eventcode eventsize
필드 타입 datetime ipv4 integer ipv4 integer shortvarchar(1024)
short long
기본적인하드웨어환경에서 1억건, 13GB의데이터로각제품의데이터입력및분석성능측정
데이터의실시간저장하드웨어사양
- CentOS 6.6
- Intel(R) Core(TM) i7-4790
CPU @3.60GHz(4 core)
- 32GB memory
- SATA DISK
데이터의실시간저장테스트대상
- InfiniFlux 2.0
- MySQL 5.2
- Splunk 6.2.3
- Elasticsearch 1.5.3
- mongo 3.0.3
[DATA]
Performance
7
4334
13848
698
1624
393
0 2000 4000 6000 8000 10000 12000 14000 16000
Elasticsearch
MySQL
splunk
mongoDB
INFINIFLUX
DATA LOADING TIME(sec)
Performance
결론 InfiniFlux는 1억건 데이터를 입력하는데 393초로 가장 빨리 로딩함.
8
3
1
85
208
4
0 50 100 150 200 250
Elasticsearch
MySQL
splunk
mongoDB
INFINIFLUX
COMPLEX SEARCH(sec)
Performance
결론InfiniFlux는 복합 연산 조건의 검색을 수행하는 4초가 걸림.MySQL이 1초로 가장 빠르지만, MySQL은 데이터 로딩 시간이 오래 걸림.
9
4337
13849
783
1832
394
Elasticsearch
MySQL
splunk
mongoDB
INFINIFLUX
OVERALL RESULT(sec)
Performance
결론 InfiniFlux는 1억건 데이터 입력과 복합 연산 검색을 394초에 수행함.
10
Performance
20.4
17.52
21.6
42.11
4.1
0 5 10 15 20 25 30 35 40 45
Elasticsearch
MySQL
splunk
mongoDB
INFINIFLUX
STORAGE SIZE(GB)
결론 InfiniFlux는 원본 13GB의 데이터를 인덱스 포함해서 압축 저장하여 4.1GB로77% 압축률을 보임.
11
Performance
InfiniFlux mongoDB splunk MySQL Elasticsearch
during time(sec) 389( 00:06:29 ) 1624( 00:10:16 ) 698 (00:11:38 ) 13848(03:50:48) 4334 (01:12:14)
insert csv size(GB) 13G
data size(GB) 4.1G 42.1157G 8.6G 17.52G 20.4G
compress rate(%) 76.92%Uncompressed
(223.97%)33.95%
Uncompressed(130.77%)
Uncompressed(156.92%)
memory used(%) 29.22 73.75 40.78 87.59 89.82
memory used(GB) 9.0756 22.9073 12.667 27.20 27.8965
data search
text search(260만) 2s 213s ( 00:03:33 ) 424s ( 00:07:04 ) 31s 2s
ip search(266만) 1s 212s ( 00:03:32 ) 40s 1s 3s
time search 1초미만 211s ( 00:03:31 ) 8s 1s 2s
statistic
sum 25s 217s ( 00:03:37 ) 435s ( 00:07:15 ) 35s 1s
average 25s 219s ( 00:03:39 ) 436s ( 00:07:16 ) 46s 4s
count 17s 218s ( 00:03:38 ) 382s ( 00:06:22 ) 45s 3s
complex query 4s 208s 85s 1s 3s
OVERALL RESULT 394s 1832s 783s 13849s 4337s
*테스트의상세 내용 : http://www.infiniflux.com/performance 참조