Bendi新闻
>
华为自用的时序数据库开源啦,来看看水平怎么样?

华为自用的时序数据库开源啦,来看看水平怎么样?

8月前
数十年来,时间序列数据库(TSDB)的使用在各个行业中都很普遍,特别是在金融和工业控制系统中。然而,物联网 (IoT) 的出现导致时间序列数据(简称时序数据)量激增,对数据库的性能和存储成本提出了更高的要求,从而促进了对专用时序数据库的需求。

面对遗留时序解决方案的架构过时、扩展性有限等问题,新一代时序数据库应运而生,它们采用了现代架构,可实现分布式处理和水平扩展,以及云或本地的灵活部署。

2022 年底,又一重磅产品加入了开源时序数据库这一赛道,并在短短一年内在 60 余家企业测试和生产落地,吸引了 70 + 来自国内外重点高校和企业的贡献者 ——openGemini,华为开源的分布式时序数据库,主要聚焦于海量时序数据的存储和分析,通过技术创新,简化业务系统架构,降低海量时序数据的存储成本,提升时序数据的存储和分析效率。

今天,我们邀请到了 openGemini 社区负责人向宇,一起来聊聊,他们的开源故事~

01 源自内部需求,逐步走向自研

openGemini 的研发,最开始也是源于华为自身的需求。

2019 年,随着华为云的成立,广州、上海、北京、贵州和香港等地的数据中心纷纷拔地而起,并陆续上线了 260 + 云服务,平均每天采集的监控指标数据达数 TB,原有大数据解决方案逐渐不堪重负。数据量越大,查询效率越低,数据存储成本持续上升,急需一款高性能、高扩展性的专用时序数据库。

在当时,并没有什么好用的、能跟得上需求发展的时序数据库产品。InfluxDB 还是单机版,国内 Apache IoTDB 和 TDengine 还远不能达到生产要求。因此,华为决心做自己的数据库,优化数据处理工作,解决眼下十分要紧的业务问题。在这样的背景下,openGemini 应运而生。

据向宇介绍,在技术选型上,他们一开始在开源 InfluxDB 的基础上进行集群化改造。但随着指标数量的增加和采集频率的提高,日增数据量已达数十 TB。这时,InfluxDB 自身架构的缺陷开始凸显,影响到系统的性能和稳定性。于是,他们选择了对架构进行重构,开始了 openGemini 内核的自研之路。

02 个性独特,性能抢跑

openGemini 自诞生起就跟华为自家业务的需求联系紧密,所以每一个设计都充满了实用的考量。具体来说,openGemini 区别于别的时序数据库,主要有 9 大 “个性”:

性能优势:在 openGemini 差异化竞争力中,高性能是最重要的一项。在海量数据场景下,openGemini 相比开源 InfluxDB,简单查询场景提升 2 倍多,中等查询场景提升 5 倍多,复杂查询场景提升 10 倍以上。相比其他同类开源产品,openGemini 同样具有明显性能优势。

官方公布的单机写性能如下(测试工具为 TSBS,相关测试细节请参考 openGemini 官网文档):

官方公布的 DevOps 场景下单机查询性能对比(平均时延,ms):

官方公布的 IoT 场景下单机查询性能对比(平均时延,ms):

除此之外,openGemini 在数据存储和数据分析方面推出一系列实用功能,以此构建更多差异化竞争力:

独特的分布式架构:openGemini 提供了单机和分布式集群两种版本,其中分布式集群采用的是 MPP 大规模并行处理分层架构,将计算引擎,存储引擎和元数据管理划分为独立的组件,分别是 ts-sql、ts-store、ts-meta 。不同组件支持独立横向扩展,使得面对复杂的应用场景也能灵活应对。

高基数引擎:高基数问题(也称之为维度灾难)会带来倒排索引膨胀,从而引起内存资源消耗过高、读写性能降低的问题,长期以来一直困扰着时序数据库的发展。openGemini 高基数引擎通过构建时序专用的稀疏索引,进而彻底解决了这一难题,非常适合在网络监控、金融风控、物联网、交通等领域使用。

