HStreamDB v0.9 发布:分区模型扩展,支持与外部系统集成

简介: 分区模型扩展,允许用户直接操作和访问stream内部分区;通过内部数据集成框架HStream IO与多种外部系统的集成,促进数据的高效流转和价值释放。

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:

Sink connectors:

用户可以通过对应的 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 的支持。详情请见:

目录
相关文章
|
1月前
|
机器学习/深度学习 算法 Python
CatBoost中级教程:集成学习与模型融合
CatBoost中级教程:集成学习与模型融合【2月更文挑战第13天】
40 3
|
4月前
|
分布式计算 测试技术 Spark
通过Langchain实现大模型完成测试用例生成的代码(可集成到各种测试平台)
通过Langchain实现大模型完成测试用例生成的代码(可集成到各种测试平台)
660 0
|
6月前
|
机器学习/深度学习 数据采集 人工智能
掌握随机森林:基于决策树的集成模型
掌握随机森林:基于决策树的集成模型
105 0
|
7天前
|
机器学习/深度学习 存储 算法
PYTHON集成机器学习:用ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化
PYTHON集成机器学习:用ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化
30 7
|
7天前
|
机器学习/深度学习
R语言集成模型:提升树boosting、随机森林、约束最小二乘法加权平均模型融合分析时间序列数据
R语言集成模型:提升树boosting、随机森林、约束最小二乘法加权平均模型融合分析时间序列数据
12 0
|
8天前
|
算法 数据可视化
R语言ARIMA集成模型预测时间序列分析
R语言ARIMA集成模型预测时间序列分析
|
2月前
|
弹性计算 前端开发 Java
通义千问API:让大模型写代码和跑代码
基于前面三章的铺垫,本章我们将展示大模型Agent的强大能力。我们不仅要实现让大模型同时使用多种查询工具,还要实现让大模型能查询天气情况,最后让大模型自己写代码来查询天气情况。
59664 448
通义千问API:让大模型写代码和跑代码
|
2月前
|
算法 Python
深入理解XGBoost:集成学习与堆叠模型
深入理解XGBoost:集成学习与堆叠模型
94 1
|
3月前
|
机器学习/深度学习 PyTorch TensorFlow
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
iOS设备功能和框架: 什么是 Core ML?如何在应用中集成机器学习模型?
27 0
|
3月前
|
语音技术
长音频集成模型的标点结果既依赖于语音识别也依赖于语音端点检测(VAD)
长音频集成模型的标点结果既依赖于语音识别也依赖于语音端点检测(VAD)【1月更文挑战第11天】【1月更文挑战第52篇】
33 1

热门文章

最新文章