Successfully reported this slideshow.

Apache Calcite: One planner fits all



1 of 10
1 of 10

More Related Content

Related Audiobooks

Free with a 14 day trial from Scribd

See all

Apache Calcite: One planner fits all

  1. 1. One planner fits all 
 (How Apache Calcite makes it easier to write a DBMS) Lightning talk at XLDB 2015 Stanford, California Julian Hyde (Hortonworks)
  2. 2. –Mike Stonebraker (2005) “One size fits all” is an idea whose time has come and gone
  3. 3. • Hadoop and other open source technologies have deconstructed the DBMS • Query parser/API + catalog + authorization + algorithms + scheduler + engine + data format + storage
  4. 4. image credit:
  5. 5. image credit: Interesting Boring
  6. 6. Conventional
 DB Parser Algebra 
 Data Algorithms
  7. 7. Apache Calcite
 DB framework Parser Algebra Engine 
 Data Engine 
 Data Engine 
 Data Schema SPI Operators,
 Statistics, Cost model
  8. 8. SELECT, COUNT(*)
 FROM sales
 JOIN products USING (productId)
 ORDER BY COUNT(*) DESC scan [products] scan [sales] join filter aggregate sort scan [products] scan [sales] filter’ join’ aggregate sort FilterIntoJoinRule translate SQL to relational algebra
  9. 9. Relational algebra • Robust • Allows re-use • Complex cost-based optimization • Multiple front-ends & back- ends • Not just for “flat” relations SQL Other
 QL API Algebra Rules Engine A Engine B
  10. 10. Thank you! Download: Use Calcite to build your next database! Calcite powers Apache Hive, Drill, Phoenix, Kylin An Apache Incubator project
 since May 2014 @julianhyde What’s in the box? • SQL parser & AST • JDBC/ODBC framework • Built-in operators (project, filter, …) • In-memory engine • 100+ rules • Planning engines • Adapters (CSV, JDBC, Mongo, …) • Streaming SQL • Materialized views Apache
 Calcite Apache Calcite