+ All Categories
Home > Documents > Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a...

Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a...

Date post: 02-Aug-2021
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
19
Transcript
Page 1: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.
Page 2: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

view

view

Why is Materialize?

OLTPmoderate OLTP load

view

view

view

increased

DenormalizationCaches

Caches

CachesOssification

Page 3: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

What is Materialize?“incremental view maintenance offload”

Incremental View Maintenance Read-only

ChangeLog

SQL ClientSQL ClientSQL Client

Control plane

Data plane

ChangeLogs

ChangeLogs

ChangeLogs

CREATE VIEW v AS ...

SELECT COUNT(*) FROM ...

SELECT COUNT(*) FROM v;

Page 4: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

The Materialize Stack

Timely Dataflow

Differential Dataflow

Indices AST Render

MaterializePlanning

Page 5: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

Timely Dataflow

a dataflow

op op

op

op

data exchange

another dataflow

op

op

yet another dataflow

} workers

yet another dataflowyet another dataflowyet another dataflow

Page 6: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

Differential Dataflow

a dataflow

GroupJoinMap

MapInput

Streams of “updates”: (data, time, diff)

e.g. String

e.g. u64

e.g. i64Operators produce “correct” output stream.

Page 7: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

Differential Dataflow

a dataflow

GroupJoinMap

MapInput

Arrange : Stream -> Index + Stream(by key) (of indices)

Advanced Topic 1: Arrangements

Page 8: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

Arrange

Differential Dataflow

a dataflow

GroupJoinArrange

ArrangeInput

Advanced Topic 1: Arrangements

: Stream -> Index + Stream(by key) (of indices)

Page 9: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

Arrange

Differential Dataflow

a dataflow

GroupJoinArrangeInput

Advanced Topic 1: Arrangements

: Stream -> Index + Stream(by key) (of indices)

Group

Page 10: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

Differential Dataflow

a dataflow

GroupJoinArrange

Advanced Topic 1: Arrangements

Group

Input

Page 11: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

Differential Dataflow

a dataflow

GroupJoinArrange

Advanced Topic 1: Arrangements

Group

another dataflowImport Group

yet another dataflowImport Distinct

yet another dataflowImport Count

Input

Page 12: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

Differential Dataflow

a dataflow

Group

JoinInput

Input

Advanced Topic 2: Delta Queries

JoinInput

materialization

Page 13: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

Differential Dataflow

a dataflow

Group

dJoinInput

Input

Advanced Topic 2: Delta Queries

dJoinInput

Page 14: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

Differential Dataflow

a dataflow

Group

Advanced Topic 2: Delta Queries

dJoinInput

Input Input

dJoin

dJoinInput

Input Input

dJoin

dJoinInput

Input Input

dJoin

Page 15: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

Differential Dataflow

a dataflow

Group

dJoinInput

Input

Advanced Topic 2: Delta Queries

Input

dJoin

dJoinInput

Input Input

dJoin

dJoinInput

Input Input

dJoin

Page 16: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

Differential Dataflow

a dataflow

Advanced Topic 3: Iteration

Works great!

Page 17: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

The Materialize Stack

Timely

Differential

Indices AST Render

MaterializePlanning

Page 18: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

The Materialize Stack

Indices AST Render

MaterializePlanning

Differential

Timely

Page 19: Why is Materialize? - GitHub Pages · 2019. 9. 10. · Planning Materialize. Timely Dataflow a dataflow op op op op data exchange another dataflow op op yet another dataflow}workers.

.io@frankmcsherry


Recommended