Skip to content
This repository has been archived by the owner on Feb 12, 2022. It is now read-only.

Performance

scienty edited this page Mar 15, 2013 · 25 revisions

Phoenix follows the philosophy of bringing the computation to the data by using:

  • coprocessors to perform operations on the server-side thus minimizing client/server data transfer
  • custom filters to prune data as close to the source as possible

In addition, to minimize any startup costs, Phoenix uses native HBase APIs rather than going through the map/reduce framework.

Below are charts showing relative performance between Phoenix and some other related products.

Phoenix vs Hive (running over HDFS and HBase)

Phoenix vs Hive
Query: select count(1) from table over 10M and 100M rows. Data is 5 narrow columns. Number of Region Servers: 4 (HBase heap: 10GB, Processor: 6 cores @ 3.3GHz Xeon)

Phoenix vs Impala (running over HBase)

Phoenix vs Impala
Query: select count(1) from table over 1M and 5M rows. Data is 3 narrow columns. Number of Region Server: 1 (Virtual Machine, HBase heap: 2GB, Processor: 2 cores @ 3.3GHz Xeon)

Phoenix vs OpenTSDB

Phoenix vs OpenTSDB
Query: select sum(value) from table. Data contains 15M datapoints. Number of Region Server: 1 (Local, HBase heap: 2GB, Processor: 6 cores @ 3.3GHz Xeon)
Correction: Looks like the image compares Phoenix vs Hive (not OpenTSDB).

Clone this wiki locally