Databend 旨在成为一个 开源、弹性、可靠 的无服务器数仓,查询快如闪电,与 弹性、简单、低成本 的云服务有机结合。数据云的构建,从未如此简单!

Databend 对 Rust 社区的意义

Databend 的团队成员大多有丰富的数据库/数据平台开发及开源协作经验。我们选用 Rust 来开发高性能、高可靠的下一代数据云服务。

  1. 打造 Rust 数仓领域的头号种子选手,展示 Rust 的魅力,推动 Rust 在数据库领域的进一步应用。
  2. 持续推动 Rust 在数据治理/数据库/云原生等领域的发力,改善生态和工具。
  3. 为广大 Rustacean 提供更多学习/练手/就业机会,也为社区培养一批数据库开发能手。

Databend 和 Rust 生态的紧密联系

从 Databend 社区建立的第一天起,我们就抱有“从社区中来,到社区中去”的信念,积极拥抱开源和 Rust 生态。

课程

自 8 月起,Databend 和 Rust 中文社区、知数堂一道,启动了面向 Rustacean 和数据库开发人员的公开课计划。

Rust 培养提高计划

Databend 专栏

Databend 对 Rust 上游贡献

Databend 的成功离不开 Rust 生态的繁荣和高质量的上游项目,Databend 社区也会不定期向上游提供补丁,为共筑更好的 Rust 生态而努力。

  • advisory-db - 为发布在 crates.io 的 Rust crate 制作的安全咨询数据库
  • 为 RUSTSEC-2020-0009 添加 flatbuffers 补丁版本
  • arrow-rs & arrow-flight & parquet - Apache Arrow / Parquet 的官方 Rust 实现,Databend 早期的重要依赖
    • 为 sort 添加 limit 选项
    • 受 RUSTSEC-2020-0009 影响,更新 flatbuffers 到最新版本
    • prettytable-rs 处于未维护状态,替换为 comfy-table
    • 更新 prost 到 0.8 ,以及相应的 tonic 更新
    • 更新 prost 到 0.9 ,以及相应的 tonic 更新,修复 error
  • arrow2 & arrow-format & parquet2 - 使用 transmute-free 操作重写的 Arrow 和最快也最安全(unsafe free)的 Parquet 实现
    • 为 merge sort 添加 limit 选项
    • 改进 sort
    • 添加 wrapping_cast 提高 cast 性能
    • 添加对 BinaryArray 的计算支持
    • prettytable-rs 处于未维护状态,替换为 comfy-table
    • 更新 prost 到 0.8 ,以及相应的 tonic 更新
    • 更新 prost 到 0.9 ,以及相应的 tonic 更新,修复 error 及 clippy lints
  • async-raft - 基于 tokio 的异步 raft 共识算法实现
  • cargo-license - 用于查看依赖所采用许可协议的实用工具
    • 更新依赖以避免冲突,修复 clippy lints
  • clickhouse-srv - 用于编写可以充当 ClickHouse 服务器的绑定
    • 该项目由 Databend 团队成员开发并维护。
    • 目前已经合并到 Databend 项目,位于 common/clickhouse-srv
  • float-cmp - 浮点数近似比较
    • 指定 num-traits 的最小版本,并修复 clippy lints,以帮助上游依赖通过 minver test
  • hashbrown - 高性能 HashMap ,目前也是标准库的一部分
    • 更新 rand 到 0.8.3
  • lru-rs - Lru Cache 实现
    • 更新 hashbrown 到 0.11.2 ,修复 clippy lints
  • mockall - 用于方便编写测试的实用库
    • 更新受 RUSTSEC-2020-0095 影响的依赖
  • msql-srv - 用于编写可以充当 MySQL / MariaDB 服务器的绑定
    • 修复 COM_FIELD_LIST 的相应
    • 同步依赖到最新版本,修复测试中的依赖
    • 增加基本的 AuthPlugin 支持
    • 查询进度信息统计
    • 部分补丁正在试图合并到上游,目前可以先在 datafuse-extras/msql-srv 试用
  • pprof - CPU / 应用程式性能测试工具
    • 更新 prost 到 0.8 ,以及相应的 tonic 更新
    • 更新 prost 到 0.9 ,以及相应的 tonic 更新,修复 clippy lints
  • ritelinked - 快速 & 好用的 LinkedHashMap & LinkedHashSet 实现
    • 该项目由 Databend 团队成员开发并维护。
    • 目前位于 ritelabs/ritelinked
  • sqlparser-rs - 可拓展的 SQL 词法分析器和语法解析器
    • 使用返回 error 替代 panic
    • 添加基于 honggfuzz 的模糊测试工具
    • 支持 tinyint
    • datafuse-extras/sqlparser-rs 目前包含一些 Databend 定制的特性
      • 支持 INSERT FORMAT
      • 支持 cast(a, b)
      • 使函数支持参数
      • 支持 substring(string, start, length) 语法
  • structopt-toml - structopt 的 TOML 默认值加载工具
    • failure 处于未维护状态,替换为 anyhow

