Phoenix is an open source project from Salesforce.com that puts a SQL layer on top of HBase, a NoSQL store. This talk will focus on answering two questions: 1) why put a SQL layer on top of a NoSQL store? and 2) how does Phoenix marry the SQL paradigm back together with the NoSQL world? Salesforce.com uses relational database technology extensively, so a big part of the ?why? for us is to provide developers with a familiar API to read and write their data. Another reason is to provide a higher level abstraction such that performance optimizations can be done without impacting the client API. Two good examples are with filtering data and aggregating data. Both operations can be executed on the client or the server-side with equivalent functional results. However, the performance characteristics between these two choices is dramatically different. This leads to the second question, of ?how? to implement a SQL layer on top of a key/value store. Here we?ll demonstrate the openness of the HBase API and how it provides enough flexibility to support a higher level language such as SQL to be surfaced, while at the same time allowing us to obtain an order of magnitude performance improvement over prior attempts to do the same. We?ll focus on how HBase enables us to follow the principle of ?bringing the computation to the data? to achieve these dramatic performance improvements.