mochi 🍭
Preview Image

文本检索场景下的分布式索引设计

本文详细记录了 2025 年为推动基研 Rust 生态建设,从 0 到 1 的分布式索引项目的设计与实现过程。 该项目需要解决的问题非常具体:为基于 Parquet 数据文件存储的 TimeSeries DB 做查询加速。 上游 SQL 通常会先给出一个时间范围,如果数据库直接按这个时间窗口去扫描,就很可能把时间窗口里的全部 parquet 都访问一遍。我们的目标不是替代数据库执行 S...

Preview Image

一个时序元数据引擎的实现复盘:从双层 MemTable 到流式合并

沉淀一下从零实现 MetaStorage 元数据存储内核的心得体会,记录从 0 到 1 的开发全历程 MetaStorage 不是一个追求通用性的数据库内核,而是一套面向 “时序数据文件元数据检索” 场景、参考 LSM Tree 思想深度定制的存储引擎。 在项目初期,我们也曾尝试过 MySQL、DuckDB 等成熟方案,但在面对 PB 级元数据压力和严酷的查询性能要求时,通用组件的短板...

Preview Image

在向量数据库中增强文本检索 -- MyScaleDB

Benchmark 测试结果表明,集成 Tantivy 全文检索引擎后,MyScaleDB 的文本搜索在响应速度与检索精度上均实现了显著飞跃。➡️ TheNewStack 英文原版链接 🔗 全球数据规模正在快速膨胀,且其中绝大部分都是非结构化数据。传统数据库在处理这类文本数据时往往力不从心,而全文检索 (FTS) 恰恰能够提供一种更自然、更高效的访问方式,让用户按照主题、关键词甚至语义相...

记录一次 Tokio 异步场景下 RPC 接口 timeout 的排查

在排查一个线上问题的过程中,对 Tokio 有了更深入的理解。 问题现象 服务部署在 K8s Pod 中,运行时主要包含两部分: 对外提供实时数据查询的 RPC 接口; 后台持续执行的数据处理任务,用来更新内部状态,保证 RPC 返回结果的正确性。 这两部分都运行在 Tokio 异步 runtime 上。上线后发现,客户端循环请求 RPC 接口时,会概率性出现 time...