2023年6月10日,阳光明媚的下午,一场 openGemini x OpenTiny 联合的技术沙龙在北京北航学院路校区圆满落幕。
来自京东、搜狐等知名技术企业的数据工程师、openGemini社区开发者和北航各学院的同学同坐一堂,共同学习和探讨时序数据openGemini的应用场景和核心技术。
📸 活动瞬间 Moment of activity
活动开始,openGemini社区联合创始人向宇进行了活动主持,对来到现场参会的社区新老朋友和演讲嘉宾表示热烈欢迎。
向宇在活动开场中表示:openGemini时序数据库主要面向海量遥测数据存储和分析场景,提供了开源、高性能、分布式的存储-分析一体化解决方案。虽然社区开源时间不长,但已吸引了国内外19所重点高校数十名同学参与贡献,如电子科技大学、哈尔滨工业大学、浙江大学、美国加州大学、英国萨塞克斯大学、印度Amity大学等等,事实上已充分说明,openGemini社区正在成为高校同学喜爱的接触开源、学习实践、技能提升、技术研究的开放平台。与此同时,openGemini社区将持续打造数据库技术人才培养的黑土地,促进数据库行业蓬勃发展!
从企业角度来看,时序数据库在技术上要解决两大问题:最大程度降本和增效,即降低数据的计算成本和存储成本,提升数据分析的效率。围绕这两个问题,开启本次活动的议题。
议题一《openGemini查询引擎实现与优化》
openGemini查询引擎架构师周锐老师分享了查询引擎的核心技术,涉及到方方面面,关键内容如下:
系统架构
介绍了openGemini的分布式架构设计和思考,以及各部分组件的功能和相互关系。
分区与分片
分区是一种重要的分布式处理技术,目的是让数据分散在不同节点。而分片是在分区内,数据按照一定方式切片,目的是提升检索目标数据的效率。这部分内容重点介绍了openGemini是如何针对时序场景进行数据分区和分片。
聚簇与排序
捕获现实世界中数据处理的差异,数据的相关性和局部性,从计算的角度对数据进行分布,将常一起计算的数据分布在一起。以减少索引计算和成本开销,控制查询扇出度并抑制水桶效应,充分利用聚簇数据在空间和时间等维度上的有序性减少聚合分析计算开销。
高基维技术
在值域大,基数大的字段上进行检索和聚合,索引是性能的关键。稠密索引性能好,但是成本大;在特定的数据分布下采用稀疏索引,跳数索引,有更好的成本效应。
分组与聚合
基于聚簇和排序,构建一种二阶段的聚合方法,利用数据聚簇的性质,将数据shuffle到完全不相交的数据空间,加速分组和聚合计算。
并发与并行
RelationAlgebra(关系代数)和DAG(有向无环图),协程和CSP(Communicating Sequential Process),从工程上解决了任务编排和任务调度的问题,解决和任务并发与并行的问题。
批量化与向量化
大规模数据聚合计算,采用聚簇索引和批量及向量化处理模型,从高效的内存复用、向量化原语、虚函数、BSP算法、IO和查询剪枝6个维度进行性能优化。
周锐老师表示,由于各个开源产品的定位和在读写流程中使用的技术和优化措施不同,造就了不同的性能和产品差异化竞争力,openGemini就是利用了上面这些关键技术,才让openGemini在查询性能上有巨大的突破。
议题二《入门:如何参与社区贡献》
议题嘉宾来自天津工业大学在读研究生李文强,文强在给大家分享了他是如何参与openGemini社区贡献,也分享了自己的心得:勇敢迈出第一步
文强讲到,数据库作为基础软件“皇冠上的明珠“,内部实现用到了丰富的数据结构、算法、编程技巧和设计模型,开源社区是一个非常好的平台,可以让理论和实践相结合,通过承接社区任务,督促自己不断学习、拓宽知识边界、提升编码水平和个人技术影响力。
当然,开源项目的成功并不只取决于代码的质量,还有许多非代码贡献,如文档编写、社区管理、社区运营、UI设计和用户体验、测试反馈以及赞助等,都是开源项目成功的关键因素。每一个非代码贡献者都是开源社区的重要成员,对于推动项目成功起着至关重要的作用。
议题三《面向时序数据的可视化大屏应用与实践》
来自华为云Web前端开发专家莫春辉老师深入探讨了面向时序数据的可视化大屏应用与实践。在大数据时代,可观测性成为了热门话题。当有足够的存储和算力对接各种监控系统,可观测就变得尤为重要,莫春辉老师讲解了如何通过OpenTiny搭配openGemini实现一套兼容Vue2和Vue3协议代码,快速开发大屏应用。他的分享中充满了对这个领域深刻的见解和理解,引发了场内观众的热烈反响。
议题四《时序数据库的测试基准和标准介绍》
向宇老师围绕为什么数据库需要测试基准、数据库测试基准的发展历史和意义、时序数据库现有的测试工具、时序数据库测试基准的要素分析和测试基准如何变成标准等5个方面进行了阐述。
时序数据库的测试基准非常重要,能推动数据库技术持续创新和发展,业界需要一个功能强大、测试标准客观公正公开的时序数据库基准测试工具,呼吁更多的同学参与这一方向的研究,openGemini社区可以给与必要的帮助。
感谢支持 Thanks for support
首先感谢参与这次活动的每一位朋友,是你们的热情,让这场大会充满活力。
感谢openGemini和openTiny社区运营团队,你们的付出让这个平台成为了知识的交流场所;感谢北京航空航天大学软件学院提供场地,感谢北航静晗同学全程协助,是你们让活动顺利完成,让我们有机会在此分享和学习。
未来的日子里,让我们继续燃烧对数据的热情,以技术为翅膀,勇敢飞翔在大数据的天空;让我们期待下一次的相聚,在那里,我们将再次开启科技与智慧的盛宴。🎉🎉🎉
BTW:北航的食堂饭菜很好吃!
🔗 参考链接 Reference
1.开发指南:https://docs.opengemini.org/zh/dev-guide/
2.用户指南:https://docs.opengemini.org/zh/
3.代码仓库:https://github.com/openGemini
openGemini 官网:http://www.openGemini.org
openGemini 开源地址:https://github.com/openGemini
openGemini 公众号:
欢迎关注~ 诚邀你加入 openGemini 社区,共建、共治、共享未来!