2013-03-27 100 views
2

我们正在制作一个SDB域,其中包含3个字段,基本上可以创建类似于“多对多”关系表的结构。这些字段是: Employe_ID,Project_ID,位置(快速示例)。亚马逊SDB列VS行与带宽和延迟相关

什么利弊/使用的缺点或者相对于交通,延迟以下,并与亚马逊简单数据库成本交互的一个:

1)创建一排各3种值组合导致的到大量的行:

  • 1,1,铅
  • 1,2,开发
  • 1,3,经理
  • 1,4,测试仪
  • 2,1,计
  • 等...

2)创建1行中每个员工,并利用某种分隔键值字符串:

  • 1,1〜铅; 2〜开发; 3〜经理; 4〜测试
  • 2,1〜测试
  • 等...

我知道的1024极限,但在具体的领域,我们将无法通过此限制。 主要问题是没有多少Project_id_Position键/值组合,所以方法1)和2)之间有什么区别,哪一个更适合节省同步时间和带宽传输成本。

回答

1

这两种方法显然都会起作用,但它们的区别主要在于可维护性。

使用方法2可能允许您节省一些带宽(减少重复信息),但我真的怀疑亚马逊成本节约可以抵消实施/扩展/维护此结构所花费的工作量/人工时间。

另外,如果你曾经扩展过这个系统,那么你真的有碰到这个1024个限制的危险,这个(虽然不太可能)是你不应该为了节省边际而采取的风险。

+0

呃..你的答案确实有意义,并指出有时过度效率不是必需的,并可能产生可维护性问题。考虑到这个问题有多特殊和奇怪,我很高兴有人决定研究它。 – 2013-05-22 18:00:43