2017-10-05 13 views
1

我們正在探索Cloud Spanner作爲Elasticsearch集羣的替代品,並且正在佈局我們的數據庫模式。有關空值存儲大小和連接性能的架構佈局

我們想知道如果我們應該使用一個有大量可空列的大表,或者我們應該更喜歡一個有很多一對一子表的精益基表。對於更大的表格,我們將有大約250億到1000億條目(有些表格可能更多),因此大量的連接/聚合可能是一個問題。

  • 做一個列中的NULL值是否需要與定義的列類型的實際值相同的存儲空間?

  • Cloud Spanner是否存在像Elasticsearch這樣的稀疏值文件的問題?

  • Cloud Spanner如何處理超過十億個父子文檔的連接/聚合?在雲扳手

回答

1
  • NULL值是非常便宜的,基本上是免費的。
  • 每個表的列數限制爲1024.還建議每個父鍵的數據少於4G。請參閱完整的限制列表here
  • 父子聯合本身是高效的,因爲它作爲單個掃描執行。但是,在知道您想要執行的實際查詢之前,很難說清楚。