openGemini:顺势而动,蓄势而发

6 月 11 日,2023 开放原子全球开源峰会在北京亦创国际会展中心举行,在开源数据库分论坛上,华为云数据库创新实验室主任张文亮受邀做主题技术分享《openGemini:开源分布式时序数据库技术探索与实践》。
 

顺势而动

张文亮主任讲到,随着 5G、物联网、云计算等技术的快速发展,各行业数据量呈现爆发式增长。每天要存储数百 GB 甚至 TB 级遥测数据,并能快速响应上层的数据分析业务,这不是随便一种数据库都可以做到的。时序数据库是一种针对时序数据特点和业务特点专门优化的垂直领域数据库,是一种更优的选择。
 
遥测数据及其业务特点决定了传统的数据库或大数据解决方案无法满足业务对数据的存储分析诉求,并且在基础软件国产化的浪潮推动之下,openGemini 顺势开源,专注于海量遥测数据存储与分析,提供高性能、高扩展、低成本的开源解决方案。

蓄势而发

做基础软件,如同铸剑,一旦从剑尖开始打磨,你就会慢慢看出藏在灰暗后的光耀。如今 openGemini 优异的性能表现,得益于华为云内部业务的长期不断打磨。
 
数据库技术发展了几十年,分布式架构和整体处理流程基本不会有大的变化,已很难取得更大的突破。openGemini 写入和查询的过程看起来比较传统,但这并不意味着性能也到了天花板。
 
由于各个开源产品的定位和在读写流程中使用的技术和优化措施不同,造就了不同的性能和产品差异化竞争力。openGemini 的定位是高性能、分布式时序数据库,专注于海量遥测数据的存储和分析,意味着 openGemini 需要在架构和技术上实现大并发和高吞吐能力。
 
在架构设计方面,采用经典的 MPP 架构,可通过横向扩展来加大并发处理。在数据查询方面,把 OLAP 的技术引入进来,比如向量化执行,用于加速查询的数据处理效率。在写数据方面,采用 LSM Tree 数据结构,将随机写转为顺序写以提升写入性能。
 
此外,在结合遥测数据和分析业务特点所做的工程优化方面,openGemini 也做得比较有特色,例如通过数据的后聚合,把最常用的一些统计指标(First、Last、Min、Max …)提前计算并存储在数据文件头中,避免分析时大量重复计算的工作;再比如对 Index 的优化,放弃 HashMap,使用 MergSet 数据结构,索引构建时间更短,查询性能更优,支持时间线更多,占用内存资源更少。

总结

目前 openGemini 已在华为云 SRE、IoT 服务产品部、计算产品线、终端等多个产品线的 10 + 业务中使用,其中华为云 SRE 在全网共部署了超过 25 套集群,最大集群规模为 70 节点,支持每秒 4000 万条数据写入,每秒 5 万次并发查询,日存储数据 20TB。
openGemini 虽然开源时间不长,但已受到业界的广泛关注,目前已经拥有了首批 5 家社区用户正在进行基于 openGemini 业务改造和适配,10 + 家正在针对 openGemini 进行性能测试,陆续将会有社区用户案例发布。
 
欢迎大家试用和反馈
开源地址:   https://github.com/openGemini
官网:   http://opengemini.org
优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/6410005/blog/10083603

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。