当前位置 : 主页 > 编程语言 > java >

【Rust日报】2020-11-11 -「InfluxDB IOx」未来会用 Rust 和 Arrow 构建内核

来源:互联网 收集:自由互联 发布时间:2022-06-23
「InfluxDB IOx」未来会用 Rust 和 Arrow 构建内核 Rust提供了对运行时行为和内存管理的更精细控制。另外,它使并发编程更容易,并且消除了数据争用。 Apache Arrow定义了用于列式数据的内存

「InfluxDB IOx」未来会用 Rust 和 Arrow 构建内核

Rust提供了对运行时行为和内存管理的更精细控制。另外,它使并发编程更容易,并且消除了数据争用。

Apache Arrow定义了用于列式数据的内存格式,以及Parquet(一种持久的持久性格式)以及Flight(一种用于“通过网络接口进行大型数据集的高性能传输”的客户端/服务器框架和协议)。另外,Rust的Apache Arrow工具集中还有DataFusion,它是用于Apache Arrow的Rust本机SQL查询引擎。假设我们以DataFusion为核心进行构建,这意味着InfluxDB IOx将支持现成的SQL子集随着DataFusion项目的成熟,通过InfluxData外部的协作者的开发工作,它既可以在InfluxDB IOx中使用,也可以在其他地方使用。

该项目仍处于初期阶段。我们目前尚未生成构建,并且除了InfluxDB IOx项目README之外,没有任何文档。该团队是一个由高级工程师组成的小型小组,我们的工作与平台上其余部分的大型工程组织的所有工作并行。我们的目标是在明年初生产开源构建,并在InfluxDB Cloud中以alpha形式提供。

详情:​​https://www.influxdata.com/blog/announcing-influxdb-iox/​​

[linux kernel] 在Rust中编写BPF代码

BPF是一种虚拟机,当Linux系统上发生某些事件时,它允许在内核中运行用户定义的程序。例如,您要监视可疑文件活动,记录网络响应延迟甚至跟踪用户空间应用程序–您可以编写小型BPF程序,请求将它们附加到内核中的正确位置,并实施必要的检测。

BPF VM使用其自己的指令集。您可以直接编写字节码,但是人们通常使用 bpftrace 或编写C代码并使用 BPF编译器集合(BCC)进行编译

从原理上讲,开发BPF程序的过程可以归纳为以下步骤:

  • 用C编写BPF代码
  • 编译BPF VM的代码
  • 编写一个将第2步的输出加载到BPF VM的用户空间组件
  • 使用BPF API在用户空间组件和BPF代码之间交换数据
  • RedBPF包括用于实现上述所有步骤(步骤1)除外的API和工具。使用RedBPF,步骤1变为:

  • 在Rust中编写BPF代码
  • 文中实现了一个简单的http trace, 有兴趣的可以仔细阅读

    详情:​​https://blog.redsift.com/labs/writing-bpf-code-in-rust/​​

    关于 Rust 的数学运算

    昨天有个同学说 rust 没有基础数学运算。emmmm

    今天写小玩具的时候发现标准库都不支持基础数学运算,都要自己造轮子,
    三方库里也只有unsafe的linux数学库,愿rust越来越强!

    洛佳同学的回复:

    数字运算在类型里面,标准库是有的,是支持的

    Attila的灵魂一击:

    说找不到库的试试这个的分类?

    https://lib.rs/science/math

    点击发现更多科学计算库:​​https://lib.rs/science/math​​

    最后说一句:多 Google ,几个关键字一拼什么都有了


    ​社区学习交流平台订阅:

    • Rustcc论坛: 支持rss
    • 微信公众号:Rust语言中文社区


    网友评论