首页 > 其他分享 >开源之夏 2023 | Databend 社区项目总结与分享

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

时间:2023-11-22 18:35:09浏览次数:46  
标签:社区 Databend 之夏 databend 开源 https 2023

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

官方网站 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,之夏,databend,开源,https,2023
From: https://www.cnblogs.com/databend/p/17850008.html

相关文章

  • 雅礼信奥 2023.11.22 习题课记录(讲解版)
    雅礼信奥\(2023.11.22\)习题课记录(讲解版)都是CF题,不如AT。剧情版后面会更。A-YarikandArray(CF1899C)dp题,作为学OI\(3\)年的萌新OIer,后面才想到dp真是太蒟蒻了,时间复杂度\(O(tn)\)。初始\(f_1=1\),其他为\(0\)。状态转移方程:\(\begin{cases}\text{if}&......
  • NOIP 2023 游记
    第一次Noip。前一天秋游可还行玩嗨了快进到开题。去晚了8:20才进考场。密码晚发两分钟然后延了五分钟开T1。都错题好耶。以为一个串只能换一次。于是9点写完了,发现读错了。赶紧写了个\(nm^2\)的扔了。其实是没发现复杂度不对开T2。不会。但是感觉切分好写。于是快11点的......
  • [AtCoder Toyota2023 Spring Final] Git Gud
    拜谢MagicDuck大神。其次我很喜欢洛谷逆天翻译把大翻译成小……首先考虑算一下贡献,考虑每个点的深度,一开始都是1,进行合并以后相当于首先把两个端点的深度累计到答案里,然后再选择一边给它的联通块内每个点深度增加1。那么容易发现我们可以算贡献转化为每个联通块权值为它向外......
  • 2023.11.22学习笔记(2)
    跳石头P2678[NOIP2015提高组]跳石头-洛谷|计算机科学教育新生态(luogu.com.cn)佬啊佬啊,我的思路:用数组b去储存它的差分,每一次找到它的最小值,将最小值和它旁边的较小的那个值合并,边界的话就直接合并,总计进行m次合并操作,这个时候再找到它的最小值,就是答案但是如果是枚举......
  • 杭州悦数出席 2023 云栖大会计算巢专场,分享云上最佳实践
    2023云栖大会于10月31日至11月2日在杭州盛大召开,本届大会由杭州市人民政府、浙江省经济和信息化厅以及阿里巴巴集团共同主办。本次大会主题涵盖算力、人工智能+、产业创新三大主题,吸引了全球44个国家和地区的8万多名从业者参会。作为阿里云计算巢平台的代表服务商,杭......
  • 【luogu题解】P9749 [CSP-J 2023] 公路
    \(Meaning\)\(Solution\)这道题我来讲一个不一样的解法:\(dp\)在写\(dp\)之前,我们需要明确以下几个东西:状态的表示,状态转移方程,边界条件和答案的表示。状态的表示\(dp[i]\)表示到达第\(i\)个站点所需要的最少钱数,\(w[i]\)表示在使用最少钱数到达第\(i\)个站点时多余......
  • CSP-S 2023 复赛游记
    以前的游记太魔怔了,重新写一下。Day-3打了一场模拟赛,感觉A题有点ad-hoc,但是很经典,B题也很简单,构造题,一眼秒了,C题是真的不会,虽然很明显是一个DP,但是没有想出来如何设计状态,D题是简单的,想了一个主席树+树剖的做法,比较复杂,不愿写了,开摆100+100+0+0Day-2又打了......
  • 【2023-11-19】连岳摘抄
    23:59“渐”的作用,就是用每步相差极微极缓的方法来隐蔽时间的过去与事物的变迁的痕迹,使人误认其为恒久不变。                                                 ——丰子......
  • 2023.11.11西九华二日游
    河南西九华,适宜周末二日游。阜阳出发到阜南县郎湾村渡口,坐轮渡到对岸,然后到固始西九华山。淡季景点人很少,不少住宿、餐饮不开门营业。......
  • 聪明办法学Python-2023-task01
    task00因为完全按照视频教学傻瓜式操作即可完全学会,这里不做赘述视频链接:【安装】手把手带你配置AI环境_哔哩哔哩_bilibilitask01参考视频链接[Chap1启航]聪明办法学Python第二版_哔哩哔哩_bilibili注释Comment分类:单行注释,使用#开头多行注释,使用'''或"""......