Solving Case
Pros & Limitation
Pros:
- Scaling well.
- High throughput with decent latency.
Cons:
- Implemented only on single machine multiple threads. Optimized for multi-threads but not for distributed system.
- Simple operator handler pattern. Each handler could have multiple input state but only one write output. Complex data structure like hashmap could not be implemented.
- Single thread constructing dependency topology until now, which could be the temporary limitation of scaling.
What’s especially good compared to MorphStream?
- Eliminating the border created by batching disposal to access better efficiency. By nature, transactions comes streaming without batch border, adding this border enables convenient disposal but resulting high latency. Our system uses nature border of transaction: When it’s triggered, it borns and goes disposal; when all the dependency it requires ready, it’s executed to produce timely results; when all the results it produced out-of-date to become useless to newer transactions, all resources released. Nature lifecycle brought clean logic and max efficiency in theory.
- Properly introduce streaming transactions to network field.
- Lock-free storage with cyclic ring buffer.
- Written in Rust. A language of performance comparable to C++.