Introduction to Fluvio
Data engineers lunch
3/14/2022
Fluvio is the engine for Real-time Economy
Real-time data stack
v Low Latency
v Reliability
v Flexibility
v Scale
Modern Data Stack: Is this enough?
Problem: Data in Motion
● Pipeline of Tools is not abstraction
● SQL is not good abstraction for data in motion
● Time and History
● As developer, I want API
Stream: Abstraction for data in motion
Stream is an unbounded sequence of data
Fluvio: Intelligent Data Streaming Platform
● Open source project
● Built on Rust.
● Stream as first class citizen.
● Cloud-native data streaming
architecture.
● Intelligent stream processing
using WebAssembly.
Why Rust?
● High Performance with Low Latency
○ Compiled language
○ No Garbage collection
○ Zero cost abstraction
● Safety and Reliability
○ No Null Pointer
○ High level typed language (Similar to Haskell and Scalar)
○ If it compiles, it works
● Batteries built-in
○ Package Manager
○ Well established ecosystem
○ Outstanding IDE support
● Stream as first class citizen.
● Inter-operate with other languages
○ C / C++
○ Java
○ Python
○ JavaScript
“About 70% of all CVEs at Microsoft are memory safety
issues“
Microsoft
Rust Performance
Memory
Latency
p99.999
Kafka 1GB 215 ms
Fluvio 20MB 50 ms
Data Stream as first class citizen
Rust
Stream
Storage
Durable
Stream
Smart
Stream
Networking I/O
Server
Networking
Python Client
Rust
Stream
Python
Stream
Networking
Rust
Stream
Node.js
Stream
Node.js Client
Cloud Native Architecture
Streaming
Controller Metadata
Stream
Processing
Unit
Producer Consumer
Immutable Durable Stream
Temperature
Time
10
Old
New
20 3
Consumer 1
6 11 5 9 Consumer 2
Consumer 3
Producer 1
Producer 2
Partitioning and Replication of Durable Stre
Stream
Processing
Unit
Stream
Processing
Unit
Stream
Processing
Unit
p1
p2
Stock Transactions
p0
Web Clicks
ML Model
P
0
p0
p0
Producer and Consumer Client
Rust Async runtime
OS (Mac, Window, Linux, Browser)
Fluvio Rust API & C Wrapper
CLI Node API Python API Java API Go API
Language Binding
Rust
Python
Java
SmartModule based transformation
Temperature
10 20 3
Consumer
6 11 5 9
SmartModule
Network connection
WebAssembly Technology
● Memory Isolation
● Efficient
● Support multiple Languages
○ Rust
○ C++/C
○ AssemblyScript
○ C#
○ Python
○ Etc.
Type of SmartModule
SmartModule integration
SmartModule
Client Connectors
SPU
Demo

Introduction to Fluvio Data Engineer.pdf