文本检索:文本数据是一种常见的数据类型,openGemini 支持在文本数据之上创建索引,采用动态的学习型分词方法,支持精确、短语和模糊匹配,且具有内存资源占用少,检索效率高的优点。

流式聚合:流式聚合是一种前置聚合方式,一边写数据、一边对数据进行降采样,其目的是解决传统降采样方法从磁盘读取大量历史数据进行计算,造成 I/O 放大严重的问题。

多级降采样:对于存量的历史数据,传统降采样方式会保留历史数据明细。在某些场景下,历史数据明细并不重要,只需保留数据特征即可,多级降采样功能可以实现对历史数据明细的特征提取,并原地替换历史数据明细,可进一步降低 50% 的存储成本。

异常检测和预测:异常检测和预测是目前时序数据分析最成熟的应用之一,被广泛应用于量化交易、网络安全检测和数据中心、工业设备和 IT 基础设施的日常维护等场景中。openGemini 提供了一个异常检测库 ——openGemini-castor,封装了常见的 13 种异常场景的检测算法,具有检测速度快、准确性高、流批一体的优点,帮助应用提高数据分析效率。

数据冷热分层存储:支持将历史数据转存到对象存储上,可实现低成本方式本永久保留历史数据,还能支持大数据离线分析。【该功能计划 H2 对外发布】

数据可靠性:支持多计算副本,进一步提升数据可靠性。【该功能计划 H2 对外发布】

 

03 注重使用体验,入门更方便

openGemini 不仅性能够强,它独特的设计,在实际的应用中,还能带来很多舒适的体验:

在入门方面,openGemini 与 InfluxDB v1.x 的生态完全兼容,接口、生态工具等直接通用,InfluxDB 用户可以无障碍迁移。同时,openGemini 采用了跟 InfluxDB 一样的 Line Protocol,数据建模简单,且容易理解,对关系型数据库的开发者也很友好。最后,openGemini 使用类 SQL 查询语言,无需额外学习,上手容易。集群部署上,社区还提供了一键部署工具 Gemix,省去了大量的配置工作。

在操作系统方面,openGemini 目前已支持主流 Linux 系统(含 openEuler)、Windows 和 MacOS,应用开发调试更加方便。处理器支持 X86 和 ARM64 两种架构。

在云原生方面,openGemini 提供了 Dockerfile 和 Docker 镜像,支持 Docker、K8s、KubeEdge 等平台的部署。由于容器重新拉起后,IP 地址随之变化,openGemini 新增域名功能,确保集群节点在容器重启后依然可以保持连通。社区还创建了 openGemini-operator 项目,方便用户一键式容器化部署。openGemini 支持普罗米修斯远程读写,可以作为普罗米修斯的一个后端存储,解决它存储能力不足的问题。【btw:openGemini 还将直接支持 PromQL,目前正在开发中】

在可观测性方面,社区开发了 ts-monitor 组件,专门采集节点和内核指标,分为 19 个子类,260 余项,可搭配 Grafana 实现对 openGemini 运行状态的全面监控。例如 CPU 和内存利用率、写入带宽、写时延、写并发、QPS 等指标可以通过可视化界面一目了然,方便随时查看运行状况、数据库性能调优和精准定位问题。

04 经过内部实战考验,回馈开源

openGemini 作为时序数据库,目前最常见的使用场景就是物联网和运维监控,在处理海量数据这方面,有着普通数据库无法比拟的优势。同时,openGemini 作为华为内部的项目,已经经过了 “自家人” 的考验:

华为云 SRE 使用 openGemini 作为监控数据存储底座,全网共部署 25 套集群,最大集群规模 70 个节点,成功经受住了每秒 4 千万条数据写入和 5 万次的并发查询的实战考验。相比原有解决方案,在承载相同业务的情况下,较原系统端到端时延降低 50%,CPU 资源上可以节省 68%,内存资源可以节省 50%,硬盘资源可以节省 90% 以上。

华为云的工业物联平台,之前一直用的 InfluxDB 的单机版,自从切换到 openGemini 上来后,再也不用被吞吐量困扰了,端到端和查询性能提升了 3 倍,设备接入量提升到了百万级。

