嵌入式索引
嵌入式索引是一种数据结构,它将预先计算好的指针或引用直接存储在数据本身旁边,或在一个紧密耦合的局部结构中。与驻留在独立数据库结构中的传统集中式索引不同,嵌入式索引将索引信息保持在它所描述的数据附近。这种邻近性是最小化读取操作延迟的关键。
在需要高吞吐量、低延迟的应用程序中——例如实时搜索引擎、大规模人工智能推理管道或复杂的事务性数据库——遍历单独的索引结构所花费的时间可能会成为一个重大的性能瓶颈。嵌入索引极大地减少了 I/O 操作和网络跳数,从而实现了更快的查询响应时间和更高效的资源利用。
当数据写入时,系统会同时更新主数据记录和相关的嵌入式索引结构。该结构可能包含用于快速查找的指针、哈希值或预先计算的元数据。当收到查询时,系统在一个单一的、局部化的操作中访问数据块及其相应的索引信息,从而绕过了单独的索引查找阶段。
嵌入式索引在多种现代架构中非常普遍:
使用嵌入式索引的主要优势包括:
虽然功能强大,但嵌入式索引在写入操作中引入了复杂性。在更新或删除过程中,维护主数据和嵌入式索引之间的一致性需要强大的事务管理。此外,索引的大小可能会增加数据记录的总体存储占用。
相关概念包括分布式索引(索引分布在多个节点上)和内存数据网格(侧重于将所有必要数据,包括索引结构,保留在 RAM 中以提高速度)。