2013-03-27 51 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