Apache Phoenix Performance Result :: Fri Aug 01 13:04:31 PDT 2014

Test Suite: INDEX_WIDEKEYS

Queries by Category



Index

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

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

select /*+NO_INDEX*/ count(*) from INDEXED_TABLE_LOCAL_WIDE
1.29s 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.74s 4.0-HBASE-0.98.1-HADOOP1

select count(core) from INDEXED_TABLE_LOCAL_WIDE where core IN (1,100)
0.03s 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
0.75s 4.0-HBASE-0.98.1-HADOOP1

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

select /*+NO_INDEX*/ count(*) from INDEXED_TABLE_MUTABLE_WIDE
1.4s 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.3s 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.08s 4.0-HBASE-0.98.1-HADOOP1

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

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

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

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

select /*+NO_INDEX*/ count(*) from INDEXED_TABLE_WIDE
1.73s 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
0.47s 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
2.71s 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)
2.62s 4.0-HBASE-0.98.1-HADOOP1


Index Creation After Data

CREATE INDEX lidx5 ON INDEXED_TABLE_LOCAL_WIDE (CORE) INCLUDE (DB,ACTIVE_VISITOR)
141.81s 4.0-HBASE-0.98.1-HADOOP1

CREATE INDEX midx5 ON INDEXED_TABLE_MUTABLE_WIDE (CORE) INCLUDE (DB,ACTIVE_VISITOR)
128.39s 4.0-HBASE-0.98.1-HADOOP1

CREATE INDEX idx5 ON INDEXED_TABLE_WIDE (CORE) INCLUDE (DB,ACTIVE_VISITOR)
230.52s 4.0-HBASE-0.98.1-HADOOP1


Load Data

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

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

LOAD DATA INDEXED_TABLE_WIDE [3000000 ROWS]
1082.85s 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
47.9s 4.0-HBASE-0.98.1-HADOOP1

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

select /*+NO_INDEX*/ count(*) from INDEXED_TABLE_LOCAL_WIDE
1.29s 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.74s 4.0-HBASE-0.98.1-HADOOP1

select count(core) from INDEXED_TABLE_LOCAL_WIDE where core IN (1,100)
0.03s 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

CREATE INDEX lidx5 ON INDEXED_TABLE_LOCAL_WIDE (CORE) INCLUDE (DB,ACTIVE_VISITOR)
141.81s 4.0-HBASE-0.98.1-HADOOP1

LOAD DATA INDEXED_TABLE_LOCAL_WIDE [3000000 ROWS]
1993.25s 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
0.75s 4.0-HBASE-0.98.1-HADOOP1

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

select /*+NO_INDEX*/ count(*) from INDEXED_TABLE_MUTABLE_WIDE
1.4s 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.3s 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.08s 4.0-HBASE-0.98.1-HADOOP1

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

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

CREATE INDEX midx5 ON INDEXED_TABLE_MUTABLE_WIDE (CORE) INCLUDE (DB,ACTIVE_VISITOR)
128.39s 4.0-HBASE-0.98.1-HADOOP1

LOAD DATA INDEXED_TABLE_MUTABLE_WIDE [3000000 ROWS]
3147.52s 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
0.96s 4.0-HBASE-0.98.1-HADOOP1

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

select /*+NO_INDEX*/ count(*) from INDEXED_TABLE_WIDE
1.73s 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
0.47s 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
2.71s 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)
2.62s 4.0-HBASE-0.98.1-HADOOP1

CREATE INDEX idx5 ON INDEXED_TABLE_WIDE (CORE) INCLUDE (DB,ACTIVE_VISITOR)
230.52s 4.0-HBASE-0.98.1-HADOOP1

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



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