HStreamDB 最新版本 v0.9 现已正式公布!
v0.9 次要有以下亮点更新:
- stream 分区模型扩大,反对用户间接拜访分区上指定地位的数据;
- 新增 HStreamDB 的外部数据集成框架 HStream IO;
- 集群转用基于 SWIM 的成员发现和故障检测机制;
- 全新的流解决引擎;
- 降级了 Java 和 Go 客户端,并新增了 Python 客户端。
Stream 分区模型扩大
v0.9 对之前的分区模型进行了扩大,容许用户间接操作和拜访 stream 外部的分区,从而能够对 stream 中的数据分布和分区伸缩进行精细化管制。HStreamDB 采纳的是 key-range-based 分区机制,stream 下的所有分区独特划分整个 key space,每个分区归属一段间断的子空间(key range)。若 record 所带 partitionKey 的哈希值落在某个子空间内,那么这条 record 将会被存储在对应的分区中。
具体地,v0.9 的分区模型新增了以下能力:
- 在创立 stream 的时候配置初始分区数
- 通过
partitionKey
将写入的 record 散发到相应的 stream 的分区 - 间接从任意地位读取指定分区的数据
- 查看 stream 蕴含的分区和各个分区对应的 key range
在之后的版本中,咱们将反对通过分区决裂和合并对 stream 进行动静伸缩。
HStream IO 公布
HStream IO 是 v0.9 蕴含的一个外部数据集成框架,蕴含 source connectors、sink connectors、IO runtime 等组件,它可能实现 HStreamDB 和多种内部零碎的互联互通,促成数据在整个企业数据栈内的高效流转以及实时价值开释。
v0.9 提供了以下的 connectors,可反对多种数据库之间的增量同步。
Source connectors:
- source-mysql
- source-postgresql
- source-sqlserver
Sink connectors:
- sink-mysql
- sink-postgresql
用户能够通过对应的 SQL commands 创立和治理 IO task,具体可参考文档理解 HStream IO 的性能和应用。
新的流解决引擎
v0.9 基于迭代和差分计算原理从新实现了流解决引擎,显著晋升了吞吐量,并升高了提早。此外,新的引擎还反对多路 Join 语句、子查问 (sub-queries) 和更普适的物化视图(materialized view)。
该个性依然处于开发阶段,属于实验性的性能,用户能够参考 SQL 指南 进行试用。
基于 Gossip 的 HServer 集群
v0.9 对 HServer 的集群实现进行了重构,新的实现次要采纳了 gossip style 的集群机制和基于 SWIM 的故障检测机制,取代了上一版本中基于 ZooKeeper 的实现。新的实现将进步集群的可扩展性,并缩小对外部零碎的依赖。
Advertised Listeners
生产中的部署和应用可能波及简单的网络设置。例如,如果服务器集群是外部托管的,它须要一个内部可见的 IP 地址让客户连贯到集群,尤其是当遇到应用 docker 或者云托管等状况,会使环境更加简单。
为了确保来自不同网络环境的客户端可能与集群进行交互,HStreamDB 0.9 反对配置 advertised listerners。在配置了 advertised listerners 后,服务器能够依据客户端发送申请的端口,为不同的客户端返回相应的地址。
对立的 HStream CLI
为了使 CLI 更加对立和繁难,咱们曾经将旧的 HStream SQL Shell 和其余一些节点治理性能迁徙到新的 HStream CLI。HStream CLI 目前反对启动交互式 SQL Shell、发送集群 bootstrap 申请和查看服务器节点状态等性能。用户能够通过参考 CLI 文档理解具体的应用办法。
基于 Grafana 的监控
v0.9 新增了通过 Prometheus 和 Grafana 对 HStreamDB 集群进行监控的反对,HStreamDB 外部的 Metrics 将通过 exporter 存储到 Prometheus 并最终展现在 Grafana 面板上。具体的部署和应用流程能够参考文档。
反对用 Helm 在 K8s 上进行部署
v0.9 提供了 HStreamDB 的 Helm Chart,当初可通过 Helm 在 K8s 上疾速部署 HStreamDB 集群,更加具体的应用步骤能够参考文档。
客户端版本升级和改良
Java 客户端 v0.9.0、Go 客户端 v0.2.0、Python 客户端 v0.2.0 均已公布,提供对 HStreamDB 0.9 的反对。详情请见:
- Java 客户端 v0.9.0:https://github.com/hstreamdb/…
- Go 客户端 v0.2.0:https://github.com/hstreamdb/…
- Python 客户端 v0.2.0:https://github.com/hstreamdb/…
版权申明:本文为 EMQ 原创,转载请注明出处。
原文链接:https://hstream.io/zh/blog/hstreamdb-v-0-9-release-notes