刘用涛 CnosDB时序数据库的Rust实践第三届中国Rust开发者大会 CnosDB时序数据库的Rust实践 Yongtao Liu CnosDB 研发工程师 Rust China Conf 2023 CnosDB 是一款基于 Rust 开发的 开源的分布式时序数据库 1. CnosDB 架构与选型 2. 为何从 Go 切换到 Rust 3. 使用 Rust 经验分享 4. 反哺社区 “零设置” 的交叉编译 rust crate 它提供了一个环境、交叉工具链和交叉编译库,可以生成最便携的二进制文件 3.4 Rust 交叉编译 1. IO 异步化 平台兼容性 隔离阻塞 IO 异步化 2. io_uring 性能有40%提高 3.5 异步 IO 4. 反哺社区 4.1 DataFusion 在开发过程中,我们发现一些0 码力 | 26 页 | 3.28 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人新一代分布式高性能图数据库的构建 北京海致星图科技有限公司 2023-06-18 沈游人 数据库与大数据专场 海致简介—企业级知识图谱开创者 专业顶尖技术团队支撑 超 700 人团队,其中 80% 为技术人员,创始团队在完成全球第一个中文知 识图谱网站研发后,探索知识图谱技术在企业领域的应用。 2021 年,海致院 士专家工作站成立,站内清华大学计算机博士生占比达 90% 以上。 高性能图计算是高性能计算、图计算两项技术融合产生的新的技术方向,满足人们对更大规模、更复 杂数据的实时处理和存储需求,是计算机领域竞争新战略制高点。 产学结合、协同创新,打造全球领先的国产自研图数据库 AtlasGraph ,培育世界级的图计算软硬件 生态体系,保持对全球科技竞争的战略均衡。 海致高性能图计算院士专家工作站 海致获得“ 2021 年 CCF 科学技术奖科技进步卓越奖” CCF 操作 生活中无处不在的图 图分析技术分类 图查询 • 使用图数据库的查询语言进行点边搜索 图算法 • 中心性算法 • 社区算法 • 路径算法 • … 图深度学习 • 图嵌入 • 图卷积 • 图注意力网络 • 图自编码器 图查询及其应用场景 图查询 • 使用图数据库的查询语言进行点边的关联查询,可以快速完成传统数据库难以完成的 多度点边关 联 当前图的典型应用场景 路径识别 群体挖掘0 码力 | 38 页 | 24.68 MB | 1 年前3
Comprehensive Rust(简体中文) 202412还可以下载标准库的文档。可以同时安装多个版本的 Rust,rustup 会根 据需要让你在这些版本之间切换。 关键点: • Rust 有一个快速发布时间表,每六周就会发布一次新版本。新版本保持与旧版本的向后兼容性,并 添加新功能。 17 • 共有三个发布阶段:“稳定版(stable)”、 “测试版(beta)”和“夜间版(nightly)”。 • 新功能会先在“夜间版”上测试, “测试版”会每六周转为“稳定版”。 (84c898d65 2023-04-16) % cargo --version cargo 1.69.0 (6e9a83356 2023-04-12) 你也可以使用任何更高版本,因为 Rust 保持向后兼容性。 了解这些信息后,请按照以下步骤从本培训中的一个示例中构建 Rust 二进制文件: 1. 在你要复制的示例上点击“复制到剪贴板(Copy to clipboard)”按钮。 2. 使用 cargo 性:借助模拟,您可以将测试与其依赖项完全隔离。最立竿见影 的是,测试作业会更快且更稳定。另一方面,模拟对象的配置可能出现错误,并返回与真实依赖项不 同的输出。 建议您尽可能使用真实依赖项。例如,许多数据库都支持您配置内存后端。这意味着,您可以在测试 中获得正确的功能行为,而且测试速度会很快并会自动清理。 同样,许多 Web 框架都支持您启动进程内服务器,该服务器会绑定到 localhost 上的随机端口。0 码力 | 359 页 | 1.33 MB | 10 月前3
Borsh 安全高效的二进制序列化第三届中国 Rust 开发者大会 安全高效的二进制序列化 Daniel Wang @ NEAR Borsh • 运行、编码效率 • 确定性 • 跨平台兼容性 二进制序列化的问题 Binary Object Representation Serializer for Hashing • 字节级别确定性 • 执行速度快 Borsh • 轻量级 • 每一个对象与其二进制表示之间都存在一个双射映射0 码力 | 21 页 | 3.35 MB | 1 年前3
基于 Rust 语言编写的可编程的全球分布式 MQTT 服务器 王文庭⽀持多语⾔开发,⽐如Go,Python, rust,Javascript等 什么是Webassembly? 1. 所需求运⾏资源⼩(~64Kb for code and ~10Kb RAM) 2. 异构设备兼容性强(x86, ARM, RISC-V, MIPS, Raspberry Pi, Orange Pi … ) Serverless in MQTT Broker • 更好的代码执⾏环境抽象,它可以0 码力 | 31 页 | 3.95 MB | 1 年前3
Rust在物理引擎研发中的应用 崔汉青serde • 可自定义serializer/deserializer,灵活度高 • Pure rust win Pure Rust message 为了低延迟 • 序列化 • 不考虑版本兼容性 • 不带字段描述信息 • 仅支持primitives, Vec, 以及它们的组合嵌套 • 分布式物理引擎的计算和IO都很重要 • 计算线程和IO线程分离,各自绑定CPU核心 0 码力 | 22 页 | 1.18 MB | 1 年前3
Hello 算法 1.1.0 Rust版从存储空间占用的角度看,使用 UTF‑8 表示英文字符非常高效,因为它仅需 1 字节;使用 UTF‑16 编码某些 非英文字符(例如中文)会更加高效,因为它仅需 2 字节,而 UTF‑8 可能需要 3 字节。 从兼容性的角度看,UTF‑8 的通用性最佳,许多工具和库优先支持 UTF‑8 。 第 3 章 数据结构 hello‑algo.com 63 3.4.5 编程语言的字符编码 对于以往的大多数编程语言,程序运行中的字符串都采用 } } 3. 查找节点 AVL 树的节点查找操作与二叉搜索树一致,在此不再赘述。 7.5.4 AVL 树典型应用 ‧ 组织和存储大型数据,适用于高频查找、低频增删的场景。 ‧ 用于构建数据库中的索引系统。 ‧ 红黑树也是一种常见的平衡二叉搜索树。相较于 AVL 树,红黑树的平衡条件更宽松,插入与删除节点 所需的旋转操作更少,节点增删操作的平均效率更高。 7.6 小结 1. 重点回顾0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版从存储空间占用的角度看,使用 UTF‑8 表示英文字符非常高效,因为它仅需 1 字节;使用 UTF‑16 编码某些 非英文字符(例如中文)会更加高效,因为它仅需 2 字节,而 UTF‑8 可能需要 3 字节。 从兼容性的角度看,UTF‑8 的通用性最佳,许多工具和库优先支持 UTF‑8 。 第 3 章 数据结构 www.hello‑algo.com 63 3.4.5 编程语言的字符编码 对于以往的大多数编程语言,程序运行中的字符串都采用 com 176 3. 查找节点 AVL 树的节点查找操作与二叉搜索树一致,在此不再赘述。 7.5.4 AVL 树典型应用 ‧ 组织和存储大型数据,适用于高频查找、低频增删的场景。 ‧ 用于构建数据库中的索引系统。 ‧ 红黑树也是一种常见的平衡二叉搜索树。相较于 AVL 树,红黑树的平衡条件更宽松,插入与删除节点 所需的旋转操作更少,节点增删操作的平均效率更高。 7.6 小结 1. 重点回顾0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.0.0 Rust版从存储空间占用的角度看,使用 UTF‑8 表示英文字符非常高效,因为它仅需 1 字节;使用 UTF‑16 编码某些 非英文字符(例如中文)会更加高效,因为它仅需 2 字节,而 UTF‑8 可能需要 3 字节。 从兼容性的角度看,UTF‑8 的通用性最佳,许多工具和库优先支持 UTF‑8 。 第 3 章 数据结构 hello‑algo.com 63 3.4.5 编程语言的字符编码 对于以往的大多数编程语言,程序运行中的字符串都采用 } } 3. 查找节点 AVL 树的节点查找操作与二叉搜索树一致,在此不再赘述。 7.5.4 AVL 树典型应用 ‧ 组织和存储大型数据,适用于高频查找、低频增删的场景。 ‧ 用于构建数据库中的索引系统。 ‧ 红黑树在许多应用中比 AVL 树更受欢迎。这是因为红黑树的平衡条件相对宽松,在红黑树中插入与删 除节点所需的旋转操作相对较少,其节点增删操作的平均效率更高。 7.6 小结0 码力 | 383 页 | 17.61 MB | 1 年前3
基于 Rust Arrow Flight 的物联网和时序数据传输及转换工具 霍琳贺转 CSV 工具 • Unqlite - 单文件非关系型数据库 • Wisecondor - 生物信息 CNV 分析 • mdsn - A Multi-address DSN(Data Source Name) parser. TDengine 应用开发组 • Python/Rust/Go 连接器 • 数据可视化 • 数据库运维工具 • 第三方数据源接入 • BI 系统接入 https://taosdata TDengine: 时序数据库 TDengine 是一款开源、云原生的时序数据库( Time Series Database ),专为物联网、工业互联网、金融、 IT 运维监控等场景设计并优化,具有极强的弹性伸缩能力。同时它还带有内建的缓存、流式计算、数据订阅等 系统功能,能大幅减少系统设计的复杂度,降低研发和运营成本,是一个极简的时序数据处理平台。 采用关系型数据库模型 需要建库、建表, High Avalibility 2022.12 2023.05 2023.09 Usability Functionality taosX - 集群运维 • 数据库复制 • 全量 / 增量备份 • 数据导入 / 导出 • 数据库迁移 • 异地容灾 taosX - 数据接入 Comming Soon taosX - 流式处理 taosX - Transformer • Parse0 码力 | 29 页 | 2.26 MB | 1 年前3
共 23 条
- 1
- 2
- 3













