HStreamDB Newsletter 2022-05|去中心化集群机制、全新数据集成框架、新增客户端与部署方式

本月,HStreamDB 团队正式发布了 v0.8,并启动了 v0.9 的开发工作,v0.9 将在集群、外部系统集成、分区等方面带来重大改进。本月我们主要完成了新的集群机制和数据集成框架 HStream IO 的设计和初步开发工作,并启动了新的 Python 客户端开发。同时正式发布了 Erlang 客户端的 0.1 版本,以及新增了 Helm 和阿里云的部署支持。

HServer 集群机制改进

在 v0.8 以及之前版本,HServer 集群主要采用的是基于 ZooKeeper 的中心化集群机制,通过 ZooKeeper 来做 HServer 节点的注册和发现以及节点之间的协调等,各个 HServer 节点之间不进行直接通信。这种集群方案被大量分布式系统采用,相对比较成熟,主要的缺点是需要依赖像 ZooKeeper 这样的外部系统,不够灵活,而且扩展性方面也有一些限制。

为了支持更大的集群和更好的扩展性,以及减少对外部系统的依赖,v0.9 将采用去中心化的集群机制,新的集群方案将主要基于 SWIM[1] 论文,其核心包括一套高效的 failure dectation 算法和 gossip style 的集群消息传播机制,类似的方案已经应用在 Consul、Cassandra 等分布式系统中。目前新集群相关功能还在研发过程中,将在 v0.9 正式发布。

全新数据集成框架 HStream IO

为了满足多种不同的业务需求,目前企业内部往往存在多套数据系统或者数据平台,包括但不限于:在线事务库、离线分析库、缓存系统、搜索系统、批处理系统、实时处理系统、数据湖等等。HSteamDB 在专注于精简和重塑实时数据栈的同时,作为一个新兴的流数据库,也肩负着促进数据在整个数据栈内高效流转以及推动企业数据栈现代化和实时化的使命,因此无缝对接和集成众多外部系统的能力对于 HStreamDB 来说也非常重要。

HStream IO 是 HStreamDB 内部的数据集成框架,它包含 source connectors、sink connectors、IO Runtime 等组件,能够将外部系统的数据通过 source connectors 导入到 HStreamDB,也可以通过 sink connectors 将 HStreamDB 内的数据导出给外部系统。另外值得注意的是,HStream IO 将基于 Airbyte spec 来实现,这意味者我们将能够完全复用 Airbyte 社区的大量开源 connectors,快速实现将 HStreamDB 和任意系统集成。本月 HStream IO 已经完成设计和前期开发工作,并将在 v0.9 中正式发布。

客户端更新

新增 Python 客户端

本月我们也启动了 HStreamDB 的 Python 客户端 hstreamdb-py 的研发工作,支持 Python3.7 及以上版本,并将于下月正式发布。

hstreamdb-erlang v0.1 发布

本月 HStreamDB 的 Erlang 客户端 hstreamdb-erlang 正式发布 v0.1,具体使用可参考 https://github.com/hstreamdb/...

部署方式更新

新增基于 Helm 的部署支持

Helm (https://helm.sh/) 能够帮助用户更容易的安装和管理 K8s 应用,本月 HStreamDB 也提供了基于 Helm 的部署支持,具体可参考文档 https://hstream.io/docs/en/la...

新增阿里云 Terraform 部署支持

此前我们提供了基于 Terraform 在 AWS 和 华为云上部署 HStreamDB 的教程,本月我们又新增了对阿里云的部署支持,具体可参考文档 https://hstream.io/docs/zh/la...

[1]:Das, A., Gupta, I. and Motivala, A., 2002, June. Swim: Scalable weakly-consistent infection-style process group membership protocol. In Proceedings International Conference on Dependable Systems and Networks (pp. 303-312). IEEE.

版权声明: 本文为 EMQ 原创,转载请注明出处。

原文链接:https://hstream.io/zh/blog/hstreamdb-newsletter-202205

EMQ(杭州映云科技有限公司)是一家开源物联网数据基础设施软件供应商,交付全球领先的开源 MQTT 消息服...

305 声望
429 粉丝
0 条评论
推荐阅读
EMQX 在 Kubernetes 中如何进行优雅升级
为了降低 EMQX 在 Kubernetes 上的部署、运维成本,我们将一些日常运维能力进行总结、抽象并整合到代码中,以 EMQX Kubernetes Operator 的方式帮助用户实现 EMQX 的自动化部署和运维。

EMQX阅读 365

一个物联网云平台一线开发者对物联网平台的全面认知
一个物联网云平台一线开发者对物联网平台的全面认知。​物联网平台的理解;物联网平台的商业化运作目标;物联网平台的架构分析;物联网平台核心能力分析;物联网平台玩家的基本情况;物联网平台的价值;物联网平台...

石志远1阅读 1.5k

封面图
集群部署看过来,低代码@AWS智能集群的架构与搭建方案
亚马逊AWS是葡萄城的生态合作伙伴。为了帮助您充分利用AWS的托管服务快速构建起一套集群环境,彻底去掉“单一故障点”,实现最高的可用性,我们准备了《低代码智能集群@AWS的架构与搭建方案》看完本文,带你掌握“基...

葡萄城技术团队阅读 2.2k

MongoDB 4.4 扩展为副本集(qbit)
前言有一台单实例 MongoDB 服务器已经运行半年了,需要将其扩展为副本集3 台服务器的操作系统均为 Ubuntu 20.043 台服务器的 MongoDB 版本均为 4.4扩展示意图操作步骤备份 mongo0 上的数据修改配置文件 /etc/mong...

qbit阅读 2.1k

ElasticSearch 必知必会 - 进阶篇
京东物流:康睿 姚再毅 李振 刘斌 王北永说明:以下全部均基于 ElasticSearch 8.1 版本一.跨集群检索 - ccr官网文档地址: [链接]跨集群检索的背景和意义跨集群检索定义跨集群检索环境搭建官网文档地址: [链接]...

京东云开发者2阅读 326

封面图
Clickhouse表引擎探究-ReplacingMergeTree
MergeTree 系列的引擎被设计用于插入极大量的数据到一张表当中。数据可以以数据片段的形式一个接着一个的快速写入,数据片段在后台按照一定的规则进行合并。相比在插入时不断修改(重写)已存储的数据,这种策略...

京东云开发者1阅读 636

封面图
什么是MircoPython?
摘要:互联网玩家为了让Python这样的容易学,简单易学、社区API丰富的语言可以在嵌入式领域用上,逐渐开始了一轮Python上嵌入式的迁移,这样就有了今天的主角——MircoPython。

华为云开发者联盟1阅读 1.3k

EMQ(杭州映云科技有限公司)是一家开源物联网数据基础设施软件供应商,交付全球领先的开源 MQTT 消息服...

305 声望
429 粉丝
宣传栏