one planner fits all · julian hyde (hortonworks) –mike stonebraker (2005) “one size fits...

10
One planner fits all (How Apache Calcite makes it easier to write a DBMS) Lightning talk at XLDB 2015 Stanford, California Julian Hyde (Hortonworks)

Upload: others

Post on 27-May-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: One planner fits all · Julian Hyde (Hortonworks) –Mike Stonebraker (2005) “One size fits all” is an idea whose time has come and gone ... translate SQL to relational algebra

One planner fits all (How Apache Calcite makes it easier to write a DBMS)

Lightning talk at XLDB 2015 Stanford, California

Julian Hyde (Hortonworks)

Page 2: One planner fits all · Julian Hyde (Hortonworks) –Mike Stonebraker (2005) “One size fits all” is an idea whose time has come and gone ... translate SQL to relational algebra

–Mike Stonebraker (2005)

“One size fits all” is an idea whose time has come and gone

Page 3: One planner fits all · Julian Hyde (Hortonworks) –Mike Stonebraker (2005) “One size fits all” is an idea whose time has come and gone ... translate SQL to relational algebra

• Hadoop and other open source technologies have deconstructed the DBMS

• Query parser/API + catalog + authorization + algorithms + scheduler + engine + data format + storage

Page 4: One planner fits all · Julian Hyde (Hortonworks) –Mike Stonebraker (2005) “One size fits all” is an idea whose time has come and gone ... translate SQL to relational algebra

image credit: http://oliviaobryon.com

Page 5: One planner fits all · Julian Hyde (Hortonworks) –Mike Stonebraker (2005) “One size fits all” is an idea whose time has come and gone ... translate SQL to relational algebra

image credit: http://oliviaobryon.com

Interesting

Boring

Page 6: One planner fits all · Julian Hyde (Hortonworks) –Mike Stonebraker (2005) “One size fits all” is an idea whose time has come and gone ... translate SQL to relational algebra

Conventional DB

Parser

Algebra

Catalog

Data

Algorithms

Page 7: One planner fits all · Julian Hyde (Hortonworks) –Mike Stonebraker (2005) “One size fits all” is an idea whose time has come and gone ... translate SQL to relational algebra

Apache Calcite DB framework

Parser

Algebra

Engine

Data

Engine

Data

Engine

Data

Schema SPI Operators, Rules,

Statistics, Cost model

Page 8: One planner fits all · Julian Hyde (Hortonworks) –Mike Stonebraker (2005) “One size fits all” is an idea whose time has come and gone ... translate SQL to relational algebra

SELECT products.name, COUNT(*) FROM salesJOIN products USING (productId) WHERE sales.discount IS NOT NULLGROUP BY products.name 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

Page 9: One planner fits all · Julian Hyde (Hortonworks) –Mike Stonebraker (2005) “One size fits all” is an idea whose time has come and gone ... translate SQL to relational algebra

Relational algebra• Robust

• Allows re-use

• Complex cost-based optimization

• Multiple front-ends & back-ends

• Not just for “flat” relations

SQL OtherQL API

AlgebraRules

Engine A

Engine B

Page 10: One planner fits all · Julian Hyde (Hortonworks) –Mike Stonebraker (2005) “One size fits all” is an idea whose time has come and gone ... translate SQL to relational algebra

Thank you!Download: http://calcite.incubator.apache.org

Use Calcite to build your next database!

Calcite powers Apache Hive, Drill, Phoenix, Kylin

An Apache Incubator projectsince 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

ApacheCalciteApache Calcite