Overview
This course on temporal databases for streaming architectures aims to teach learners about the importance of time in database designs and introduce Crux, an open-source document database with bitemporal graph queries. The course covers the goals of Crux as an unbundled, pluggable, and layered database with bitemporal ACID transactions. Learners will explore the significance of bitemporality in maintaining a consistent temporal view of data in a streaming architecture. The course also delves into the design choices behind supporting a Datalog query engine on Key/Value stores, clustering with Kafka, and utilizing Clojure for system construction. The intended audience for this course includes database developers, architects, and individuals interested in temporal databases and streaming architectures.
Syllabus
Introduction
Overview
Streaming Architectures
Kafka
Logs
Temporality
Transaction Time
Valid Time
Temporal Modeling
Main Question
Stream Processing Tools
Window Limitations
Unbundled Approach
Case Study
Long Story Short
Why We Chose CLIP
Key Operations
Transaction Logs
CLI Exodus
Screenshot
New Console
Database View
Transaction ID
Table View
Document Attributes
Ticket Prices
Ballot Time History
Streaming Queries
PointinTime Queries
Unsession
Taught by
Strange Loop Conference