Databend 的社区建设计划

Databend 社区是由每一个关注者、开发者、使用者共同建设的平台,在未来我们也会持续完善回馈机制,帮助每个社区成员能够在社区建设过程中获得成长与进步。

  1. 建立和健全开发者成长体系,为 Rustacean 提供学习、实践、创新的平台
  2. 持续输出高质量 Rust + 数据库 课程,邀请行业专家分享开发实践经验,宣传 Databend 生态中的优质项目
  3. 为重要的上下游项目和优质开发者提供赞助、培训等机会,以鼓励其在开源和生态中的贡献

Databend 名字渊源于相对论。由于物质的存在,时间和空间会发生弯曲,这就是相对论的 Time Bend 。我们期望 Databend 的出现可以让用户重新审视数据,从而挖掘数据中存在的更大价值, 同时让用户大数据这个领域中:Make life easier 。

欢迎加入 Databend 社区,与我们一道,用 Rust 构建下一代的数据云服务。

如果想了解更多,可以关注公众号: Databend

Databend 社区积极拥抱 Rust 生态(202111回顾)的更多相关文章

  1. 合肥.NET技术社区首次线下聚会全程回顾【多图】

    2019年3月16日对于合肥.NET来说是一个特别的日子,因为这是合肥.NET技术社区首次非正式线下聚会!这次聚会受场地限制(毕竟是聚餐的形式),即使换成了小椅子后,最多也只能容纳24个人,所以还有一 ...

  2. .NET西安社区「拥抱开源,又见 .NET:壹周年Party」活动简报

    「拥抱开源,又见 .NET」:壹周年Party  .NET西安社区一岁啦!!!!7月21日,伴随着「拥抱开源,又见 .NET」系列最后一次线下分享活动暨一周年Party圆满结束, .NET西安社区一岁 ...

  3. Rust这种新型的语言注定火不起来,功能太强大(特性太多),还不如用成熟稳定强大的C/C++,而且生态不行、所以恶性循环

    这种新型的语言注定火不起来,功能太强大(特性太多),还不如用成熟稳定强大的C/C++,,而Golang足够简单,入门快,编译快,性能也强悍,解决了服务端开发人员的痛点,,注定被大多数人接受... go ...

  4. 从拥抱开源到回馈开源,灵雀云助力CNCF中国区培训业务

    6月27日,全球首屈一指的开源盛会 2018 LinuxCon + ContainerCon + CloudOpen China (LC3)在中国北京国家会议中心落下帷幕.二度落地中国的LC3大会热度 ...

  5. [5.19 线下活动]Docker Meetup杭州站—拥抱Kubernetes,容器深度实践

    对本次线下活动感兴趣的朋友,欢迎点击此处报名,领取免费票. 今年3月,Docker刚刚过完5岁生日,五年期间,Docker也逐渐在技术和实践方面趋于成熟,更是在去年年底主动拥抱Kubernetes. ...

  6. 5分钟APIG实战: 使用Rust语言快速构建API能力开放

    序言:Rust语言简介 参与过C/C++大型项目的同学可能都经历过因为Null Pointer.Memory Leak等问题“被” 加班了不知道多少个晚上.别沮丧,你不是一个人,Mozilla Fir ...

  7. 从 Spark 到 Kubernetes — MaxCompute 的云原生开源生态实践之路

    2019年5月14日,喜提浙江省科学技术进步一等奖的 MaxCompute 是阿里巴巴自研的 EB 级大数据计算平台.该平台依托阿里云飞天基础架构,是阿里巴巴在10年前做飞天系统的三大件之分布式计算部 ...

  8. 探讨 Rust 智能指针 | Vol.17

    分享主题:<探讨 Rust 智能指针>| Vol. 17 分享讲师:苏林 分享时间: 周日晚上 2021-11-14 20:30-21:30 腾讯会议地址: https://meeting ...

  9. SphereEx 登陆 ApacheCon Asia|依托 ShardingSphere 可插拔架构体系打造数据应用完整生态

    2021 年 8 月 8 日,ApacheCon 首次亚洲大会于线上正式闭幕.作为久负盛名的开源盛宴,本届 ApacheCon Asia 受到了海内外众多开源领域人士的关注. 作为 Apache 软件 ...

