0%

本文讨论的问题:大规模数据的近似最近邻问题(Approximate Nearest Neighbor,ANN)

讨论的范围:由于不同类型的数据处理方法区别较大,本文只讨论可以用集合表示的数据,如文档(词项集合)、基因序列,用 Jaccard 相似度衡量两个集合的相似程度

阅读全文 »

RAG 在检索时,会在向量数据库中找出与查询向量 P 最相近的 k 个文档向量,如何从海量向量中找出与 P 最相近 k 个向量呢,这是一个 K 近邻问题( K-Nearest Neighbors,KNN)

本文介绍下问题 KNN 的两种方法

阅读全文 »

Raft 是一种分布式一致性算法,解决的是分布式系统中如何实现一致性的问题;在很多分布式服务中都使用了 Raft 算法,如分布式协调服务 etcd、consul,分布式数据库 TiDB,分布式消息队列 RocketMQ

阅读全文 »

LSM-Tree (Log-Structured-Merge Tree) 是一种用于存储键值对的数据结构,经常用于写密集型场景,广泛应用于现代键值存储系统和数据库(如 RocksDB、LevelDB 等),具有高效的写入性能和良好的读取效率

阅读全文 »

Disruptor 是 LMAX 公司开发的一个高性能队列,开发初衷是解决 Java 提供的内存队列的延迟问题。目前有很多知名项目都应用了 Disruptor 以获得高性能,包括 Apache Storm、Camel、Log4j2 等,大量项目借鉴了它的设计机制,故了解 Disruptor 的实现原理是有必要的

这里所说的队列,是系统内部的内存队列,不是分布式队列

本文代码基于 disruptor:4.0.0 源码地址:https://github.com/LMAX-Exchange/disruptor

阅读全文 »