What is a Data Stream
Any data that is continuously flowing
Main Stages of Data Stream Management
Collection – Analyze – Consume
Architecture Components
- Collection (Data Integration)
- Storage
- Stream Processing / Analysis
- Consumption
Architecture Characteristics
- Data Stream Availability (time pattern aspect fixed/pattern/intermittent)
- Real-Time ( macros to < milli-seconds)
- Near Real-Time (seconds to Minutes)
- Mini Batch (hour)
- Immutable Data Stream
- Pay Load / Type of Data
- In Bytes / KBs
- In MBs (Images, files)
- Storage & Data Stream Consumption Access Pattern
- Storage
- Time oriented (time series)
- Shard / Partition support
- Consumer Re-playability / Multiple re-reads
- Consumption Access Pattern
- Point to Point Consumption – store data in as-is to source data
- Multiple consumers – canonical view (JSON, AVRO)
- Latest and greatest data of a particular type of data stream (type could be primary key OR composite key or a whole data source latest state) – structured streaming
- Storage
- Security
- Row level security
- Field level security
- Data Source level security
- Data Stream Processing
- Row oriented processing
- Mini-Batch processing
- Incremental and continuous processing
- Stateful and Stateless data stream management
- Serverless
- Chaining data stream processing
- Infrastructure As A Code support to kickstart Data Stream Processing
- Source Data Steam & Data Stream Processed Output Data – Schema Management and Registry
- Scalability, Failover and Accessibility
- Fault-tolerant system
- Highly Available
- Distributed data storage management and data stream processing