向宇介绍,openGemini 源自开源,从 InfluxDB 开源项目中受益良多,因此秉承开源的精神,将 openGemini 的全部代码开源,希望全球更多的企业和开发者从中获益,也希望通过开放的社区平台,和广大开发者一起,共同推动技术创新,共享开源成果。

目前,openGemini 只有开源版和云服务,并不打算涉足线下商业版本,且有意愿向基金会捐献。当下,社区尚有诸多未完善之处,接下来,社区将会进一步丰富 openGemini 的生态工具(诸如数据迁移工具、SDK、大数据生态集成等)、可视化管理界面、以及文档等等。

“目前,社区的技术规划总体上会围绕物联网、运维监控和可观测性这三个重要应用场景,加强相关技术生态兼容和内核能力建设,我们正在着手论证 openGemini 下一代的软件架构。” 向宇说。

“短时间内,openGemini 不会考虑工业相关场景,因为工业领域的业务场景非常复杂,实时性要求极高,工业软件厂商的护城河很深,时序数据库能做的事情有限。此外,社区缺乏行业背景,对这方面的场景还不够了解。之后,我们会考虑寻找一些工业领域的伙伴,比方说工业软件供应商、解决方案提供商等,一起去合作、完善。” 向宇说。

 

openGemini 官网主页: 
https://www.openGemini.org/

openGemini 开源地址: 
https://github.com/openGemini


热门文章

德国政府“又”从Windows迁移到Linux

开源副屏「操作系统」底层采用Electron,是生产力工具还是美丽的废物?

神级程序员Fabrice Bellard发布音频压缩工具TSAC

JetBrains全家桶2024首个大版本更新

从C++切换到Rust,开发效率提升两倍不止

⬇️ 长按二维码,启动!

微信扫码关注该文公众号作者

来源:OSC开源社区

相关新闻

“遥遥领先”是怎么来的?——华为2023年报解读霍思燕为儿子辟谣的“腺样体面容”,快来看看到底长啥样?AI早知道|知网推出AI写作选题;智谱AI发布大模型GLM-4;华为开源GenImage数据集你在找英国1月的房源吗?快来看看这个转租房源更新列表,转租比直租更便宜!(1月24日更新)来英国读语言找不到便宜的房子?快来看看这些房源吧...低于市场价超过20%加国移民现状啥样?新数据显示这三国来的人最多谁来为智能汽车的数据安全负责?辞职开店的人,现在都怎么样了?西雅图的夏天怎么过?吃喝玩乐指南来啦!开飞机叛变的那位,结果怎么样了​?那个被8所名校连拒后,自己开了个大学的男生,如今怎么样了?开源日报 | 马斯克的梗图满天飞;deepin V23发布;谷歌前CEO大爆料;网传海思可能脱离华为独立;滴滴开源Unify新学年的“开放日”Open House就要来啦!除了看看学校的硬件设施外,我们还可以从中获得什么有效信息?6年前那个“在工地上收到清华录取通知书”的学生,现在怎么样了?对话林咏华:刚在“AI春晚”上开源了3.4T数据集的智源,是如何死磕大模型数据难题的开奖啦!快来看看你获奖了吗?高考744分、被清华校长亲自上门接的学子,如今怎么样了?744分考上清华、入校时获校长接见的学子,如今怎么样了?数学为王的时代来了?卷竞赛、学奥数、搞校内,不同孩子怎么选路线?带房私 | 快来看看你要转租的房源适合他们吗?有帅哥在求租哟! (每日更新)来英国读语言住哪里? 快来看看这些超级便宜的选择....不选择这些房源,你就会白亏很多钱!伦敦5月可以住哪里?快来看看这些超级便宜的短租、转租、假期房源吧!「来晚了」的小米和华为,凭什么降维打击传统车企?来伦敦旅游、找工作、读语言、短期休闲可以住哪里?快来看看超高性价比的转租房源哦!
logo
联系我们隐私协议©2024 bendi.news
Bendi新闻
Bendi.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Bendi.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。