< 返回版块

苦瓜小仔 发表于 2025-12-24 16:59

Tags:日报

satoridb:针对磁盘存储优化的十亿级向量数据库

SatoriDB 是一个用 Rust 编写的、针对磁盘存储优化的十亿级向量数据库,通过先进的量化算法和硬件加速,实现了极高成本效益的大规模相似性搜索。

  1. 项目核心定位 SatoriDB 旨在解决大规模向量搜索中的内存瓶颈和性能损耗问题。它专注于在单机或分布式环境下处理十亿级别的维度向量,同时保持极低的查询延迟。

  2. 核心技术特性

  • 磁盘原生架构 (Disk-Native):与许多依赖内存的数据库不同,SatoriDB 针对 SSD 进行了深度优化,利用索引压缩技术(如 PQ 量化)将大部分数据存储在磁盘上,显著降低了硬件成本。
  • 高性能索引算法
    • 采用了 IVF-PQ (Inverted File with Product Quantization) 索引架构。
    • 支持 HNSW 变体,用于实现快速的近似最近邻(ANN)搜索。
  • Rust 极致性能:利用 Rust 的内存安全和并发特性,并结合 SIMD(单指令多数据流) 指令集加速向量距离计算(如 L2 距离、内积等)。
  • 高并发处理:基于 tokio 异步框架和并行计算库,能够有效处理高吞吐量的写入和查询请求。
  1. Reddit 社区反馈与亮点
  • 挑战主流:开发者在 Reddit 上分享了其从零实现向量数据库的挑战,目标是挑战像 Milvus、Pinecone 这样的成熟产品,强调“更轻量、更快速、更易于自托管”。
  • 资源效率:讨论中提到,该项目特别关注如何在有限的内存下通过高效的分级索引处理海量数据。
  • 开发者驱动:该项目展示了 Rust 在系统编程领域的强大能力,吸引了许多关注向量检索算法实现细节的开发者。
  1. 现状与应用 目前 SatoriDB 处于活跃开发阶段(基于 GitHub 提交)。它为需要大规模处理多模态数据(如 AI 嵌入、图像检索、推荐系统)的场景提供了一个高性能、可扩展的开源替代方案。

仓库:https://github.com/nubskr/satoridb

cargo-check-deadlock:使用 Petri Net 在 Rust 中进行编译时死锁检测

无需任何形式化方法或 Petri 网的先验知识!我们将从简单的动画示例入手,通过直观的方式展示程序执行如何以动态图的形式呈现。您将看到该工具如何检测所有线程之间的等待状态,以及如何报告导致问题的确切函数调用序列。 这并非纸上谈兵:演讲中包含一个现场演示,该工具能够捕获简单程序中的真实死锁。它提供了一种实用且直观的方式来理解并发问题——非常适合任何对图论、程序分析或如何进一步提升 Rust 安全性感兴趣的人。

该工具支持检测因错误使用互斥锁 ( std::sync::Mutex )和条件变量 ( std::sync::Condvar )而导致的死锁。它还支持检测因在永不返回的线程上调用 join 而导致的死锁。

原理:将 MIR 转化为 Petri Net(一种数学和图模型),然后利用 model checker LoLA 分析 Petri Net 以确定该网是否可能出现死锁。这种方法是对所有可能的程序状态进行穷举检查。

可成功检测的例子:哲学家就餐问题、生产者-消费者问题。 不支持:thread:spawn 之外使用闭包、在循环中创建多个线程、channel、RwLock、Barrier、异步代码、外部库的同步机制

该工具来自 Horacio 的本科毕业论文,灵感来自 5 年前另一个人的硕士论文《A Petri-Net Semantics for Rust》。

Gitoxide:12 月更新

  1. 架构与依赖优化:全面引入纯 Rust 且无 unsafe 的 zlib-rs 以简化核心依赖。通过 AI 辅助移除了 url crate,实现了 100% 合规且更轻量的自研 URL 解析,大幅缩减了依赖树。
  2. AI 深度集成:开发者 Byron 开始全面使用 Copilot 进行代码评审,有效捕捉了逻辑 Bug 并提升了文档与测试(如日期解析)的完善度。
  3. 功能演进gix-archive 切换至 rawzip;新增 Git 配置中“可选路径”的支持;gix blame 的 diff 算法兼容性提升至 95%。
  4. 未来规划:正式启动 SHA256 哈希支持;计划通过实现 reset 功能,将 Cargo 的 Git 依赖签出速度提升约 7 倍。

仓库:https://github.com/GitoxideLabs/gitoxide

Rerun 发布 0.28.0

重点提升了处理大规模数据的性能与灵活性:

  1. 架构升级:引入基于 Apache Arrow 的新存储引擎,大幅降低内存占用并提升读写效率。
  2. Blueprint 编程化:支持通过 Python/Rust 代码直接定义和控制 UI 布局与视图配置(Blueprint-as-code)。
  3. 渲染增强:新增 WebGPU 自定义渲染器支持,优化了视觉表现力。
  4. 易用性:改进了多传感器同步和乱序数据处理能力,优化了时间线与属性面板 UI。

该版本显著增强了 Rerun 在复杂机器人和 AI 多模态数据流可视化中的扩展性。

阅读:https://github.com/rerun-io/rerun/releases/tag/0.28.0

--

From 日报小组 苦瓜小仔

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页