新一代分布式高性能图数据库的构建 - 沈游人化性能有限) 新一代分布式图数据库需具备的特性 特性 信 雅 达 • 高可用 • 一致性(事 务) • 高性能 • 低资源消耗 • 易用 • 功能丰富 AtlasGraph 关键特性 云原生 Cloud-Native Graph Database 支持弹性伸缩,有 效利用硬件资源,高可用,高 可靠,故障自愈,低成本运维 HTAP Hybrid Transactional/Analytical - 配合 Atlas 图平台,实现无代码图分析 - Query 性能分析模块,启发式提示优化 - 内置多种分析函数,面向分析师友好 -MVOCC 保证事务一致性 - 多副本管理保证数据服务高可用 - 在线备份提供容灾保障 高速 易用 可靠 Why Rust ? Performance • Blazingly fast and memory-efficient • No runtime i32 i64 u32 u32 string string 定长 变长 高可用技术方案 基于 Chain Replication ( CRAQ ) 算法实现,进行数据副本处理,头 结点写,多结点读,支持读写分离 ,提供更好的并发查询能力 数据高可用实现 Chain Replication 数据高可用方案 服务高可用实现 系统中 Meta , TS 服务采用主备架 构,基于 Raft0 码力 | 38 页 | 24.68 MB | 1 年前3
Comprehensive Rust(繁体中文)2); let x_coord = &mut point.0; *x_coord = 20; println!("point: {point:?}"); } 重要須知: • 「專屬」表示只有這個參照可用來存取值。任何其他參照 (不論是共用或專屬參照) 都不可以同 時存在,此外,在專屬參照存在的情況下,就無法存取參照的值。請嘗試在 x_coord 運作時建立 &point.0 或變更 point.0。 ("C: {}", Bar::C as u32); } 如果沒有 repr,判別值型別會需要 2 個位元組,因為 10001 適合 2 個位元組。 探索更多內容 Rust 支援多種最佳化做法,可用於縮減列舉占用的空間。 • 空值指標最佳化:針對部分型別,Rust 保證 size_of::() 等於size_of:: 0 码力 | 358 页 | 1.41 MB | 11 月前3
Comprehensive Rust(繁体中文) 2024062); let x_coord = &mut point.0; *x_coord = 20; println!("point: {point:?}"); } 重要須知: • 「專屬」表示只有這個參照可用來存取值。任何其他參照 (不論是共用或專屬參照) 都不可以同 時存在,此外,在專屬參照存在的情況下,就無法存取參照的值。請嘗試在 x_coord 運作時建立 &point.0 或變更 point.0。 ("C: {}", Bar::C as u32); } 如果沒有 repr,判別值型別會需要 2 個位元組,因為 10001 適合 2 個位元組。 探索更多內容 Rust 支援多種最佳化做法,可用於縮減列舉占用的空間。 • 空值指標最佳化:針對部分型別,Rust 保證 size_of::() 等於size_of:: 0 码力 | 356 页 | 1.41 MB | 1 年前3
Hello 算法 1.1.0 Rust版针对的是 Java 的基本数据类型的情况。每种编程语言都有各自的数据类型定义,它们的占用 空间、取值范围和默认值可能会有所不同。 ‧ 在 Python 中,整数类型 int 可以是任意大小,只受限于可用内存;浮点数 float 是双精度 64 位;没 有 char 类型,单个字符实际上是长度为 1 的字符串 str 。 ‧ C 和 C++ 未明确规定基本数据类型的大小,而因实现和平台各异。表 3‑1 len() { if nums[i] == target { return Some(i); } } None } 7. 扩容数组 在复杂的系统环境中,程序难以保证数组之后的内存空间是可用的,从而无法安全地扩展数组容量。因此在 大多数编程语言中,数组的长度是不可变的。 如果我们希望扩容数组,则需重新建立一个更大的数组,然后把原数组元素依次复制到新数组。这是一个 ?(?) 的操作, 有数据复制到新数组,开销很大。 ‧ 空间浪费:如果数组分配的大小超过实际所需,那么多余的空间就被浪费了。 4.1.3 数组典型应用 数组是一种基础且常见的数据结构,既频繁应用在各类算法之中,也可用于实现各种复杂数据结构。 ‧ 随机访问:如果我们想随机抽取一些样本,那么可以用数组存储,并生成一个随机序列,根据索引实现 随机抽样。 ‧ 排序和搜索:数组是排序和搜索算法最常用的数据结构。快速排序、归并排序、二分查找等都主要在数0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版针对的是 Java 的基本数据类型的情况。每种编程语言都有各自的数据类型定义,它们的占用 空间、取值范围和默认值可能会有所不同。 ‧ 在 Python 中,整数类型 int 可以是任意大小,只受限于可用内存;浮点数 float 是双精度 64 位;没 有 char 类型,单个字符实际上是长度为 1 的字符串 str 。 ‧ C 和 C++ 未明确规定基本数据类型的大小,而因实现和平台各异。表 3‑1 len() { if nums[i] == target { return Some(i); } } None } 7. 扩容数组 在复杂的系统环境中,程序难以保证数组之后的内存空间是可用的,从而无法安全地扩展数组容量。因此在 大多数编程语言中,数组的长度是不可变的。 如果我们希望扩容数组,则需重新建立一个更大的数组,然后把原数组元素依次复制到新数组。这是一个 ?(?) 的操作, 有数据复制到新数组,开销很大。 ‧ 空间浪费:如果数组分配的大小超过实际所需,那么多余的空间就被浪费了。 4.1.3 数组典型应用 数组是一种基础且常见的数据结构,既频繁应用在各类算法之中,也可用于实现各种复杂数据结构。 ‧ 随机访问:如果我们想随机抽取一些样本,那么可以用数组存储,并生成一个随机序列,根据索引实现 随机抽样。 ‧ 排序和搜索:数组是排序和搜索算法最常用的数据结构。快速排序、归并排序、二分查找等都主要在数0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.0.0 Rust版针对的是 Java 的基本数据类型的情况。每种编程语言都有各自的数据类型定义,它们的占用 空间、取值范围和默认值可能会有所不同。 ‧ 在 Python 中,整数类型 int 可以是任意大小,只受限于可用内存;浮点数 float 是双精度 64 位;没 有 char 类型,单个字符实际上是长度为 1 的字符串 str 。 ‧ C 和 C++ 未明确规定基本数据类型的大小,而因实现和平台各异。表 3‑1 len() { if nums[i] == target { return Some(i); } } None } 7. 扩容数组 在复杂的系统环境中,程序难以保证数组之后的内存空间是可用的,从而无法安全地扩展数组容量。因此在 大多数编程语言中,数组的长度是不可变的。 如果我们希望扩容数组,则需重新建立一个更大的数组,然后把原数组元素依次复制到新数组。这是一个 ?(?) 的操作, 有数据复制到新数组,开销很大。 ‧ 空间浪费:如果数组分配的大小超过实际所需,那么多余的空间就被浪费了。 4.1.3 数组典型应用 数组是一种基础且常见的数据结构,既频繁应用在各类算法之中,也可用于实现各种复杂数据结构。 ‧ 随机访问:如果我们想随机抽取一些样本,那么可以用数组存储,并生成一个随机序列,根据索引实现 随机抽样。 ‧ 排序和搜索:数组是排序和搜索算法最常用的数据结构。快速排序、归并排序、二分查找等都主要在数0 码力 | 383 页 | 17.61 MB | 1 年前3
基于 Rust Arrow Flight 的物联网和时序数据传输及转换工具 霍琳贺VARCHAR(24)) TDengine - 业务模式 开源版 企业版 云服务版 核心功能开源 • SQL 支持 • 无模式写入 • 缓存 • 流计算 • 数据订阅 • 集群、高可用 高可靠、线性扩展 + 专业技术服务 • 边云数据复制 • 跨云 / 异地数据复制 • 增量备份 • 多级存储 • 工业数据接入 全托管时序数据 管理云服务平台 • 全托管服务 • futures::future::Abortable 可用于短路一个 stream • tokio_util::sync::CancellationToken 可用于向一个或多个任务发出取 消信号, Task 内使用 tokio::select! 宏执行相关取消操作。 • tokio::signal::ctrl_c 接收 Ctrl-C 信号,可用于最终程序退出时的取 消操作。 • 谨慎处理任务中0 码力 | 29 页 | 2.26 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0是一个常用的版本控制系统(version control system,VCS)。可以通过 --vcs 参数使 cargo new 切换到其它版本控制系统(VCS),或者不使用 VCS。运行 cargo new --help 查看可用的选项。 请自行选用文本编辑器打开 Cargo.toml 文件。它应该看起来与示例 1-2 中代码类似: 文件名:Cargo.toml [package] name = "hello_cargo" 或是任何 0.9.x 系列的版本, 必须像这样更新 Cargo.toml 文件: [dependencies] rand = "0.9.0" 下一次运行 cargo build 时,Cargo 会更新可用 crate 的 registry,并根据你指定的新版本重 新评估 rand 的要求。 第十四章会讲到 Cargo 及其生态系统 的更多内容,不过目前你只需要了解这么多。通过 Cargo 复用库文件非常容易,因此 值,需要编写处理每个变体的代码。你想要一些代码只当拥有 Some(T) 值时运行,允许这些代码使用其中的 T。也希望一些代码只在值为 None 时运行,这 120/562Rust 程序设计语言 简体中文版 些代码并没有一个可用的 T 值。match 表达式就是这么一个处理枚举的控制流结构:它会根据 枚举的变体运行不同的代码,这些代码可以使用匹配到的值中的数据。 121/562Rust 程序设计语言 简体中文版 match0 码力 | 562 页 | 3.23 MB | 1 月前3
Hello 算法 1.2.0 繁体中文 Rust 版針對的是 Java 的基本資料型別的情況。每種程式語言都有各自的資料型別定義,它們的佔用 空間、取值範圍和預設值可能會有所不同。 ‧ 在 Python 中,整數型別 int 可以是任意大小,只受限於可用記憶體;浮點數 float 是雙精度 64 位; 沒有 char 型別,單個字元實際上是長度為 1 的字串 str 。 ‧ C 和 C++ 未明確規定基本資料型別的大小,而因實現和平臺各異。表 3‑1 len() { if nums[i] == target { return Some(i); } } None } 7. 擴容陣列 在複雜的系統環境中,程式難以保證陣列之後的記憶體空間是可用的,從而無法安全地擴展陣列容量。因此 在大多數程式語言中,陣列的長度是不可變的。 如果我們希望擴容陣列,則需重新建立一個更大的陣列,然後把原陣列元素依次複製到新陣列。這是一個 ?(?) 的操作, 資料複製到新陣列,開銷很大。 ‧ 空間浪費:如果陣列分配的大小超過實際所需,那麼多餘的空間就被浪費了。 4.1.3 陣列典型應用 陣列是一種基礎且常見的資料結構,既頻繁應用在各類演算法之中,也可用於實現各種複雜資料結構。 ‧ 隨機訪問:如果我們想隨機抽取一些樣本,那麼可以用陣列儲存,並生成一個隨機序列,根據索引實現 隨機抽樣。 ‧ 排序和搜尋:陣列是排序和搜尋演算法最常用的資料結構。快速排序、合併排序、二分搜尋等都主要在0 码力 | 388 页 | 18.82 MB | 10 月前3
Rust 程序设计语言简体中文版control system,VCS)。可以通过 --vcs 参数使 cargo new 切换到其它版本控制系统(VCS),或者不使用 VCS。运行 cargo new --help 参看可用的选项。 请自行选用文本编辑器打开 Cargo.toml 文件。它应该看起来如示例 1-2 所示: 19/600 Rust 程序设计语言 简体中文版 文件名:Cargo.toml [package] 本,必须像这样更新 Cargo.toml 文件: [dependencies] rand = "0.9.0" 下一次运行 cargo build 时,Cargo 会从 registry 更新可用的 crate,并根据你指定的新版本 重新计算。 第十四章会讲到 Cargo 及其生态系统 的更多内容,不过目前你只需要了解这么多。通过 Cargo 复用库文件非常容易,因此 Rustacean Copy trait 的特殊注解,可以用在类似整型这样的存储在栈上的类型上(第 十章将会详细讲解 trait)。如果一个类型实现了 Copy trait,那么一个旧的变量在将其赋值给 其他变量后仍然可用。 Rust 不允许自身或其任何部分实现了 Drop trait 的类型使用 Copy trait。如果我们对其值离 开作用域时需要特殊处理的类型使用 Copy 注解,将会出现一个编译时错误。要学习如何为你0 码力 | 600 页 | 12.99 MB | 1 年前3
共 20 条
- 1
- 2













