刘用涛 CnosDB时序数据库的Rust实践第三届中国Rust开发者大会 CnosDB时序数据库的Rust实践 Yongtao Liu CnosDB 研发工程师 Rust China Conf 2023 CnosDB 是一款基于 Rust 开发的 开源的分布式时序数据库 1. CnosDB 架构与选型 2. 为何从 Go 切换到 Rust 3. 使用 Rust 经验分享 4. 反哺社区 Optimizer Pluggable Scheduler Logical transform Physical transform 1.4基于DataFusion的高性能查询引擎 • 扩展数据源 • 扩展 SQL 语句 • 扩展流处理引擎 • 扩展优化规则 • 扩展时序函数 1.5 分布式 1. Shared nothing 2. Leaderless NRW vnode vnode vnode vnode vnode vnode... ...... ...... Time Line Meta集群:schema,tenant信息,分片信息 数据节点:存储 vnode数据 Raft write point replica set ...... bucket bucket replica set 2. 为何从 Go0 码力 | 26 页 | 3.28 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人新一代分布式高性能图数据库的构建 北京海致星图科技有限公司 2023-06-18 沈游人 数据库与大数据专场 海致简介—企业级知识图谱开创者 专业顶尖技术团队支撑 超 700 人团队,其中 80% 为技术人员,创始团队在完成全球第一个中文知 识图谱网站研发后,探索知识图谱技术在企业领域的应用。 2021 年,海致院 士专家工作站成立,站内清华大学计算机博士生占比达 90% 以上。 企业级数据解决方案专家 为建行、工行、交行、招行、上交所、深交所、中国人寿等 70+ 银行证券保险 企业、公安部、上海市公安局、武汉市公安局等 100+ 公安机构,国家电网、 国信通产业集团等电力能源行业提供数据智能产品解决方案及长期服务。 海致专注为政府、金融、能源等客户提供大数据处理、分析、挖掘服务,在互 联网技术基础上,打造专业、易用的企业级大数据实战应用产品及解决方案。 北京中关村总部 北京中关村总部 武汉运维中心 深圳研发中心 上海应用中心 专注于数据智能技术赋能中国数字经济发展 海致高性能图计算院士专家工作站 郑纬民 - 海致科技首席科学家 中国工程院院士、清华大学计算机科学与技术系教 授、中国计算机学会前理事长,中国计算机系统结构 的学科带头人,我国高性能计算和存储系统等方面的 泰斗和先行者。 2021 年 3 月 25 日,海致科技与清华大学计算机科学与技术系共同建设高性能图计算院士专家工作站0 码力 | 38 页 | 24.68 MB | 1 年前3
基于 Rust Arrow Flight 的物联网和时序数据传输及转换工具 霍琳贺的物联网和时序数据传输及 转换工具 霍琳贺 涛思数据 Rust China Conf 2023 CONTENTS 自 我 介 绍 T D e n g i n e t a o s X R u s t 使 用 TDengine Rust • OOXML - Excel 解析库 • xlsx2csv - Excel 转 CSV 工具 • Unqlite - 单文件非关系型数据库 • 连接器 • 数据可视化 • 数据库运维工具 • 第三方数据源接入 • BI 系统接入 https://taosdata.com/ https://github.com/zitsen CONTENTS 自 我 介 绍 T D e n g i n e t a o s X R u s t 使 用 TDengine: 时序数据库 TDengine 是一款开源、云原生的时序数据库( Time 力。同时它还带有内建的缓存、流式计算、数据订阅等 系统功能,能大幅减少系统设计的复杂度,降低研发和运营成本,是一个极简的时序数据处理平台。 采用关系型数据库模型 需要建库、建表, 为提升写入和查询效率,要求一个数据采集点一张表 为实现多表聚合,引入超级表概念 子表通过超级表创建,带有标签,通过标签实现多表 高效聚合 高效写入 支持标准 SQL 写入,支持批量写入0 码力 | 29 页 | 2.26 MB | 1 年前3
⽤ egg 孵化你的 SQL 优化器 - 王润基Analysis 估计⾏数 • Expr:Selectivity 0-1 • Plan:Rows CostFunction 估计代价 • Expr:每⾏计算开销 • Plan:计算+数据量+⼦节点 简单,但需要耐⼼调 估价函数 搜索剪枝 egg 不⽀持使⽤估价函数进⾏启发式搜索 容易导致组合爆炸问题 我们通过分阶段优化+多轮迭代缓解此问题 RBO: Pushdown… t(a, b) SELECT sum(count(b)) FROM t Validation ❌ 嵌套的聚合函数 SELECT a FROM t WHERE sum(b) > 10 ❌ WHERE 中的聚合函数 聚合函数提取 sum + count $1.1 聚合分析 count [] [count(Id(1))] [sum(Id(1))] [sum(Id(1)) [sum(Id(1)), count(Id(1))] Id=1 2 3 4 5 [count(Id(4))] ⚠ 嵌套聚合函数 ✅ 收集所有聚合函数 聚合函数提取 Filter $1.2 = “Bob” Hash Join $1.1 = $2.1 Scan $1.1, $1.2 Scan $2.1, $2.2 Projection $1.2 + $2.2 物理下标解析0 码力 | 39 页 | 6.48 MB | 1 年前3
Rust分布式账务系统 - 胡宇提供高效,低成本的数字银行服务 关于我们: Airwallex 从设计架构到实现细节 项目介绍 分布式账务系统 Fintech 互联网 正确性 bug= 资损 bug 不可怕,快速迭代 可靠性 丢数据 = 资损 允许数据丢失 性能 超低延迟 + 高吞吐 超高吞吐 交易日志 审计,监管 调试使用 分布式账务系统 Fintech 领域中的软件与互联网软件的不同 需求分析 支付处理: ● 转账 ● 事务层与账户层分 离 ● 独立水平扩展 ● CQRS ● Event Sourcing ● 针对读场景,写场 景分别优化 ● 稳定的底层 API ● 灵活的顶层 API ● 树状结构 ● 聚合查询 ● 正确性:内存安全,线程安全 ● 可靠性: Raft 共识算法 raft-rs ● 高性能:关键路径无锁单线程 顶层架构 ● Gateway 路由层 ○ 业务 API 到底层0 码力 | 27 页 | 12.60 MB | 1 年前3
Rust 程序设计语言简体中文版.......................................................................................... 43 3.2. 数据类型 ................................................................................................ ................................................................................ 91 5. 使用结构体组织相关联的数据 ............................................................................................ 101 5 ..................................................................................... 204 10.1. 泛型数据类型 ................................................................................................0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 语言学习笔记面向对象编程 ............................................................................... 43 4.1 面向对象数据结构 ........................................................................ 43 4.1.1 元祖 ......... 程序设计语言的本质在于赋能(empowerment):无论你现在编写的是何 种代码,Rust 能让你在更为广泛的编程领域走得更远,写出自信。 比如,“系统层面”(“systems-level”)的工作,涉及内存管理、数据表示 和并发等底层细节。从传统角度来看,这是一个神秘的编程领域,只为浸淫多 年的极少数人所触及,也只有他们能避开那些臭名昭著的陷阱。即使谨慎的实 践者,亦唯恐代码出现漏洞、崩溃或损坏。 Rust 外部测试源代码文件位于 tests 目录下。 示例程序源代码文件位于 examples。 基准测试源代码文件位于 benches 目录下。 cargo.toml 是 cargo 特有的项目数据描述文件,对于猿们而言,cargo.toml 文 件存储了项目的所有信息,它直接面向 rustacean,如果想让自己的 rust 项目 能够按照期望的方式进行构建、测试和运行,那么,必须按照合理的方式构建0 码力 | 117 页 | 2.24 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.2. 数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 5. 使用结构体组织相关联的数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 10.1. 泛型数据类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 562 页 | 3.23 MB | 1 月前3
Rust算法教程 The Algos (algorithms)算法教程涵盖了各种常⽤算法和数据结构的代码实现,以及leetcode题解,同时对于相关算 法还提供了中⽂⽂档和注释,可以帮助⼤家更好、更快的学习。 关于算法 算法,⼀个⾼⼤上的词汇,在计算机领域也绝对是凡⼈的禁忌,但是其实算法⼜没那么神秘,我们 在写代码时,⽆时⽆刻都在与算法打交道,只是绝⼤部分算法我们⽆法感知到⽽已,因为这些算法 已经很好的被包装在其它库中,我们只需要输⼊数据然后调⽤它获得输出数据即可,因此这就引出 所谓排序,就是使⼀串记录,按照其中的某个或某些关键字的⼤⼩,递增或递减的排列起来的操 作。排序算法,就是如何使得记录按照要求排列的⽅法。排序算法在很多领域得到相当地重视,尤 其是在⼤量数据的处理⽅⾯。⼀个优秀的算法可以节省⼤量的资源。在各个领域中考虑到数据的各 种限制和规范,要得到⼀个符合实际的优秀算法,得经过⼤量的推理和分析。 2024/3/7 20:44 Rust算法教程 The Algos (algorithms) html 49/270 2024/3/7 20:44 Rust算法教程 The Algos (algorithms) https://algo.course.rs/print.html 50/270 数据转换算法(Burrows Wheeler Transform) pub fn burrows_wheeler_transform(input: String) -> (String, usize)0 码力 | 270 页 | 8.46 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版力,啃厚重的书往往变成了一项艰巨的挑战。 如果你也面临类似的困扰,那么很幸运这本书“找”到了你。本书是我对这个问题给出的答案,即使不是最 优解,也至少是一次积极的尝试。本书虽然不足以让你直接拿到 Offer,但会引导你探索数据结构与算法的 “知识地图”,带你了解不同“地雷”的形状、大小和分布位置,让你掌握各种“排雷方法”。有了这些本领, 相信你可以更加自如地刷题和阅读文献,逐步构建起完整的知识体系。 我深深赞同费曼教授所言:“Knowledge 动画在 PDF 内的展示效果受限,可访问 www.hello‑algo.com 网页版以获得更优的阅读体验。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读!” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 计算机的出现给世界带来了巨大 的自然交互,这些应用都是算法在计算机上的精妙演绎。 事实上,在计算机问世之前,算法和数据结构就已经存在于世界的各个角落。早期的算法相对简单,例如古 代的计数方法和工具制作步骤等。随着文明的进步,算法逐渐变得更加精细和复杂。从巧夺天工的匠人技艺、 到解放生产力的工业产品、再到宇宙运行的科学规律,几乎每一件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小0 码力 | 387 页 | 18.51 MB | 10 月前3
共 36 条
- 1
- 2
- 3
- 4













