新一代分布式高性能图数据库的构建 - 沈游人海致图平台产品服务于金融、政府行业有大量业务经验积累(接近客户需求) • 现有开源产品无法满足要求(受限于基础架构设计,优化性能有限) 新一代分布式图数据库需具备的特性 特性 信 雅 达 • 高可用 • 一致性(事 务) • 高性能 • 低资源消耗 • 易用 • 功能丰富 AtlasGraph 关键特性 云原生 Cloud-Native Graph Database 支持弹性伸缩,有 效利用硬件资源,高可用,高 MVOCC 计算层 Cypher AST 优化器 图计算 内存加速引 擎 服务接口 HTTP/RPC Spark 连接器 Python UDF 执行器 索引管理 一致性存储 RAFT 分片管理 元数据 集群管理 用户权限 GNN 应用层 Atlas 图平台 Atlas Studio Atlas Client 基础 设施 Docker/K8S/VM - 针对大规模图优化的存算引擎 - 配合 Atlas 图平台,实现无代码图分析 - Query 性能分析模块,启发式提示优化 - 内置多种分析函数,面向分析师友好 -MVOCC 保证事务一致性 - 多副本管理保证数据服务高可用 - 在线备份提供容灾保障 高速 易用 可靠 Why Rust ? Performance • Blazingly fast and memory-efficient0 码力 | 38 页 | 24.68 MB | 1 年前3
Comprehensive Rust(简体中文) 202412目标构建 Rust 代码,该目标会设 置 +Strict-align 以防止编译器生成非对齐访问,因此在本例中应该没有问题,但一般情 况下并不一定如此。 – 如果是在虚拟机中运行该命令,可能会导致缓存一致性问题。问题在于,虚拟机是在禁用缓存 的情况下直接访问内存,而主机具有同一内存的缓存别名。即使主机并没有明确访问该内存, 推测性访问仍然会导致缓存被填充,然后在清除缓存或虚拟机启用缓存时,任何一方对于该内 aarch64-unknown-none 进行构 建,后者会设置+strict-align 以防止编译器生成非对齐访问,因此应该没有问题,但一般 情况下并不一定如此。 – 如果是在虚拟机中运行该命令,可能会导致缓存一致性问题。问题在于,虚拟机是在禁用缓存 的情况下直接访问内存,而主机具有同一内存的缓存别名。即使主机并没有明确访问该内存, 推测性访问仍然会导致缓存被填充,然后任何一方对于该内存进行的更改就会丢失。再次强0 码力 | 359 页 | 1.33 MB | 10 月前3
Comprehensive Rust(繁体中文)aarch64-unknown-none 目標建構 Rust 程式碼,這 會設定+strict-align,防止編譯器產生未對齊的存取,因此在本例中應該不會出錯,但這 不一定是一般情況。 – 如果是在 VM 中執行,可能會導致快取一致性問題。問題在於 VM 會在快取已停用時直接存 取記憶體,而主機具有相同記憶體的可快取別名。即使主機未明確存取記憶體,推測存取行為 仍可能導致快取填補,而當快取遭到清理或 VM 啟用快取時,存取之間的變更就會遺失 aarch64-unknown- none,這會設定+strict-align,防止編譯器產生未對齊的存取,因此應該不會出錯,但這 不一定是一般情況。 275 – 如果是在 VM 中執行,可能會導致快取一致性問題。問題在於 VM 會在快取已停用時直接存 取記憶體,而主機具有相同記憶體的可快取別名。即使主機未明確存取記憶體,推測存取行為 仍可能導致快取填補,而存取之間的變更就會遺失。同樣地,這在本例中不成問題0 码力 | 358 页 | 1.41 MB | 10 月前3
Comprehensive Rust(繁体中文) 202406aarch64-unknown-none 目標建構 Rust 程式碼,這 會設定+strict-align,防止編譯器產生未對齊的存取,因此在本例中應該不會出錯,但這 不一定是一般情況。 – 如果是在 VM 中執行,可能會導致快取一致性問題。問題在於 VM 會在快取已停用時直接存 取記憶體,而主機具有相同記憶體的可快取別名。即使主機未明確存取記憶體,推測存取行為 仍可能導致快取填補,而當快取遭到清理或 VM 啟用快取時,存取之間的變更就會遺失 aarch64-unknown- none,這會設定+strict-align,防止編譯器產生未對齊的存取,因此應該不會出錯,但這 不一定是一般情況。 273 – 如果是在 VM 中執行,可能會導致快取一致性問題。問題在於 VM 會在快取已停用時直接存 取記憶體,而主機具有相同記憶體的可快取別名。即使主機未明確存取記憶體,推測存取行為 仍可能導致快取填補,而存取之間的變更就會遺失。同樣地,這在本例中不成問題0 码力 | 356 页 | 1.41 MB | 1 年前3
Rust 语言学习笔记方式达到这个目的。这个机制非常像 其他编程语言中的“读写锁”,即同一时刻,只能拥有一个“写锁”,或只能 拥有多个“读锁”,不允许“写锁”和“读锁”在同一时刻同时出现。当然这 也是数据读写过程中保障一致性的典型做法。只不过 Rust 是在编译中完成这个 (Borrowing)检查的,而不是在运行时,这也就是为什么其他语言程序在运行过 程中,容易出现死锁或者野指针的问题。 通过&符号完成 Borrowing:0 码力 | 117 页 | 2.24 MB | 1 年前3
Rust 程序设计语言简体中文版基本思路。 对于一个更全面的性能测试,将会检查不同长度的文本、不同的搜索单词、不同长度的单词和 所有其他的可变情况。这里所要表达的是:迭代器,作为一个高级的抽象,被编译成了与手写 的底层代码大体一致性能的代码。迭代器是 Rust 的 零成本抽象(zero-cost abstractions)之 一,它意味着抽象并不会引入运行时开销,它与本贾尼·斯特劳斯特卢普(C++ 的设计和实现 者)在 “Foundations0 码力 | 600 页 | 12.99 MB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0对于一个更全面的性能测试,你应该使用不同大小的文本作为 contents,不同的单词以及长 度各异的单词作为 query,以及各种其他变化进行检查。关键在于:迭代器,作为一个高级的 抽象,被编译成了与手写的底层代码大体一致性能的代码。迭代器是 Rust 的零成本抽象 (zero-cost abstractions)之一,它意味着抽象并不会引入额外的运行时开销,它与本贾尼·斯 特劳斯特卢普(C++ 的设计和实现者)在《Foundations0 码力 | 562 页 | 3.23 MB | 1 月前3
共 7 条
- 1













