Apache Phoenix Performance Result :: Mon Aug 04 19:34:21 PDT 2014

Test Suite: INDEX_WIDEKEYS

Queries by Category



Index

select count(*) from INDEXED_TABLE_LOCAL_WIDE
50.63s 4.0-HBASE-0.98.1-HADOOP1

select /*+ INDEX(INDEXED_TABLE_LOCAL_WIDE lidx1 lidx2 lidx3 lidx4) */ count(*) from INDEXED_TABLE_LOCAL_WIDE
49.98s 4.0-HBASE-0.98.1-HADOOP1

select /*+NO_INDEX*/ count(*) from INDEXED_TABLE_LOCAL_WIDE
1.54s 4.0-HBASE-0.98.1-HADOOP1

select round(date, 'day',50), sum(core)+2 from INDEXED_TABLE_LOCAL_WIDE where (CORE<10 or CORE>90) group by round(date, 'day',50), host
0.11s 4.0-HBASE-0.98.1-HADOOP1

select /*+NO_INDEX*/ round(date, 'day',50), sum(core)+2 from INDEXED_TABLE_LOCAL_WIDE where (CORE<10 or CORE>90) group by round(date, 'day',50), host
1.98s 4.0-HBASE-0.98.1-HADOOP1

select count(core) from INDEXED_TABLE_LOCAL_WIDE where core IN (1,100)
0.02s 4.0-HBASE-0.98.1-HADOOP1

select count(NONINDEXED) from INDEXED_TABLE_LOCAL_WIDE where core IN (1,100)
SQL Exception - Check logs for 4.0-HBASE-0.98.1-HADOOP1

select count(*) from INDEXED_TABLE_MUTABLE_WIDE
1.08s 4.0-HBASE-0.98.1-HADOOP1

select /*+ INDEX(INDEXED_TABLE_MUTABLE_WIDE midx1 midx2 midx3 midx4) */ count(*) from INDEXED_TABLE_MUTABLE_WIDE
0.96s 4.0-HBASE-0.98.1-HADOOP1

select /*+NO_INDEX*/ count(*) from INDEXED_TABLE_MUTABLE_WIDE
1.36s 4.0-HBASE-0.98.1-HADOOP1

select round(date, 'day',50), sum(core)+2 from INDEXED_TABLE_MUTABLE_WIDE where (CORE<10 or CORE>90) group by round(date, 'day',50), host
0.52s 4.0-HBASE-0.98.1-HADOOP1

select /*+NO_INDEX*/ round(date, 'day',50), sum(core)+2 from INDEXED_TABLE_MUTABLE_WIDE where (CORE<10 or CORE>90) group by round(date, 'day',50), host
2.02s 4.0-HBASE-0.98.1-HADOOP1

select count(core) from INDEXED_TABLE_MUTABLE_WIDE where core IN (1,100)
0.05s 4.0-HBASE-0.98.1-HADOOP1

select count(NONINDEXED) from INDEXED_TABLE_MUTABLE_WIDE where core IN (1,100)
2.01s 4.0-HBASE-0.98.1-HADOOP1

select count(*) from INDEXED_TABLE_WIDE
6.6s 4.0-HBASE-0.98.1-HADOOP1

select /*+ INDEX(INDEXED_TABLE_WIDE idx1 idx2 idx3 idx4) */ count(*) from INDEXED_TABLE_WIDE
10.32s 4.0-HBASE-0.98.1-HADOOP1

select /*+NO_INDEX*/ count(*) from INDEXED_TABLE_WIDE
28.65s 4.0-HBASE-0.98.1-HADOOP1

select round(date, 'day',50), sum(core)+2 from INDEXED_TABLE_WIDE where (CORE<10 or CORE>90) group by round(date, 'day',50), host
3.14s 4.0-HBASE-0.98.1-HADOOP1

select /*+NO_INDEX*/ round(date, 'day',50), sum(core)+2 from INDEXED_TABLE_WIDE where (CORE<10 or CORE>90) group by round(date, 'day',50), host
19.39s 4.0-HBASE-0.98.1-HADOOP1

select count(core) from INDEXED_TABLE_WIDE where core IN (1,100)
0.09s 4.0-HBASE-0.98.1-HADOOP1

select count(NONINDEXED) from INDEXED_TABLE_WIDE where core IN (1,100)
20.99s 4.0-HBASE-0.98.1-HADOOP1


Load Data

LOAD DATA INDEXED_TABLE_LOCAL_WIDE [3000000 ROWS]
2110.58s 4.0-HBASE-0.98.1-HADOOP1

LOAD DATA INDEXED_TABLE_MUTABLE_WIDE [3000000 ROWS]
3448.99s 4.0-HBASE-0.98.1-HADOOP1

