如何高效存储和搜索海量对象-属性-值三元组?
海量对象-属性-值三元组存储与搜索
随着数据的激增,高效存储和搜索海量的对象-属性-值三元组至关重要。本文探讨了如何设计表的结构来解决此问题。
问题:如何存储海量的对象-属性-值三元组,同时保持搜索效率?
答案:
一种设计方案是使用以下表结构:
- 主表:rel_id (int), obj_id (int), prop_id (int), val_type (int)
- 对象描述表:obj_id (int),obj_desc (string)
- 属性描述表:prop_id (int),prop_desc (string)
- 值表:rel_id (int),类型相关的字段(例如 val_bool 为布尔值)
这种方法允许灵活地添加新属性,并且可以使用主表的 val_type 字段存储不同类型的值。
探索其他选项:
- MongoDB:提供高度自定义的文档存储,可以使用 JSON 来表示属性和值,但模糊查询需要 Elasticsearch。
- 维基数据:将属性存储在 JSON 中,但搜索效率可能受到限制。
以上就是如何高效存储和搜索海量对象-属性-值三元组?的详细内容,更多请关注其它相关文章!