如何存储一对多的关系

在search engine design中,一个keyword对应多个documents,我们用key-value pair来存 value是一个posting lists.
在存following时,一个user有多个following,我们可以存成SQL的多个row, 每个row是一个user_id, following_id.
对于一对多的关系我们该怎么选择存储方式?比如在yelp中我们想建立zipcode到商家的indexer,我们应该选用哪种方式存储这个一对多的关系?

一对多的关系比较常见的是存成多个row,search engine 有特殊性,因为每次读取的时候都是拿全部,这样存可以优化存储。yelp 如果需要按照 zipcode 来查询的话,就在表里对 zipcode 那一列做一个 index 就可以了,实际上就是在表里按照 zipcode 排序。不需要做 reverse index 这样的优化。