开源之夏 2023 | Databend 社区项目总结与分享
开源之夏是由中科院软件所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。
官方网站 https://summer-ospp.ac.cn/
在开源之夏 2023 活动中,Databend 社区共发布两个项目,一个顺利结项,并在开源之夏结业项目中进行展示,可以访问 开源之夏2023 - 结项公示 查看。
另一个项目未能按照时间计划推进相关工作,项目经由社区接手完成。
项目 1:实现 Databend UDF Server
该项目的主要目标是实现一个 Databend UDF Server,允许用户创建、删除和执行 UDF。
- 撰写 UDF Server 的 RFC。
- 实现一个 MVP,提供创建、删除和执行 UDF 的功能,并编写相关测试。
- 使用 Python 或其他语言创建示例。
项目状态: 顺利结项
学生姓名: 陈传乐
跟踪问题: https://github.com/datafuselabs/databend/issues/12177
对应提交: https://github.com/datafuselabs/databend/pull/12729
相关介绍: 通过结合 Apache Arrow Flight API 实现 UDF Server ,用户可以使用自己喜爱的编程语言,来与 Databend 交互,从而拓展数据库的边界,实现更丰富和高效的数据工作流。文档位于:External Function | Databend 。
经过进一步研发迭代,目前 databend-udf 已经发布 Python SDK 至 PyPI ,下面是一个使用 UDF 机制实现计算最大公约数的示例:
from databend_udf import * @udf( input_types=["INT", "INT"], result_type="INT", skip_null=True, ) def gcd(x: int, y: int) -> int: while y != 0: (x, y) = (y, x % y) return x if __name__ == '__main__': # create an external server listening at '0.0.0.0:8815' server = UDFServer("0.0.0.0:8815") # add defined functions server.add_function(gcd) # start the external server server.serve()
项目 2:使用 Prometheus 重构 Databend 的 Metrics 组件
使用 Prometheus(一个开源系统监控和警报工具包)重构 Databend 的 Metrics 组件。
另外,本项目需要开发一个基于 Prometheus 的 macro 框架,以简化添加新 Metrics 的过程。
项目状态: 由社区接手完成。
跟踪问题: https://github.com/datafuselabs/databend/issues/12635
对应提交: https://github.com/datafuselabs/databend/pull/12787
相关介绍: metrics-rs 为不同的可观测性方案构建了一个通用的抽象层,支持包括 statsd、prometheus、new-relic 等在内的多种工具,但是 metrics-rs 无法很好地支持直方图统计之类的指标。
如今,Prometheus 已成为可观测性领域的事实标准,使用原始的 Prometheus 客户端,而不是将指标推送给其他工具,会带来一些显而易见的好处:
- 更好的性能:经过良好实现的观测指标的内存分配应该是 O(1) ,无需本地缓冲队列。
- 减少抽象层:我们可以减少关于指标的抽象层,使代码路径更易于理解。
- 更好的编码规范:目前我们在不同模块中有不同的指标标准实践,可以学习 Prometheus 社区的指标标准实践来统一我们的指标标准实践。
现在,Databend 的可观测性指标已经完全迁移到 Prometheus 实现,在保持原有指标几乎不变的情况下,带来了更全面、更可靠的可观测性体验。
结语
今年是 Databend 社区第二次参与开源之夏活动,很高兴能够在活动中遇到富有热情和智慧的同学们。
感谢所有参与项目的学生和社区成员的辛勤工作和付出! Databend 因你们而变得更加优秀。希望这些项目能够启发更多人参与到开源软件的开发中,并促进开源社区的繁荣和创新。
如果你对 Databend 或其他开源项目感兴趣,欢迎加入相关社区,贡献自己的力量,共同推动开源软件的发展!祝愿大家能够在开源世界继续汲取养分,成长为技术大牛,继续引领开源浪潮。
Connect With Us
Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。
👨💻 Databend Cloud:https://databend.cn
📖 Databend 文档:https://databend.rs/
💻 WeChat:Databend
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
特斯拉“完全开源”初代 Roadster 设计和工程
埃隆·马斯克 (Elon Musk)在社交平台发文宣布,已将特斯拉 (Tesla) 初代 Roadster 跑车的设计和工程细节“完全开源”,并发布了所有人都可以访问的研发文件。 “我们拥有的一切,现在你也拥有。” 所披露的研发文件下方声明指出: 此处提供的信息是为了向 Roadster 爱好者提供的,是在 Roadster 的研发设计阶段创建的。它不是制造商的参考资料或维修保养材料,可能无法准确反映实际生产的车型或销售的部件。如果您使用这些信息,您有责任确保遵守所有法律和安全协议,因为无论您是否使用此处提供的信息,我们都不对非特斯拉人员所做的任何工作提供任何保证。您还需了解,如果您根据此信息制造或设计零件或创建新的维修或程序,我们将不对它们负责,并且它们不是正品 Tesla 零件或配件或 Tesla 批准的程序。 开源 Roadster 蓝图和技术细节的决定,被视为特斯拉促进电动汽车行业创新与合作的战略步骤。此举允许世界各地的个人、公司和研究人员访问、研究特斯拉首款电动跑车所采用的技术,并在此基础上进行开发。“这标志着特斯拉对其专有技术的态度发生了重大转变。” 特斯拉初代 Roads...
- 下一篇
数十万QPS,百度热点大事件搜索的稳定性保障实践
作者 | 文燕 导读 在互联网行业里,业务迭代很快,系统变更频繁,尤其长青业务随着时间会积累越来越多历史包袱。阿拉丁作为百度搜索垂直化的产品,业务历经多年更迭,历史包袱很多,在应对大事件比如高考、东京奥运会、北京冬奥会的大流量时业务集群面临很大挑战。以高考来说,从2013年开始百度做高考,经过11年的坚持和沉淀,如今高考阿拉丁直接承接用户搜索高考相关内容的数十亿pv的流量,积累多年的系统因其复杂度而面临巨大的稳定性风险。为了应对高考等大事件的巨大流量,联合多方快速建立了保障机制,本文结合实践做了归纳和总结。 全文3087字,预计阅读时间8分钟。 01 保障思路 大事件的流量很大且有很强时效性,在保障时尤其要注意系统瞬时扛压能力。像每年高考的作文题,总是社会舆论热点,每个省份的高考查分、分数线公布的时间点都是瞬时热度极高。而奥运会这类体育赛事的热点事件难以预料,有时候是乒乓球半决赛焦灼,有时候是弱势项目突然夺冠,关注事件的用户不仅仅是平时活跃的几百万运动爱好群体,也有热点爆发后大量新增关注的用户,也就导致瞬时流量峰值难以预料,用户对我们赛事数据的时效性要求也很高,最好的体验是赛事数据实时...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS关闭SELinux安全模块
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题