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

目录
相关文章
|
3月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
156 3
|
12天前
|
IDE Linux API
轻松在本地部署 DeepSeek 蒸馏模型并无缝集成到你的 IDE
本文将详细介绍如何在本地部署 DeepSeek 蒸馏模型,内容主要包括 Ollama 的介绍与安装、如何通过 Ollama 部署 DeepSeek、在 ChatBox 中使用 DeepSeek 以及在 VS Code 中集成 DeepSeek 等。
1058 14
轻松在本地部署 DeepSeek 蒸馏模型并无缝集成到你的 IDE
|
1月前
|
人工智能 数据可视化 开发者
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
FlowiseAI 是一款开源的低代码工具,通过拖拽可视化组件,用户可以快速构建自定义的 LLM 应用程序,支持多模型集成和记忆功能。
112 14
FlowiseAI:34K Star!集成多种模型和100+组件的 LLM 应用低代码开发平台,拖拽组件轻松构建程序
|
23天前
|
人工智能 JSON 数据可视化
集成500+多模态现实任务!全新MEGA-Bench评测套件:CoT对开源模型反而有害?
多模态模型在处理图像、文本、音频等数据方面能力不断提升,但其性能评估一直是个挑战。为此,研究团队推出了MEGA-Bench评测套件,集成505个现实任务,涵盖广泛领域和数据类型,由16位专家标注。它采用灵活输出格式,提供多维度评估指标,并配有交互式可视化工具,为模型优化提供了重要支持。然而,评估过程复杂且耗时,COT方法对开源模型性能的影响也值得探讨。论文链接:https://arxiv.org/abs/2410.10563
56 29
|
3月前
|
开发框架 JavaScript 前端开发
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势
TypeScript 是一种静态类型的编程语言,它扩展了 JavaScript,为 Web 开发带来了强大的类型系统、组件化开发支持、与主流框架的无缝集成、大型项目管理能力和提升开发体验等多方面优势。通过明确的类型定义,TypeScript 能够在编码阶段发现潜在错误,提高代码质量;支持组件的清晰定义与复用,增强代码的可维护性;与 React、Vue 等框架结合,提供更佳的开发体验;适用于大型项目,优化代码结构和性能。随着 Web 技术的发展,TypeScript 的应用前景广阔,将继续引领 Web 开发的新趋势。
64 2
|
3月前
|
传感器 前端开发 Android开发
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求。本文深入探讨了插件开发的基本概念、流程、集成方法、常见类型及开发实例,如相机插件的开发步骤,同时强调了版本兼容性、性能优化等注意事项,并展望了插件开发的未来趋势。
66 2
|
3月前
|
SQL 开发框架 .NET
突破T-SQL限制:利用CLR集成扩展RDS SQL Server的功能边界
CLR集成为SQL Server提供了强大的扩展能力,突破了T-SQL的限制,极大地拓展了SQL 的应用场景,如:复杂字符串处理、高性能计算、图像处理、机器学习集成、自定义加密解密等,使开发人员能够利用 .NET Framework的丰富功能来处理复杂的数据库任务。
|
6月前
|
缓存 安全 Java
Java服务器端技术:Servlet与JSP的集成与扩展
Java服务器端技术:Servlet与JSP的集成与扩展
60 3
|
6月前
|
机器学习/深度学习 存储 前端开发
实战揭秘:如何借助TensorFlow.js的强大力量,轻松将高效能的机器学习模型无缝集成到Web浏览器中,从而打造智能化的前端应用并优化用户体验
【8月更文挑战第31天】将机器学习模型集成到Web应用中,可让用户在浏览器内体验智能化功能。TensorFlow.js作为在客户端浏览器中运行的库,提供了强大支持。本文通过问答形式详细介绍如何使用TensorFlow.js将机器学习模型带入Web浏览器,并通过具体示例代码展示最佳实践。首先,需在HTML文件中引入TensorFlow.js库;接着,可通过加载预训练模型如MobileNet实现图像分类;然后,编写代码处理图像识别并显示结果;此外,还介绍了如何训练自定义模型及优化模型性能的方法,包括模型量化、剪枝和压缩等。
151 1
|
6月前
|
API UED 开发者
如何在Uno Platform中轻松实现流畅动画效果——从基础到优化,全方位打造用户友好的动态交互体验!
【8月更文挑战第31天】在开发跨平台应用时,确保用户界面流畅且具吸引力至关重要。Uno Platform 作为多端统一的开发框架,不仅支持跨系统应用开发,还能通过优化实现流畅动画,增强用户体验。本文探讨了Uno Platform中实现流畅动画的多个方面,包括动画基础、性能优化、实践技巧及问题排查,帮助开发者掌握具体优化策略,提升应用质量与用户满意度。通过合理利用故事板、减少布局复杂性、使用硬件加速等技术,结合异步方法与预设缓存技巧,开发者能够创建美观且流畅的动画效果。
112 0

热门文章

最新文章