基于 Rust Arrow Flight 的物联网和时序数据传输及转换工具 霍琳贺Visualization Tool Grafana Web Based Management Tool 21,400+ 4,600+ 18,500+ 社区版开源 2019.07.12 集群版开源 2020.08.03 云原生版开源 2022.08.13 注 : GitHub 为截止 2023 年 5 月数据 TDengine 的 核 心 代 码 全 部 开 源 www.github VARCHAR(24)) TDengine - 业务模式 开源版 企业版 云服务版 核心功能开源 • SQL 支持 • 无模式写入 • 缓存 • 流计算 • 数据订阅 • 集群、高可用 高可靠、线性扩展 + 专业技术服务 • 边云数据复制 • 跨云 / 异地数据复制 • 增量备份 • 多级存储 • 工业数据接入 全托管时序数据 管理云服务平台 • 全托管服务 • taosX - 物联网数据接入问题 • 多种不同协议数据对接,开发复杂度高 • 模块之间关联性不高但模块组成复杂,可维护性差 • 大量设备大量数据归集存储,存储压力大 • 数据总线 / 消息队列消息接入,定制化程度要求高 • 数据业务逻辑自定义需求强 • 一定的实时数据分析能力 taosX - 功能路线图 集群运维 数据接入 流式处理 流式处理 数据分享 开放平台 • Backup/Restore0 码力 | 29 页 | 2.26 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人应用”项目,斩获“科学技术奖科技进步一等奖”,这也是国内电子信 息领域的最高奖项。 该奖项由数十名院士评审,历经三轮,从三百余个申报项目中遴选 而出。由院士等组成的科技成果鉴定委员会认为:“该成果技术复杂 度高,研制难度大,创新性强,项目成果整体达到国际先进水平, 其中异质图建模与表示学习技术和超大规模图学习系统处于国际领 先水平。” 以终为始,以行为知,这一项目从图计算所面临的挑战出发,解决了大规模图数据所产生 /wifi... 亲属 / 同事 / 一致行动 人 / 担保同地址 / 同设备登 陆 /... 已签署 / 过期签署 / 意向签署 /... 已签署 / 过期签署 / 意向签署 /... 董监高 / 就职 / 实际控制人 拥有 / 抵押 / 质 押 股权 / 资管计划 / 资金往来 / 担 保 / 借贷 / 集团 / 控股 / 上下 游 ... 父子 / 组合 / 继承 转账 / … 设别出带有某种共同特征 的企业或个人群体 舆情传导 营销传导 风险传导 … 计算某个事件在关联的企业、个人 之间的传递过程和传递概率 图深度学习及其应用场景 图嵌入 • 将高维的图信息映射到低维向量中 • 通过图嵌入将客户关系表示为低维向量,可以结合其 他客户行为特征进行机器学习训练 图卷积神经网络 • 对图结构数据进行卷积计算 • 通过已有的企业数据,通过 GCN0 码力 | 38 页 | 24.68 MB | 1 年前3
Rust在物理引擎研发中的应用 崔汉青化,满足苛求性能的引擎研发需求; Rust 的零开销抽象甩掉了复杂设计的性能包袱 # 高性能 Rust 在不损耗性能的情况下,其优秀的语 法设计保证了语言的强大表达力:用更少 的代码写更多的功能 # 高表达力 # 安全 Rust 依靠 LLVM 实现了多目标平台,并可 以用语言内建的 target_feature 针对不同 的指令集进行处理 # 跨平台 Cargo 真的比 cmake 好太多了 Constraint Groups Simulation Time Control Delta Time State Change Input State Output glam 代码质量高,使用简单,但是没有 AoSoA类型,跨端确定性难以保证 nalgebra 过于复杂,大量的泛型导致使用 不便,代码质量一般 其余开源 crates 完成度不高 Rust 开源数学库的痛点 写好数学库并不容易 coincide 7 ns 16 ns 2.3 Motphys 分布式物理引擎设计目标 0.02s内多次通信 苛刻的低延迟要求 高速内网环境下的线 性扩展 – 新增结点的 网络开销恒定 高可用和负载均衡 Message的RTT 可测量 Motphys 分布式物理 引擎网络架构 derive serde vs protobuf • 通信协议选型 • protobuf/msgpack/…0 码力 | 22 页 | 1.18 MB | 1 年前3
Rust分布式账务系统 - 胡宇允许数据丢失 性能 超低延迟 + 高吞吐 超高吞吐 交易日志 审计,监管 调试使用 分布式账务系统 Fintech 领域中的软件与互联网软件的不同 需求分析 支付处理: ● 转账 ● 冻资 / 解资 ● 账户限额 ● 批处理事务 正确性:无双花或少付 审计监管:交易日志不可篡改,交易历史可回溯 条件事务:根据一定的条件决定事务执行与否 高可用:在部分节点失效的情况下,依旧可以提供正确的 高可用:在部分节点失效的情况下,依旧可以提供正确的 服务 超低延迟:实时交易,超低响应延迟 水平扩展性:利用分布式事务实现钱包集群的的水平扩 展,应对高达 100 万 TPS 的流量 可演化性:业务逻辑与底层 API 解耦,当业务发生改变 时,底层 API 不用改变 分布式账务系统 设计理念 - Rust 是我们可靠的基石 分布式账务系统 存算分离 API 解耦 读写分离 层级账号 Rust ● 事务层与账户层分 离 执行账户变动请求 ○ 更新账户余额 分布式账务系统 性能展示 8 vCPUs * 5 节点 SSD 磁盘 当 TPS = 10K 时, 延迟 P99 < 20ms 分布式账务系统 高吞吐,超低延迟 账户层: Auticuro 分布式账务系统 账户层: Auticuro ● 1. 接受转账请求,转换成 events ○ Tokio + Tonic 分布式账务系统 10 码力 | 27 页 | 12.60 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 Rust 版的方法是找一臺計算機,執行這兩個演算法,並監控記錄它們的執行時間和記憶體佔用情況。這種評估方式 能夠反映真實情況,但也存在較大的侷限性。 一方面,難以排除測試環境的干擾因素。硬體配置會影響演算法的效能表現。比如一個演算法的並行度較高, 那麼它就更適合在多核 CPU 上執行,一個演算法的記憶體操作密集,那麼它在高效能記憶體上的表現就會 更好。也就是說,演算法在不同的機器上的測試結果可能是不一致的。這意味著我們需要在各種機器上進行 複雜度分析為我們提供了一把評估演算法效率的“標尺”,使我們可以衡量執行某個演算法所需的時間和空 間資源,對比不同演算法之間的效率。 複雜度是個數學概念,對於初學者可能比較抽象,學習難度相對較高。從這個角度看,複雜度分析可能不太 適合作為最先介紹的內容。然而,當我們討論某個資料結構或演算法的特點時,難以避免要分析其執行速度 和空間使用情況。 綜上所述,建議你在深入學習資料結構與演算法之 所不同。 表 2‑1 迭代與遞迴特點對比 第 2 章 複雜度分析 www.hello‑algo.com 27 迭代 遞迴 實現方 式 迴圈結構 函式呼叫自身 時間效 率 效率通常較高,無函式呼叫開銷 每次函式呼叫都會產生開銷 記憶體 使用 通常使用固定大小的記憶體空間 累積函式呼叫可能使用大量的堆疊幀空間 適用問 題 適用於簡單迴圈任務,程式碼直觀、可讀 性好 適0 码力 | 388 页 | 18.82 MB | 10 月前3
Hello 算法 1.0.0 Rust版“计算操作运行时间统计”简化为“计算操作数量统计”,这样一来估算难度就大大降低了。 ‧ 时间复杂度也存在一定的局限性。例如,尽管算法 A 和 C 的时间复杂度相同,但实际运行时间差别很 大。同样,尽管算法 B 的时间复杂度比 C 高,但在输入数据大小 ? 较小时,算法 B 明显优于算法 C 。在 这些情况下,我们很难仅凭时间复杂度判断算法效率的高低。当然,尽管存在上述问题,复杂度分析仍 然是评判算法效率最有效且常用的方法。 (?2) ?3 + 10000?2 ?(?3) 2? + 10000?10000 ?(2?) 2.3.4 常见类型 设输入数据大小为 ? ,常见的时间复杂度类型如图 2‑9 所示(按照从低到高的顺序排列)。 ?(1) < ?(log ?) < ?(?) < ?(? log ?) < ?(?2) < ?(2?) < ?(?!) 常数阶 < 对数阶 < 线性阶 < 线性对数阶 < 平方阶 < recur() 在运行过程中会同时存在 ? 个未返回的 recur() ,从而占用 ?(?) 的栈帧空间。 2.4.3 常见类型 设输入数据大小为 ? ,图 2‑16 展示了常见的空间复杂度类型(从低到高排列)。 ?(1) < ?(log ?) < ?(?) < ?(?2) < ?(2?) 常数阶 < 对数阶 < 线性阶 < 平方阶 < 指数阶 图 2‑16 常见的空间复杂度类型 1. 常数阶0 码力 | 383 页 | 17.61 MB | 1 年前3
Hello 算法 1.1.0 Rust版“计算操作运行时间统计”简化为“计算操作数量统计”,这样一来估算难度就大大降低了。 ‧ 时间复杂度也存在一定的局限性。例如,尽管算法 A 和 C 的时间复杂度相同,但实际运行时间差别很 大。同样,尽管算法 B 的时间复杂度比 C 高,但在输入数据大小 ? 较小时,算法 B 明显优于算法 C 。在 这些情况下,我们很难仅凭时间复杂度判断算法效率的高低。当然,尽管存在上述问题,复杂度分析仍 然是评判算法效率最有效且常用的方法。 (?2) ?3 + 10000?2 ?(?3) 2? + 10000?10000 ?(2?) 2.3.4 常见类型 设输入数据大小为 ? ,常见的时间复杂度类型如图 2‑9 所示(按照从低到高的顺序排列)。 ?(1) < ?(log ?) < ?(?) < ?(? log ?) < ?(?2) < ?(2?) < ?(?!) 常数阶 < 对数阶 < 线性阶 < 线性对数阶 < 平方阶 < recur() 在运行过程中会同时存在 ? 个未返回的 recur() ,从而占用 ?(?) 的栈帧空间。 2.4.3 常见类型 设输入数据大小为 ? ,图 2‑16 展示了常见的空间复杂度类型(从低到高排列)。 ?(1) < ?(log ?) < ?(?) < ?(?2) < ?(2?) 常数阶 < 对数阶 < 线性阶 < 平方阶 < 指数阶 图 2‑16 常见的空间复杂度类型 1. 常数阶0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版“计算操作运行时间统计”简化为“计算操作数量统计”,这样一来估算难度就大大降低了。 ‧ 时间复杂度也存在一定的局限性。例如,尽管算法 A 和 C 的时间复杂度相同,但实际运行时间差别很 大。同样,尽管算法 B 的时间复杂度比 C 高,但在输入数据大小 ? 较小时,算法 B 明显优于算法 C 。对 于此类情况,我们时常难以仅凭时间复杂度判断算法效率的高低。当然,尽管存在上述问题,复杂度分 析仍然是评判算法效率最有效且常用的方法。 (?2) ?3 + 10000?2 ?(?3) 2? + 10000?10000 ?(2?) 2.3.4 常见类型 设输入数据大小为 ? ,常见的时间复杂度类型如图 2‑9 所示(按照从低到高的顺序排列)。 ?(1) < ?(log ?) < ?(?) < ?(? log ?) < ?(?2) < ?(2?) < ?(?!) 常数阶 < 对数阶 < 线性阶 < 线性对数阶 < 平方阶 < recur() 在运行过程中会同时存在 ? 个未返回的 recur() ,从而占用 ?(?) 的栈帧空间。 2.4.3 常见类型 设输入数据大小为 ? ,图 2‑16 展示了常见的空间复杂度类型(从低到高排列)。 ?(1) < ?(log ?) < ?(?) < ?(?2) < ?(2?) 常数阶 < 对数阶 < 线性阶 < 平方阶 < 指数阶 图 2‑16 常见的空间复杂度类型 1. 常数阶0 码力 | 387 页 | 18.51 MB | 10 月前3
Comprehensive Rust(繁体中文)Linux、Mac、Windows... • Rust 適用於多種裝置: – 韌體和啟動載入器 – 智慧螢幕、 – 手機、 – 電腦、 – 伺服器。 Rust 適合用於與 C++ 同樣的領域,且具有以下特色: • 高靈活性。 • 提供高度主控權。 • 可縮減到十分受限的裝置規模,例如微控制器。 • 沒有執行階段,也不使用垃圾收集機制。 • 著重可靠性和安全性,但不犧牲效能。 4.2 Rust 的優點 Rust behavior)」- Rust 陳述式的行為一律會 有定義 – 陣列存取行為會經過邊界檢查。 – 整數溢位的行為是明確的 (恐慌或迴繞)。 • 「現代化的語言特徵」- 具表現力且符合人因工程學的高階語言 – 列舉和模式配對。 – 泛型。 – 沒有 FFI 負擔。 – 零成本的抽象化機制。 – 更好的編譯錯誤描述。 – 內建依附元件管理工具。 – 內建測試支援。 – 卓越的語言伺服器通訊協定支援。 式配對、內建依附 元件管理機制等結構的新型語言。 • 具備 Java、Go、Python、JavaScript... 經驗:Rust 能讓您享有與這些語言相同的記憶體安全 性,而且還可帶來使用類似高階語言的感受。此外,您也能獲得像 C 和 C++ 一樣快速可預期的成效 (無垃圾收集器),以及低階硬體的存取權限 (如有需要)。 4.3 Playground Rust Playground 支援以簡便方式執行精簡的0 码力 | 358 页 | 1.41 MB | 10 月前3
Comprehensive Rust(繁体中文) 202406Linux、Mac、Windows... • Rust 適用於多種裝置: – 韌體和啟動載入器 – 智慧螢幕、 – 手機、 – 電腦、 – 伺服器。 Rust 適合用於與 C++ 同樣的領域,且具有以下特色: • 高靈活性。 • 提供高度主控權。 • 可縮減到十分受限的裝置規模,例如微控制器。 • 沒有執行階段,也不使用垃圾收集機制。 • 著重可靠性和安全性,但不犧牲效能。 4.2 Rust 的優點 Rust behavior)」- Rust 陳述式的行為一律會 有定義 – 陣列存取行為會經過邊界檢查。 – 整數溢位的行為是明確的 (恐慌或迴繞)。 • 「現代化的語言特徵」- 具表現力且符合人因工程學的高階語言 – 列舉和模式配對。 – 泛型。 – 沒有 FFI 負擔。 – 零成本的抽象化機制。 – 更好的編譯錯誤描述。 – 內建依附元件管理工具。 – 內建測試支援。 – 卓越的語言伺服器通訊協定支援。 式配對、內建依附 元件管理機制等結構的新型語言。 • 具備 Java、Go、Python、JavaScript... 經驗:Rust 能讓您享有與這些語言相同的記憶體安全 性,而且還可帶來使用類似高階語言的感受。此外,您也能獲得像 C 和 C++ 一樣快速可預期的成效 (無垃圾收集器),以及低階硬體的存取權限 (如有需要)。 4.3 Playground Rust Playground 支援以簡便方式執行精簡的0 码力 | 356 页 | 1.41 MB | 1 年前3
共 33 条
- 1
- 2
- 3
- 4













