diff --git a/src/talks/2022-04-02-UBH-Vizier.erb b/src/talks/2022-04-02-UBH-Vizier.erb new file mode 100644 index 00000000..dde67c43 --- /dev/null +++ b/src/talks/2022-04-02-UBH-Vizier.erb @@ -0,0 +1,222 @@ +--- +template: templates/talk_slides_v1.erb +title: "UB Hacking: Microkernel Notebooks" +--- + + +
+

Microkernel Notebooks

+

Oliver Kennedy

+

+ + + + Boris Glavic, Juliana Freire, Michael Brachmann, William Spoth, Poonam Kumari, Ying Yang, Su Feng, Heiko Mueller, Aaron Huber, and many more...

+
+ + +
+
+

But first...

+
+ +
+

Databases?

+ +
+ +
+ +
+ +
+

250?

+ + +
+ +
+ + Adapted from CC BY-SA 3.0, Wikimedia Commons +
+ +
+ + Adapted from Wat; Gary Bernhardt @ CodeMash 2012 +
+ +
+

CSE 4/562

+ + + +

Applied Computer Science

+
+ +
+ +
+ +
+ +
+ +
+

+      CREATE VIEW salesSinceLastMonth AS
+        SELECT l.*
+        FROM lineitem l, orders o
+        WHERE l.orderkey = o.orderkey
+        AND o.orderdate > DATE(NOW() - '1 Month')
+    
+
+

+      SELECT partkey FROM salesSinceLastMonth
+      ORDER BY shipdate DESC LIMIT 10;
+    
+

+      SELECT suppkey, COUNT(*)
+      FROM salesSinceLastMonth
+      GROUP BY suppkey;
+    
+

+      SELECT partkey, COUNT(*)
+      FROM salesSinceLastMonth
+      GROUP BY partkey;
+    
+
+
+ +
+

Opportunity: Views exist to be queried frequently

+

Idea: Pre-compute and save the view’s contents!
+(like an index)

+
+ +
+ + openclipart.org +
+ +
+

When the base data changes,
the view needs to be updated too!

+
+ +
+
+ $$\texttt{VIEW} \leftarrow Q(\mathcal D)$$ +
+

Our view starts off initialized

+
+ +
+

Idea: Recompute the view from scratch when data changes.

+
+ +
+
+ $$\texttt{WHEN } \mathcal D \leftarrow \mathcal D+\Delta\mathcal D \texttt{ DO: }\\ + \texttt{VIEW} \leftarrow Q(\mathcal{D}+\Delta\mathcal{D})$$ +
+
+ +
+ + CC BY-SA 3.0, Wikimedia Commons +
+ +
+
+ $$\texttt{WHEN } \mathcal D \leftarrow \mathcal{D}+\Delta\mathcal D \texttt{ DO: }\\ + \texttt{VIEW} \leftarrow \texttt{VIEW} + \Delta Q(\mathcal D,\Delta\mathcal D)$$ +
+ + + + + + + + + +
$\Delta Q$(ideally) Small & fast query
$+$(ideally) Fast "merge" operation
+
+ +
+

Intuition

+
+ $$\mathcal{D} = \{\ 1,\ 2,\ 3,\ 4\ \} \hspace{1in} \Delta\mathcal{D} = \{\ 5\ \}$$ + $$Q(\mathcal D) = \texttt{SUM}(\mathcal D)$$ +
+
+
$$ 1 + 2 + 3 + 4 + 5 $$
+
$$Q(\mathcal D+\Delta\mathcal D) \sim O(|\mathcal D| + |\Delta\mathcal D|)$$
+
+
+
$$ 10 + 5 $$
+
$$\texttt{VIEW} + SUM(\Delta\mathcal D) \sim O(|\Delta\mathcal D|)$$
+
+
+ +
+ + + ©1999 Warner Bros. Pictures +
+ +
+ + + +
+

Microkernel Notebooks

+

Oliver Kennedy

+

+ + + + Boris Glavic, Juliana Freire, Michael Brachmann, William Spoth, Poonam Kumari, Ying Yang, Su Feng, Heiko Mueller, Aaron Huber, and many more...

