开源之夏 2023 | Databend 社区项目总结与分享

开源之夏是由中科院软件所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。

官方网站 开源软件供应链点亮计划-开源之夏2023

在开源之夏 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 文档:Databend

💻 WeChat:Databend

✨ GitHub:https://github.com/datafuselabs/databend

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/177050.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

requests库中解决字典值中列表在URL编码时的问题

本文将探讨 issue #80 中提出的技术问题及其解决方案。该问题主要涉及如何在模型的 _encode_params 方法中处理列表作为字典值的情况。 问题背景 在处理用户提交的数据时,有时需要将字典序列化为 URL 编码字符串。在 requests 库中,这个过程通常通过 pa…

java springboot测试类鉴定虚拟MVC运行值与预期值是否相同

好 上文java springboot在测试类中构建虚拟MVC环境并发送请求中 我们模拟的MVC环境 发送了一个请求 我们这次需要 对比 预期值和运行值是否一直 这里 我们要用一个 MockMvcResultMatchers 他提供了非常多的校验类型 例如 请求有没有成功 有没有包含请求头信息 等等 这里 我们做…

CSGO市场下跌分析,是跑还是入?

CSGO饰品下跌分析,是“跑”还是“入”? CSGO市场下跌分析,是跑还是入? 以下所有都是童话本人最近几年观察市场和踩坑的一点经验,由于篇幅不长所以肯定会很浅薄,大伙下嘴轻点 。 首先现在真的是CSGO市场最…

B站已经部分上线前台实名,如不同意实名,后期账号流量将收影响!

B站部分百万粉丝博主的主页显示账号运营人名字的政策是从10月31日开始的。当天,B站官方发布了《哔哩哔哩关于头部“自媒体”账号前台实名的公告》,表明了其前台实名制的实施计划。 B站部分上线前台实名的过程可以追溯到2021年。当时,中国政府…

网上找客户有什么渠道?

在数字化时代,企业和个体创业者需要善于利用互联网来拓展业务和寻找潜在客户。网上找客户的渠道多种多样,合理运用这些渠道可以极大地提高曝光和业务机会。以下是一些成功寻找客户的网上渠道: 1. 社交媒体平台 社交媒体已成为建立专业形象和…

AppLink结合金蝶云星空作订单信息同步流程

此次通过AppLink,根据请求数据金蝶云星空做销售订单信息同步拉取 在获取订单信息前需要得到金蝶云星空授权,详细授权步骤可查看:金蝶云星空授权指南 根据请求数据在金蝶云星空保存销售订单 当webhook接收到数据时触发流程 步骤1&#xff…

13、深度学习之神经网络

深度学习是机器学习中重要的一个学科分支,它的特点就在于需要构建多层“深度”的神经网络。 人们在探索人工智能初期,就曾设想构建一个用数学方式来表达的模型,它可以模拟人的大脑,大脑我们都知道,有很多神经元,每个神经元之间通过突触链接。 神经网络的设计就是模仿了这…

Youtube新手运营——你需要的技巧与工具

对于有跨境意向的内容创作者或者品牌企业来说,YouTube是因其巨大的潜在受众群和商业价值成为最值得投入变现与营销计划的平台。 据统计,98% 的美国人每月访问 YouTube,近三分之二的人每天访问。但是,YouTube还远未达到过度饱和的…

真菌基因组研究高分策略(一):比较基因组揭示真菌菌丝和多细胞的起源

真菌是陆地和水生生态系统的重要组分,在有机质循环和跨营养级养分流通等过程中发挥着重要作用。随着测序技术的发展,高通量测序揭示了真菌群落巨大的系统发育和功能多样性,高质量真菌基因组的组装已经成为研究菌丝和潜在基因的进化起源的有力…

分享五款可视化数据平台,零代码也能轻松上手!

今天给大家推荐五款市面上常见的可视化数据平台,不仅可以做日常的图表,制作可视化大屏也不在话下,考虑到一些非技术人员的需求,我把这些数据可视化平台分为代码类和零代码类,大家可以根据需要选择最合适自己的工具。 …

气死了,过五关,斩六将,结果被 HR 捅了一刀!!

Hello,大家好,我是 Sunday。 大家有没有遇到过这样的事情:“过五关,斩六将。通过了两轮、甚至是三轮的技术面,最后 HR 面被“捅死”了” 这样的事情,最近在一位同学身上连续出现了两次,弄得人…

12、人工智能、机器学习、深度学习的关系

很多年前听一个机器学习的公开课,在Q&A环节,一个同学问了老师一个问题“机器学习和深度学习是什么关系”? 老师先没回答,而是反问了在场的同学,结果问了2-3个,没有人可以回答的很到位,我当时也是初学一脸懵,会场准备的小礼品也没有拿到。 后来老师解释“机器学习和…

orvibo的Mini网关VS20ZW玩法

概述 闲鱼淘来一个2016年生产的网关,此网关的型号:VS20ZW。 已经不能用APP入网了,没事拆来玩玩。 此设备已经被淘汰,很多新的zigbee产品不再支持入网。 官网设备的简介: ZigBee Mini网关,智能家居网关,智能家居主机|ORVIBO欧瑞博智能网关 设备概貌: 主要器件: …

每日OJ题_算法_双指针_力扣202. 快乐数

力扣202. 快乐数 202. 快乐数 - 力扣(LeetCode) 难度 简单 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为…

每日一练:“打家劫舍“(House Robber)问题 I

1. 问题 假设有一排房屋,每个房屋里都存放着一定数量的财宝。相邻的房屋装有相互连通的防盗系统,如果两个相邻的房屋在同一晚上被小偷闯入,系统会自动报警。   求解的问题是,小偷在不触发警报的情况下,一晚上最多能偷…

技术or管理?浅谈测试人员的未来职业发展

我们在工作了一段时间之后,势必会感觉到自己已经积累了一些工作经验了,会开始考虑下一阶段的职业生涯会如何发展。测试人员在职业生涯中的不确定因素还是不少的,由于其入门门槛不高,不用学习太多技术性知识即可入行,所…

Electronica上海 Samtec 验证演示 | FireFly™Micro Flyover System™

摘要/前言 在圆满结束的2023慕尼黑上海电子展上,Samtec虎家团队为观众带来了前所未有的丰富体验:产品展示、采访、Demo演示、抽奖互动~ 尤其是Demo演示,虎家工程师FAE Marcus为大家带来了数个精彩的产品与系统讲解演示。其中更不乏合作伙伴…

多选按钮关联多个el-checkbox-group

需求: 如图设计稿,全部企业成员下面的数据来源与两个接口,点击全部企业成员需要勾选全部,下面选中全部企业成员要是选中状态,所以需要两个数组变量,两个el-checkbox-group来控制;有人可能会疑问…

ZKP11.1 From Practice To Theory

ZKP学习笔记 ZK-Learning MOOC课程笔记 Lecture 11: From Practice to Theory (Guest Lecturer: Alex Lombardi) 11.1 The Feasibility of Interactive ZK SMPC: semi-honest protocol ZKP malicious protocol Parties use ZKP to prove that they follow the protocol T…

js进阶笔记之原型,原型链

目录 1、原型对象 constructor 属性 对象原型 2、原型链 3、instanceof 4、原型继承 1、原型对象 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了。 面向对象是把事务分解成为…