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 的支持。详情请见:

目录
相关文章
|
25天前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
43 3
|
27天前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
36 2
|
28天前
|
传感器 前端开发 Android开发
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求。本文深入探讨了插件开发的基本概念、流程、集成方法、常见类型及开发实例,如相机插件的开发步骤,同时强调了版本兼容性、性能优化等注意事项,并展望了插件开发的未来趋势。
40 2
|
1月前
|
SQL 开发框架 .NET
突破T-SQL限制:利用CLR集成扩展RDS SQL Server的功能边界
CLR集成为SQL Server提供了强大的扩展能力,突破了T-SQL的限制,极大地拓展了SQL 的应用场景,如:复杂字符串处理、高性能计算、图像处理、机器学习集成、自定义加密解密等,使开发人员能够利用 .NET Framework的丰富功能来处理复杂的数据库任务。
|
4月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
Java服务器端技术:Servlet与JSP的集成与扩展
42 3
|
4月前
|
API UED 开发者
如何在Uno Platform中轻松实现流畅动画效果——从基础到优化,全方位打造用户友好的动态交互体验!
【8月更文挑战第31天】在开发跨平台应用时,确保用户界面流畅且具吸引力至关重要。Uno Platform 作为多端统一的开发框架,不仅支持跨系统应用开发,还能通过优化实现流畅动画,增强用户体验。本文探讨了Uno Platform中实现流畅动画的多个方面,包括动画基础、性能优化、实践技巧及问题排查,帮助开发者掌握具体优化策略,提升应用质量与用户满意度。通过合理利用故事板、减少布局复杂性、使用硬件加速等技术,结合异步方法与预设缓存技巧,开发者能够创建美观且流畅的动画效果。
90 0
|
4月前
|
开发者 算法 虚拟化
惊爆!Uno Platform 调试与性能分析终极攻略,从工具运用到代码优化,带你攻克开发难题成就完美应用
【8月更文挑战第31天】在 Uno Platform 中,调试可通过 Visual Studio 设置断点和逐步执行代码实现,同时浏览器开发者工具有助于 Web 版本调试。性能分析则利用 Visual Studio 的性能分析器检查 CPU 和内存使用情况,还可通过记录时间戳进行简单分析。优化性能涉及代码逻辑优化、资源管理和用户界面简化,综合利用平台提供的工具和技术,确保应用高效稳定运行。
96 0
|
4月前
|
存储 Prometheus 监控
Prometheus 的扩展与集成
【8月更文第29天】Prometheus 是一款非常强大的监控系统,它不仅能够采集和存储时间序列数据,还提供了丰富的生态系统来扩展其功能。本文将介绍如何通过自定义 Exporters 和集成中间件(如 Thanos)来扩展 Prometheus 的能力。
82 0
|
4月前
|
机器学习/深度学习
【机器学习】模型融合Ensemble和集成学习Stacking的实现
文章介绍了使用mlxtend和lightgbm库中的分类器,如EnsembleVoteClassifier和StackingClassifier,以及sklearn库中的SVC、KNeighborsClassifier等进行模型集成的方法。
61 1
|
5月前
|
机器学习/深度学习 分布式计算 算法
Java中的机器学习模型集成与训练实践
Java中的机器学习模型集成与训练实践

热门文章

最新文章

下一篇
DataWorks