TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Bistro Streams – A light-weight column-oriented stream analytics server

26 pointsby asavinovalmost 7 years ago

2 comments

asavinovalmost 7 years ago
Bistro Streams [1] is similar to Kafka Streams in how it is supposed to be used - it is implemented as a library which can be part of an application (including IoT analytics) or run at the edge, for example, on gateways or devices. However, Bistro Streams is based on different principles and has the following major distinguishing features:<p>o [Column-oriented logical model] Bistro Streams describes its data processing logic using mainly column operations as opposed to set operations [2]. It is a unique feature of this system: no joins, no group-by, no map-reduce.<p>o [Column-oriented physical model] Data within the system is represented in columns (in-memory). It is apparently not new and widely used in column stores but it is new for stream processing. In the case of long histories (which is needed for complex analysis) and complex analytic workflows it can provide higher performance. It is also important for running on edge devices with limited resources.<p>o [Separate injection, processing, retention] Bistro Streams separates the logic of (1) triggering the processes for appending, evaluating, and deleting data from the logic of (2) what to do during evaluation (data processing itself). In particular, the frequency and conditions for starting evaluations are specified using a separate API. The same for retention policy where deletion time is determined not by the windows used during its processing (say, for moving average) but separately.<p>I am the author of Bistro Streams [1] and the underlying Bistro Engine [2]. I will be glad to answer questions and any feedback is welcome. In particular, what are possible application areas for this system.<p>[1] Bistro Streams: <a href="https:&#x2F;&#x2F;github.com&#x2F;asavinov&#x2F;bistro&#x2F;tree&#x2F;master&#x2F;server" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;asavinov&#x2F;bistro&#x2F;tree&#x2F;master&#x2F;server</a><p>[2] Bistro Engine: <a href="https:&#x2F;&#x2F;github.com&#x2F;asavinov&#x2F;bistro&#x2F;blob&#x2F;master&#x2F;core" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;asavinov&#x2F;bistro&#x2F;blob&#x2F;master&#x2F;core</a>
评论 #17305188 未加载
noir-yorkalmost 7 years ago
I get the impression that Bistro has a lot of thought put into it, but after quick skim through the docs and examples I still am not sure what Bistro is except &quot;Like Kafka streams but different&quot;.<p>The example code is spread under core and server and very sparsely documented. It is not clear what is going on.<p>If you had a walk through of the examples that would go a long way to conveying what Bistro is and how to use it. If there already is such a document apolgies, I must have missed it.