LOAD DATA INDEXED_TABLE_WIDE [3000000 ROWS]
1318.25s 4.0-HBASE-0.98.1-HADOOP1




Queries by Table



INDEXED_TABLE_LOCAL_WIDE


Indexing test. Phoenix 2.0+ feature. See explain plan by hovering over version label to see which index table is used.

ROWS 3000000 [3M]

DDL CREATE TABLE $TABLE (HOST CHAR(2) NOT NULL,DOMAIN char(200) NOT NULL,FEATURE VARCHAR NOT NULL,DATE DATE NOT NULL,USAGE.CORE BIGINT,USAGE.DB BIGINT,STATS.ACTIVE_VISITOR INTEGER, STATS.NONINDEXED INTEGER CONSTRAINT PK PRIMARY KEY (HOST, DOMAIN, FEATURE, DATE)) MAX_FILESIZE=30485760;CREATE LOCAL INDEX lidx1 ON $TABLE (CORE);CREATE LOCAL INDEX lidx2 ON $TABLE (DB);CREATE LOCAL INDEX lidx3 ON $TABLE (DB,ACTIVE_VISITOR);CREATE LOCAL INDEX lidx4 ON $TABLE (CORE,DB,ACTIVE_VISITOR);

DATA GENERATOR
STRING :: Values: NA|CS|EU
STRING :: Length: 200 Values: RANDOM
STRING :: Values: Login|Report|Dashboard|Sales|UI
DATE :: Values: SEQUENTIAL
INTEGER :: Max. Value: 100 Values: RANDOM
INTEGER :: Max. Value: 2000 Values: RANDOM
INTEGER :: Max. Value: 10000 Values: RANDOM
INTEGER :: Max. Value: 10000 Values: RANDOM

select count(*) from INDEXED_TABLE_LOCAL_WIDE
50.63s 4.0-HBASE-0.98.1-HADOOP1

select /*+ INDEX(INDEXED_TABLE_LOCAL_WIDE lidx1 lidx2 lidx3 lidx4) */ count(*) from INDEXED_TABLE_LOCAL_WIDE
49.98s 4.0-HBASE-0.98.1-HADOOP1

select /*+NO_INDEX*/ count(*) from INDEXED_TABLE_LOCAL_WIDE
1.54s 4.0-HBASE-0.98.1-HADOOP1

select round(date, 'day',50), sum(core)+2 from INDEXED_TABLE_LOCAL_WIDE where (CORE<10 or CORE>90) group by round(date, 'day',50), host
0.11s 4.0-HBASE-0.98.1-HADOOP1

select /*+NO_INDEX*/ round(date, 'day',50), sum(core)+2 from INDEXED_TABLE_LOCAL_WIDE where (CORE<10 or CORE>90) group by round(date, 'day',50), host
1.98s 4.0-HBASE-0.98.1-HADOOP1

select count(core) from INDEXED_TABLE_LOCAL_WIDE where core IN (1,100)
0.02s 4.0-HBASE-0.98.1-HADOOP1

select count(NONINDEXED) from INDEXED_TABLE_LOCAL_WIDE where core IN (1,100)
SQL Exception - Check logs for 4.0-HBASE-0.98.1-HADOOP1

LOAD DATA INDEXED_TABLE_LOCAL_WIDE [3000000 ROWS]
2110.58s 4.0-HBASE-0.98.1-HADOOP1


INDEXED_TABLE_MUTABLE_WIDE


Indexing test. Phoenix 2.0+ feature. See explain plan by hovering over version label to see which index table is used.

ROWS 3000000 [3M]

DDL CREATE TABLE $TABLE (HOST CHAR(2) NOT NULL,DOMAIN char(200) NOT NULL,FEATURE VARCHAR NOT NULL,DATE DATE NOT NULL,USAGE.CORE BIGINT,USAGE.DB BIGINT,STATS.ACTIVE_VISITOR INTEGER, STATS.NONINDEXED INTEGER CONSTRAINT PK PRIMARY KEY (HOST, DOMAIN, FEATURE, DATE)) MAX_FILESIZE=30485760;CREATE INDEX midx1 ON $TABLE (CORE);CREATE INDEX midx2 ON $TABLE (DB);CREATE INDEX midx3 ON $TABLE (DB,ACTIVE_VISITOR);CREATE INDEX midx4 ON $TABLE (CORE,DB,ACTIVE_VISITOR);

DATA GENERATOR
STRING :: Values: NA|CS|EU
STRING :: Length: 200 Values: RANDOM
STRING :: Values: Login|Report|Dashboard|Sales|UI
DATE :: Values: SEQUENTIAL
INTEGER :: Max. Value: 100 Values: RANDOM
INTEGER :: Max. Value: 2000 Values: RANDOM
INTEGER :: Max. Value: 10000 Values: RANDOM
INTEGER :: Max. Value: 10000 Values: RANDOM

