高级数据建模与遍历开发指南
1. 高级数据建模技术
1.1 数据反规范化考量
在处理诸如 “我附近有哪些餐厅?” 这样的问题时,需要先找到用户的个人顶点,然后扫描所有餐厅顶点以确定该位置的餐厅。不同数据库虽有一些优化手段(如地理空间数据索引),但其可用性和功能因实现而异。
经过比较,在模型中对城市和州数据进行反规范化并无优势,反而可能使模型变差。不过,如果未来需要回答 “这家餐厅在哪里?” 这类问题,则需重新考虑此决策。好在反规范化数据在量化应用程序性能后易于更改。
1.2 关系转换为边
为推荐引擎用例定义边时,首先要确定概念模型中的关系。在概念数据模型中,存在以下关系:
- Person–Writes–Review
- Review(s)-Are About–Restaurant
- Restaurant–Serves–Cuisine
在逻辑数据模型中,添加了城市和州顶点类型,因此还需考虑餐厅与城市、城市与州之间的关系。为表示用户位置,添加了从个人顶点到城市顶点的关系,以表示个人居住的城市和州。整理后的所需关系列表如下:
- Person–Writes–Review
- Person–Lives In–City
- Review–Are About–Restaurant
- Restaurant–Serves–Cuisine
- Restaurant–Within–City
- City–Within–State
将这些关系转换为边标签时,去掉介词以简化图数据模型。
超级会员免费看
订阅专栏 解锁全文
974

被折叠的 条评论
为什么被折叠?



