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

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

公众号新闻
数十年来,时间序列数据库(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,开发效率提升两倍不止

⬇️ 长按二维码,启动!

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

戳这里提交新闻线索和高质量文章给我们。
相关阅读
分布式数据库入门:以国产数据库 TDSQL 为例首个全开源时序预测基础模型:Zero-shot预测能力比肩从零训练最优模型CellAgent:LLM Agent 助力单细胞测序数据分析的重要突破丨AI 4 Science又水一篇AI顶会!不知道硕士博士咋毕业的,来看看咋水的。嘉博环球:2024航空经济与管理数据库黄河流域发展数据库报告2024年8款数据库数据分析能力(TPC-H)真实性能评测,真有100倍差距在美国做中产阶级得挣多少钱?来看看你在你的州是什么水平,各州差距巨大从数据库开始,私募巨头的绿色新星诞生第一个开源的大规模并行数据库突然 404,国内数仓市场或迎大变动GPT-5 体验首次曝光!发布时间也被剧透,来看看这些内幕消息这样画时序图,真香!央行取消自用汽车贷款最高比例限制,华为门店回应P70发布时间,台积电暂停台湾工厂建设,极氪回应IPO,这就是今天的其他大新闻!ACL 2024 Findings | 视频大语言模型能理解视频中的时序信息吗?女儿自用2年的练眼工具,终于出了1秒就能用的版本摆摆自用的国货洗面奶,建议人手一支,黑头脏东西退退退~跨界造车一炮而红,来看看雷军的爆品思路天网恢恢,疏而不漏股票跌了 99 %,巴菲特差点吓出心脏病!纽交所数据库 bug 造成万亿美元市值蒸发,技术专家:他们的 IT 水平不行熵泱——第十七章数据库的夏天!2024可信数据库发展大会如约而至,邀请你来!| Q推荐查询提速 11 倍,资源节省 70%,Apache Doris 在网易日志和时序场景的落地实践开源日报 | 微软AI程序员登场,马斯克开源Grok;Open-Sora全面开源TimeGPT首个时序大模型引爆新热点!美军未来战争模式雏形呼之欲出历时 5 个月从零到一研发一款数据库产品,这些坑他们已经踩过了 |InfoQ 独家专访百度智能云向量数据库团队康州郁金香刚盛开!且免费赠送十朵郁金香!还能游耶鲁,看水族馆!离散化、对齐文本还是预训练,哪个才是 LLM 处理时序数据的关键?安远AI&北京大学:2024基础模型的负责任开源-超越开源闭源的二元对立:负责任开源的内涵、实践与方案报告扩散模型和Transformer引爆时序方向!爱因斯坦把全人类带进阴沟,而特斯拉才能让人类重新走上光明大道把纯正的美式教育 “搬到中国”,来看看这个由美国藤校教授领军的学术项目!东京自由行(6)上野公园毕业3年,在澳洲年薪8w是怎么样的水平呢,买房喘不过气,不知道该怎么办4月这几天一定要去STC!优衣库开了:又送咖啡又送礼品卡威廉开口透露凯特最新情况!中国电商巨头将在伦敦上市,来看看你用过吗?
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。