HStreamDB

为物联网数据存储和实时处理而生的流数据库

HStreamDB

为什么选择 HStreamDB ?

随着计算机和网络技术的迅猛发展以及向各行业的不断渗透,数据的产生方式和产生来源相比以前都有了极大地丰富,比如:来自传感器的数据、网站上的用户活动数据、来自移动终端和智能设备的数据、金融市场的实时交易数据,各种监控程序产生的数据等等。然而在如今激烈竞争、复杂多变的商业环境下,营销时机转瞬即逝,风险防控必须分秒必争,商业决策要求快速精准,因此数据的处理必须在更短的时间内得到结果,最好是能够做到实时处理。

尽管如今越来越多的企业和组织已经认识到流处理的巨大价值并开始应用和部署相关的系统,但要落地一整套流处理技术栈却绝非易事。在实际实施的过程中就会发现当前的解决方案普遍存在着:复杂难用、部署和运维麻烦、上手门槛高、组件杂乱、API 不统一、迁移困难等问题。尤其当前基本的流处理方案都要涉及众多的分布式系统和组件,包括但不限于:实时数据采集和捕获系统、实时数据存储系统、流计算引擎、下游的数据和应用系统。

事实上,一个专为流式数据设计的数据库系统,就可以解决以上的全部难题。HStreamDB 就是这样的一款流数据库,就像你可以借助传统数据库轻松搭建一个简单的 CURD 应用一样,借助 HStreamDB 你可以轻松无依赖地实现一个基本的流式的应用。

功能特性

推送实时数据到应用

通过订阅 HStreamDB 中的数据流,任何更新都会实时推送到应用中,提高应用的灵敏性。

用 HStreamDB 代替消息中间件,消息中间件做的一切事情都可以用 HStreamDB 来更好地完成。

基于 SQL 的数据流处理

HStreamDB 设计了完整的基于事件时间的状态化处理方案,不仅支持基本的过滤、转换操作,还支持按 key 做聚合计算,基于多种时间窗口的计算,以及具备数据流之间 JOIN 的能力,同时也支持乱序和晚到的消息的特殊处理,保证计算结果的准确性。用户只需要通过 SQL 语句就能完成上述所有的处理功能,无需学习任何三方 API。同时,HStream 的流处理具备丰富的扩展能力,用户可以针对自己的业务自行扩展。

轻松与外部系统集成

HStreamDB 数据的接入和分发由 Connector 完成,它与包括 MQTT Broker、MySQL、ElasticSearch、Redis 等在内的多种数据系统相连接,方便用户和外部数据系统进行集成。

数据流的实时物化查询

HStreamDB 提供物化视图功能,支持在持续更新的数据流上进行复杂的查询和分析操作。HStreamDB 内部的增量计算引擎会根据数据流的变化实时更新物化视图,用户可通过 SQL 语句查询物化视图获得实时的数据洞察。

低延时的数据流持久化处理

HStreamDB 提供低延时的可靠的数据流存储,保证写入的数据消息不会丢失,并且能够重复消费。HStreamDB 还会将写入的数据消息复制到多个存储节点,提供高可用和容错能力,同时支持将冷数据转储到成本更低的存储服务上,比如对象存储、分布式文件存储等,存储的容量可无限扩展,能够实现数据的永久存储。

无缝扩展和高可用性

通过计算和存储节藕的架构,HStreamDB 的计算层和存储层都可以独立无缝扩展。并且通过基于优化的 Paxos 的共识算法,将数据安全地复制到多个节点,保证了系统的高可用性。

快速开始

创建用于存储数据库数据的目录

mkdir /dbdata

启动本地日志设备集群

docker run -td --rm --name some-hstream-store -v /dbdata:/data/store --network host hstreamdb/hstream ld-dev-cluster --root /data/store --use-tcp

启动 HStreamDB 服务器

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

启动 HStreamDB 的交互式 SQL CLI

docker run -it --rm --name some-hstream-cli -v /dbdata:/data/store --network host hstreamdb/hstream hstream-client --port 6570

开源

Star

社区

欢迎加入 HStreamDB 社区,您可以通过以下途径关注社区动态及获取帮助。

最新动态

2021-3-30

EMQ 流数据库 HStreamDB 正式开源

HStreamDB 是一款专为流式数据设计的, 针对大规模实时数据流的接入、存储、处理、分发等环节进行全生命周期管理的流数据库。

2021-3-17

当数据库遇上流计算:流数据库的诞生!

流数据库是以动态的连续数据流作为基本对象,以实时性作为主要特征的数据库,是数据库在流计算时代的重新架构和设计。

2021-4-30

Haskell 中的流处理 - Open Day 回顾

HStreamDB 团队于上周日举办了线上 Open Day,HStreamDB CTO 韩冬在会中与大家分享了有关 Haskell 中流处理解决方案的一些思考。

订阅最新资讯

获取 HStreamDB 最新资讯及版本发布信息