在BigTable的设计拒绝了许多标准的关系型模式的哲学的,明确非规范化宁愿到细微的小表的大主机。
问题所在的较大区域之一是对多对多联接的建模。
对这些联接建模的一种方法是违反第一范式,然后将所有有趣的数据放入db.ListProperty()中。尽管这具有从查询中进行搜索的能力,但我尚未探索搜索列表与提取另一个表的性能含义。
由于连接是不可能的,这是可以通过RelationshipProperties链接表。因此,只要付出足够的努力,就可以创建标准相交表(具有引用两个父表的联合主键的表)。有没有人探索过各种实现的性能影响?
-编辑-
虽然文档中建议的“密钥列表”确实是实现此目的的一种方法,但我对该类和其他实现的性能和异常率感兴趣。创建公用密钥列表是否有用?重复付出的努力值得付出代价吗?有更好的方法吗?