-
Notifications
You must be signed in to change notification settings - Fork 227
Performance
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.
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)
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)
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)