+
+ + +
+ +
+ + Jupyter / Monokernel Notebooks + - remind people what jupyter is + - behind the scenes look (cut/paste, monolithic kernel) + - problems (c.f., Joel Grus) + - Order of execution is unclear + - stale and edited cells not visible + +
+ +
+ +
+ +
+ + Vizier + + - Basic Model + - Behind the Scenes (Microkernel) + - Demo + - Basic UI + - Revise/Update + - Spreadsheet + - Replay on new data + - Caveats + - New Architecture + - Websockets + - Workflow Deltas ("Reactive" API rant, tie back to DBs) + +
+ +
\ No newline at end of file diff --git a/src/talks/graphics/2022-04-02/250-textbook.png b/src/talks/graphics/2022-04-02/250-textbook.png new file mode 100644 index 00000000..93afe9b6 Binary files /dev/null and b/src/talks/graphics/2022-04-02/250-textbook.png differ diff --git a/src/talks/graphics/2022-04-02/DBToQ.svg b/src/talks/graphics/2022-04-02/DBToQ.svg new file mode 100644 index 00000000..c61902ec --- /dev/null +++ b/src/talks/graphics/2022-04-02/DBToQ.svg @@ -0,0 +1,1024 @@ + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + Q( ) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/talks/graphics/2022-04-02/Macintosh_classic.jpg b/src/talks/graphics/2022-04-02/Macintosh_classic.jpg new file mode 100644 index 00000000..27fd8224 Binary files /dev/null and b/src/talks/graphics/2022-04-02/Macintosh_classic.jpg differ diff --git a/src/talks/graphics/2022-04-02/Macintosh_classic_250.jpg b/src/talks/graphics/2022-04-02/Macintosh_classic_250.jpg new file mode 100644 index 00000000..76e31e62 Binary files /dev/null and b/src/talks/graphics/2022-04-02/Macintosh_classic_250.jpg differ diff --git a/src/talks/graphics/2022-04-02/db-convergence.svg b/src/talks/graphics/2022-04-02/db-convergence.svg new file mode 100644 index 00000000..607f9181 --- /dev/null +++ b/src/talks/graphics/2022-04-02/db-convergence.svg @@ -0,0 +1,382 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + Databases + + Algorithms + + + + Systems + + + + Theory + + + + Hardware + + + + PL + + HCI + AI/ML + Data Sci. + + + + + + diff --git a/src/talks/graphics/2022-04-02/er-diagrams.png b/src/talks/graphics/2022-04-02/er-diagrams.png new file mode 100644 index 00000000..eefd85e4 Binary files /dev/null and b/src/talks/graphics/2022-04-02/er-diagrams.png differ diff --git a/src/talks/graphics/2022-04-02/morpheus.jpeg b/src/talks/graphics/2022-04-02/morpheus.jpeg new file mode 100644 index 00000000..4a02f133 Binary files /dev/null and b/src/talks/graphics/2022-04-02/morpheus.jpeg differ diff --git a/src/talks/graphics/2022-04-02/nuclear_db.svg b/src/talks/graphics/2022-04-02/nuclear_db.svg new file mode 100644 index 00000000..02ae2bad --- /dev/null +++ b/src/talks/graphics/2022-04-02/nuclear_db.svg @@ -0,0 +1,1002 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/talks/graphics/2022-04-02/nuclear_dino.png b/src/talks/graphics/2022-04-02/nuclear_dino.png new file mode 100644 index 00000000..7c745029 Binary files /dev/null and b/src/talks/graphics/2022-04-02/nuclear_dino.png differ diff --git a/src/talks/graphics/2022-04-02/nuclear_dino_db.png b/src/talks/graphics/2022-04-02/nuclear_dino_db.png new file mode 100644 index 00000000..e5f04561 Binary files /dev/null and b/src/talks/graphics/2022-04-02/nuclear_dino_db.png differ diff --git a/src/talks/graphics/clipart/Female-or-Male-Unisex-Geek-or-Nerd-Light-Skin.svg b/src/talks/graphics/clipart/Female-or-Male-Unisex-Geek-or-Nerd-Light-Skin.svg new file mode 100644 index 00000000..ae3516e0 --- /dev/null +++ b/src/talks/graphics/clipart/Female-or-Male-Unisex-Geek-or-Nerd-Light-Skin.svg @@ -0,0 +1,406 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + Openclipart + + + + + + + + + + + diff --git a/src/talks/graphics/clipart/Snail.jpg b/src/talks/graphics/clipart/Snail.jpg new file mode 100644 index 00000000..197e26bf Binary files /dev/null and b/src/talks/graphics/clipart/Snail.jpg differ