刘用涛 CnosDB时序数据库的Rust实践第三届中国Rust开发者大会 CnosDB时序数据库的Rust实践 Yongtao Liu CnosDB 研发工程师 Rust China Conf 2023 CnosDB 是一款基于 Rust 开发的 开源的分布式时序数据库 1. CnosDB 架构与选型 2. 为何从 Go 切换到 Rust 3. 使用 Rust 经验分享 4. 反哺社区 linker=$gcc_prefix-gcc 指示rustc采用的C链接器程序 cross 提供了 “零设置” 的交叉编译 rust crate 它提供了一个环境、交叉工具链和交叉编译库,可以生成最便携的二进制文件 3.4 Rust 交叉编译 1. IO 异步化 平台兼容性 隔离阻塞 IO 异步化 2. io_uring 性能有40%提高 3.50 码力 | 26 页 | 3.28 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人新一代分布式高性能图数据库的构建 北京海致星图科技有限公司 2023-06-18 沈游人 数据库与大数据专场 海致简介—企业级知识图谱开创者 专业顶尖技术团队支撑 超 700 人团队,其中 80% 为技术人员,创始团队在完成全球第一个中文知 识图谱网站研发后,探索知识图谱技术在企业领域的应用。 2021 年,海致院 士专家工作站成立,站内清华大学计算机博士生占比达 90% 以上。 高性能图计算是高性能计算、图计算两项技术融合产生的新的技术方向,满足人们对更大规模、更复 杂数据的实时处理和存储需求,是计算机领域竞争新战略制高点。 产学结合、协同创新,打造全球领先的国产自研图数据库 AtlasGraph ,培育世界级的图计算软硬件 生态体系,保持对全球科技竞争的战略均衡。 海致高性能图计算院士专家工作站 海致获得“ 2021 年 CCF 科学技术奖科技进步卓越奖” CCF 生活中无处不在的图 图分析技术分类 图查询 • 使用图数据库的查询语言进行点边搜索 图算法 • 中心性算法 • 社区算法 • 路径算法 • … 图深度学习 • 图嵌入 • 图卷积 • 图注意力网络 • 图自编码器 图查询及其应用场景 图查询 • 使用图数据库的查询语言进行点边的关联查询,可以快速完成传统数据库难以完成的 多度点边关 联 当前图的典型应用场景 路径识别 群体挖掘0 码力 | 38 页 | 24.68 MB | 1 年前3
Rust 语言学习笔记Re-exporting....................................................................... 14 1.2.6 加载外部库......................................................................... 14 1.2.7 prelude........ rust调用 ffi函数 .................................................................. 68 6.3.2 将 rust 编译成库 .................................................................. 71 6.4 堆,栈,BOX................ 些模块的最基本规则外,由开发者更大范围地自定义模块的存在。 首先在一个 rust 项目中,首先定义了 crate 和 module。 1.1 Crate 1.crate 编译后会形成一个库(例如.so)或二进制可执行文件。crate 分为两种: lib crate 和 bin crate。 2. 一个包可以带有零个或一个 lib crate 和任意多个 bin crate。一个包中必0 码力 | 117 页 | 2.24 MB | 1 年前3
Comprehensive Rust(简体中文) 202412. . . . . . . . . . . . . . . . . . . . . . . . 78 IV 第二天:下午 79 15 Welcome Back 80 16 标准库类型 81 16.1 标准库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 16.2 文档 . use、super、self . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 26.5 练习:面向 GUI 库的模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 26.5.1 解答 . . . . . . . . . . . 33.1 Rust 二进制文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 33.2 Rust 库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189 34 AIDL 191 34.1 /**0 码力 | 359 页 | 1.33 MB | 10 月前3
Rust在物理引擎研发中的应用 崔汉青代码质量高,使用简单,但是没有 AoSoA类型,跨端确定性难以保证 nalgebra 过于复杂,大量的泛型导致使用 不便,代码质量一般 其余开源 crates 完成度不高 Rust 开源数学库的痛点 写好数学库并不容易 • 充分利用目标平台指令集 – 大量的针对目标平台的SIMD优化 • 数学计算本质上是类似的 – 大量的相似代码 • Portable SIMD unstable • 影响跨端确定性的因素太多了 性能超越目前开源的 Rust基础数学库 glam nalgebra ultraviolet Generic, procedure macro, or… Generic 表达力不足 不容易做精细性能优化 Procedure Macro 过于复杂 结果不可见 那么,用代码生成代码?Web 开发用的模板引擎, 也可以用于生成 Rust 代码 tera 模板生成分指令集优化的 Rust0 码力 | 22 页 | 1.18 MB | 1 年前3
Rust 程序设计语言简体中文版.............................................................................. 278 12.4. 采用测试驱动开发完善库的功能 ................................................................................ 293 12.5. 处理环境变量 (IOT)程序、机器学习,甚至是 Firefox 浏览器的重要部分。 7/600 Rust 程序设计语言 简体中文版 开源开发者 Rust 适合那些希望构建 Rust 编程语言、社区、开发工具和库的开发者。我们非常欢迎你为 Rust 语言作出贡献。 重视速度和稳定性的开发者 Rust 适合那些渴望在编程语言中寻求速度与稳定性的开发者。对于速度来说,既是指 Rust 可 以运行的多快,也是指编写 制流结构。在 Rust 中,创建自定义类型需要用到结构体和枚举。 第 7 章介绍 Rust 的模块(module)系统,其中的私有性规则用来组织代码和公开的 API(应 用程序接口)。第 8 章讨论标准库提供的常见集合数据结构,例如 Vector(向量)、字符串和 Hash Map(散列表)。第 9 章探索 Rust 的错误处理的理念与技术。 第 10 章深入介绍泛型(generic)、Trait0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 12.4. 采用测试驱动开发完善库的功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 工具、嵌入式设备、音视频分析与转码、加密货币、生物信息学、搜索引擎、物联网 (IOT)程序、机器学习,甚至是 Firefox 浏览器的重要部分。 开源开发者 Rust 适合那些希望构建 Rust 编程语言、社区、开发工具和库的开发者。我们非常欢迎你为 Rust 语言作出贡献。 7/562Rust 程序设计语言 简体中文版 重视速度和稳定性的开发者 Rust 适合那些渴望在编程语言中寻求速度与稳定性的开发者。对于速度来说,既是指 控 制流结构。在 Rust 中,创建自定义类型需要用到结构体和枚举。 第七章介绍 Rust 的模块(module)系统,其中的私有性规则用来组织代码和公开的 API(应 用程序接口)。第八章讨论标准库提供的常见集合数据结构,例如 Vector(向量)、字符串和 Hash Map(散列表)。第九章探索 Rust 的错误处理的理念与技术。 第十章深入介绍泛型(generic)、Trait 和生命周期0 码力 | 562 页 | 3.23 MB | 27 天前3
基于 Rust Arrow Flight 的物联网和时序数据传输及转换工具 霍琳贺Excel 解析库 • xlsx2csv - Excel 转 CSV 工具 • Unqlite - 单文件非关系型数据库 • Wisecondor - 生物信息 CNV 分析 • mdsn - A Multi-address DSN(Data Source Name) parser. TDengine 应用开发组 • Python/Rust/Go 连接器 • 数据可视化 • 数据库运维工具 时序数据库 TDengine 是一款开源、云原生的时序数据库( Time Series Database ),专为物联网、工业互联网、金融、 IT 运维监控等场景设计并优化,具有极强的弹性伸缩能力。同时它还带有内建的缓存、流式计算、数据订阅等 系统功能,能大幅减少系统设计的复杂度,降低研发和运营成本,是一个极简的时序数据处理平台。 采用关系型数据库模型 需要建库、建表, Avalibility 2022.12 2023.05 2023.09 Usability Functionality taosX - 集群运维 • 数据库复制 • 全量 / 增量备份 • 数据导入 / 导出 • 数据库迁移 • 异地容灾 taosX - 数据接入 Comming Soon taosX - 流式处理 taosX - Transformer • Parse0 码力 | 29 页 | 2.26 MB | 1 年前3
简谈 Rust 与国密 TLS - 王江桐Algorithms and Protocols #2 国密算法与协议介绍 Huawei Ylong Rust Cryptographic Framework #4 华为 Ylong Rust 密码库 国密算法总览 Overview to Shangmi Cryptography Section #1 • 密码算法安全目标 • 密码算法分类 • 国密套件总览 密码算法安全目标 Security Study of Vulnerabilities in Cryptographic Libraries”,MIT; • 对于8个大型、通用、开源的 C 与 C++ 密码库进行调研; • 现有的问题在于: • 密码库导致的一些错误,除了本身包含的一些算法错误以及内存错误,其他的一些问题出在用户的使用错 误,即文档、API、等相关说明的缺失; • 37.2%的漏洞在于实现时的系统内存错误,其中19 Rust 社区中对于国密的支持较弱; • C 社区中 GmSSL 等库提供完整国密能力支持,提供对应优化;Rust 社区中,对于下载量超过 1W 且 半年内有更新、在维护期的国密套件库,仅有 RustCrypto 和 libsm,未审核,且缺少安全协议功能支 持,在性能上也可以进一步优化。 华为 Ylong Rust 密码库 Huawei Ylong Rust Cryptographic Framework0 码力 | 44 页 | 3.70 MB | 1 年前3
Rust HTTP 协议栈在终端通信场景的实践 - 胡凯HTTP 协议 借助于 Rust 异步能力的热门 Rust HTTP 协议库或应用库: Hyper reqwest actix-web axum Rust China Conf 2022 – 2023, Shanghai, China Rust 与 HTTP 协议 hyper 是一个高效且功能完整的 HTTP 协议底层库,可以支持高层的应用软件使用 HTTP 协议。 ✓ Rust 异步实现 Rust China Conf 2022 – 2023, Shanghai, China Rust 与 HTTP 协议 reqwest 是基于 hyper 实现的高性能、易用的 HTTP 客户端库。 ✓ Rust 异步实现 ✓ 支持明文、JSON、Multipart 的 body 类型 ✓ 支持 HTTP Proxy ✓ 支持 HTTPS ✓ 支持 Cookies Rust China body 自动解压缩 ✓ 支持 multipart Rust China Conf 2022 – 2023, Shanghai, China Rust 与 HTTP 协议 以上 Rust HTTP 库主要支持的场景特点: ➢ 并发量、吞吐量需求较高 ➢ 网络环境稳定 ➢ 不太需要体现交互界面 ➢ 不太关注资源使用 比较适合构建浏览器、大型 WEB 服务器等。 终端 HTTP 通信场景浅析0 码力 | 26 页 | 1.25 MB | 1 年前3
共 35 条
- 1
- 2
- 3
- 4