随机推荐

  1. Win10环境下多JDK切换以及could not find java.dll异常解决

    备注:主要为JDK1.7和JDK1.8之间进行切换 1.每次进行JDK切换时,都需要修改JAVA_HOME 2.编辑path环境变量,如图所示,将%JAVA_HOME%\jre\bin和%JAVA_H ...

  2. SpringCloud升级之路2020.0.x版-27.OpenFeign的生命周期-创建代理

    本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 接下来,我们开始分析 OpenFeign 的生命周期,结合 OpenFeign 本身的源代 ...

  3. Golang通脉之基础入门

    为什么要学 Go 性能优越感:Go 极其地快,其性能与 Java 或 C++相似.在使用中,Go 一般比 Python 要快 30 倍: 序列化/去序列化.排序和聚合中表现优异: 开发者效率较高:多种 ...

  4. 免费 CDN 玩法 —— 文件一键上传到 NPM

    前言 unpkg.jsdelivr 等站点可加速 NPM 包文件,适合作为个人网站或演示案例的免费 CDN. 虽然上传文件到 NPM 很简单,创建 package.json 然后 npm publis ...

  5. javascript运算符和表达式

    1.表达式的概念 由运算符连接操作组成的式子,不管式子有多长,最终都是一个值. 2.算术运算符 加+ 减- 乘* 除/ 取模% 负数- 自增++ 自减-- 3.比较运算符 等于==  严格等于=== ...

  6. 【UE4 C++ 基础知识】<15> 智能指针 TSharedPtr、UniquePtr、TWeakPtr、TSharedRef

    基本概念 UE4 对 UObject 对象提供垃圾回收 UE4 对原生对象不提供垃圾回收,需要手动进行清理 方式 malloc / free new / delete new与malloc的区别在于, ...

  7. .Net2.0连接PG数据注意事项

    .Net2.0连接PG数据注意事项 第一次用.net操作PG[.NET2.0] 一:Npgsql版本问题 1:如果是.net2.0  建议用2.0.11.0[NuGet搜索npgsql第一个的最低版本 ...

  8. UltraSoft - Beta - 发布声明

    1. Beta版本更新内容 新功能 (1)消息中心页面 课程爬取到新DDL.资源时会以通知的方式通知用户,本次同步更新了哪些内容一目了然.此外,当被作为参与成员添加DDL时也会通知.一些系统通知也会放 ...

  9. Spring父子上下文的使用案例

    Spring父子上下文的使用案例 一.背景 二.需求 三.实现步骤 1.基础代码编写 2.测试结果 四.小彩蛋 五.完整代码 一.背景 最近在看在使用Spring Cloud的时候发现,当我们通过Fe ...

  10. 『学了就忘』Linux基础 — 3、CentOS镜像下载

    下载CentOS镜像可以从官网下载:https://www.centos.org/download/. 也可以从国内的镜像网站下载. 阿里云:https://mirrors.aliyun.com/ce ...