select count(*) from INDEXED_TABLE_MUTABLE_WIDE
1.08s 4.0-HBASE-0.98.1-HADOOP1

select /*+ INDEX(INDEXED_TABLE_MUTABLE_WIDE midx1 midx2 midx3 midx4) */ count(*) from INDEXED_TABLE_MUTABLE_WIDE
0.96s 4.0-HBASE-0.98.1-HADOOP1

select /*+NO_INDEX*/ count(*) from INDEXED_TABLE_MUTABLE_WIDE
1.36s 4.0-HBASE-0.98.1-HADOOP1

select round(date, 'day',50), sum(core)+2 from INDEXED_TABLE_MUTABLE_WIDE where (CORE<10 or CORE>90) group by round(date, 'day',50), host
0.52s 4.0-HBASE-0.98.1-HADOOP1

select /*+NO_INDEX*/ round(date, 'day',50), sum(core)+2 from INDEXED_TABLE_MUTABLE_WIDE where (CORE<10 or CORE>90) group by round(date, 'day',50), host
2.02s 4.0-HBASE-0.98.1-HADOOP1

select count(core) from INDEXED_TABLE_MUTABLE_WIDE where core IN (1,100)
0.05s 4.0-HBASE-0.98.1-HADOOP1

select count(NONINDEXED) from INDEXED_TABLE_MUTABLE_WIDE where core IN (1,100)
2.01s 4.0-HBASE-0.98.1-HADOOP1

LOAD DATA INDEXED_TABLE_MUTABLE_WIDE [3000000 ROWS]
3448.99s 4.0-HBASE-0.98.1-HADOOP1


INDEXED_TABLE_WIDE


Indexing test. Phoenix 2.0+ feature. See explain plan by hovering over version label to see which index table is used.

ROWS 3000000 [3M]

DDL CREATE TABLE $TABLE (HOST CHAR(2) NOT NULL,DOMAIN char(200) NOT NULL,FEATURE VARCHAR NOT NULL,DATE DATE NOT NULL,USAGE.CORE BIGINT,USAGE.DB BIGINT,STATS.ACTIVE_VISITOR INTEGER, STATS.NONINDEXED INTEGER CONSTRAINT PK PRIMARY KEY (HOST, DOMAIN, FEATURE, DATE)) IMMUTABLE_ROWS=true,MAX_FILESIZE=30485760;CREATE INDEX idx1 ON $TABLE (CORE);CREATE INDEX idx2 ON $TABLE (DB);CREATE INDEX idx3 ON $TABLE (DB,ACTIVE_VISITOR);CREATE INDEX idx4 ON $TABLE (CORE,DB,ACTIVE_VISITOR);

DATA GENERATOR
STRING :: Values: NA|CS|EU
STRING :: Length: 200 Values: RANDOM
STRING :: Values: Login|Report|Dashboard|Sales|UI
DATE :: Values: SEQUENTIAL
INTEGER :: Max. Value: 100 Values: RANDOM
INTEGER :: Max. Value: 2000 Values: RANDOM
INTEGER :: Max. Value: 10000 Values: RANDOM
INTEGER :: Max. Value: 10000 Values: RANDOM

select count(*) from INDEXED_TABLE_WIDE
6.6s 4.0-HBASE-0.98.1-HADOOP1

select /*+ INDEX(INDEXED_TABLE_WIDE idx1 idx2 idx3 idx4) */ count(*) from INDEXED_TABLE_WIDE
10.32s 4.0-HBASE-0.98.1-HADOOP1

select /*+NO_INDEX*/ count(*) from INDEXED_TABLE_WIDE
28.65s 4.0-HBASE-0.98.1-HADOOP1

select round(date, 'day',50), sum(core)+2 from INDEXED_TABLE_WIDE where (CORE<10 or CORE>90) group by round(date, 'day',50), host
3.14s 4.0-HBASE-0.98.1-HADOOP1

select /*+NO_INDEX*/ round(date, 'day',50), sum(core)+2 from INDEXED_TABLE_WIDE where (CORE<10 or CORE>90) group by round(date, 'day',50), host
19.39s 4.0-HBASE-0.98.1-HADOOP1

select count(core) from INDEXED_TABLE_WIDE where core IN (1,100)
0.09s 4.0-HBASE-0.98.1-HADOOP1

select count(NONINDEXED) from INDEXED_TABLE_WIDE where core IN (1,100)
20.99s 4.0-HBASE-0.98.1-HADOOP1

LOAD DATA INDEXED_TABLE_WIDE [3000000 ROWS]
1318.25s 4.0-HBASE-0.98.1-HADOOP1



Note: Hover over version label to see Phoenix Query Explain Plan.