在 Cassandra 中,数据通常被非规范化以匹配查询模式。然而,对于向量列,这意味着相同向量的重复。我知道矢量相似性搜索和索引非常昂贵。那么大量的重复会不会影响性能呢?有没有更好的方法用向量列来建模数据?
向量搜索对存储在具有 CQL
vector
数据类型的列中的向量嵌入进行操作。但更重要的是,矢量搜索查询单个表上矢量数据的索引。矢量搜索不跨越多个索引或表。
非规范化表中重复的数据对 Cassandra 中向量搜索的性能没有影响,因为它只查询单个表上向量的索引。
顺便说一句,除非您有特定要求将相同列的向量嵌入存储在不同的表中,否则您应该避免重复向量列。同样,如果多个表中存在向量列的重复副本也没关系。其唯一的影响将是增加存储利用率。干杯!