IGraph
1. 建模时考虑的方面:
1.1 查询性能
1.2 存储空间
1.3 更新成本
2. kv 还是 kkv
2.1 a->b,b->c存储:
额外的查询、更少的存储、更新更低成本。(适合属性规模大、有更新需求)
2.2 a->bc存储:
查询优、冗余存储、更新成本高。(适合查询性能要求高)
3. 关系召回:与我最近购买的商品相似的商品。
4. primary key:源端到关系hash定位,O(1)。
secondary key:目标端meta信息。
value:描述关系对应的属性信息,属性信息一个或者多个属性字段信息构成。
5. 内存索引结构:有序链表结构,跳表优化效能。1w的skey节点链长,引入跳表,skey随机查询qps从4w到120w。
6. 索引分层:类比LSM