Nowadays, data is continuously being generated from various sources, e.g. sensor data from the IoT, user-clicking events on the Internet, etc.. We want to build low-latency applications that respond quickly to these incoming streaming data to provide better user experience, real-time data insights and timely business decisions.
However, currently, it is not easy to build such stream processing applications. To construct a basic stream processing architecture, we always need to combine multiple independent components. For example, you would need at least a streaming data capture subsystem, a message/event storage component, a stream processing engine, and multiple derived data systems for different queries.
By subscribing to streams in HStreamDB, any update of the data stream will be pushed to your apps in real time, and this promotes your apps to be more responsive.
You can also replace message brokers with HStreamDB and everything you do with message brokers can be done better with HStreamDB.
HStreamDB provides built-in support for event-time based stream processing. You can use your familiar SQL to perform basic filtering and transformation operations, from basic filtering and transformation operations, statistics and aggregation based on multiple kinds of time windows and even joining between multiple streams.
With connectors provided, you can easily integrate HStreamDB with other external systems, such as MQTT Broker, MySQL, Redis, ElasticSearch... More connectors will be added.
With maintaining materialized views incrementally, HStreamDB enables you to gain ahead-of-the-curve data insights that response to your business quickly.
With an optimized storage design, not only can HStreamDB provide reliable and persistent storage but also guarantee excellent performance despite large amounts of data written to it.
With the architecture that separates compute from storage, both compute and storage layers of HStreamDB can be independently scaled seamlessly. And with the consensus algorithm based on the optimized Paxos, data is securely replicated to multiple nodes which ensures high availability of our system.
Create a directory for storing db datas
Start local logdevice cluster
docker run -td --rm --name some-hstream-store -v /dbdata:/data/store --network host hstreamdb/hstream ld-dev-cluster --root /data/store --use-tcp
Start HStreamDB Server
docker run -it --rm --name some-hstream-server -v /dbdata:/data/store --network host hstreamdb/hstream hstream-server --port 6570 --store-config /data/store/logdevice.conf
Start HStreamDBs interactive SQL CLI
docker run -it --rm --name some-hstream-cli -v /dbdata:/data/store --network host hstreamdb/hstream hstream-client --port 6570
HStreamDB is a streaming database designed for streaming data, managing from accessing, storing, processing to distributing large-scale real-time data streams.
The streaming database uses streams as the basic object and real-time as their main feature, and is a re-architecture and redesign of databases in the streaming era.