2014-09-22 46 views

回答

0

它取決於數據和你需要從中提取的東西!如果您遇到這樣的設備及其相關的傳感器列表的數據庫:

ID - LABEL - 傳感器

1 - K200 - 1,2
2 - K300 - 1,2 ,3

ID - LABEL - SENSOR_1 - SENSOR_2 - SENSOR_3

1 - K200 - 1 - 1 - 0
2 - K300 - 1 - 1 - 1

在我看來,第一個設計更好,你不必像第二個設計那樣存儲0,但它取決於你需要提取哪些信息。如果您只想檢查哪些設備正在集成傳感器類型1,則第二種設計會更好,因爲您要讀取每行中的一列,而第一種設計則需要處理數據......但是,只是詢問每種設備可以使用哪種類型的傳感器,第一種設計更好......嘗試列出您需要從數據中知道的內容,並據此設計您的設計!

0

這取決於表的設計和必要性,更通用的
<table>:<Column-Family>:<Column-Name>=<value>

是比較常用的通用存儲,但在某些情況下 <table>:<Column-Family>:<Column-Name>:<value>=1
可以更加貼合,如場景:
- 您需要將值與列名一起過濾
- 您希望有一個具有多個值的列,並避免序列化
- 您需要檢查列是否經常非常快速地檢查特定值

還有更多的案例可以從後期設計中獲益,但它又一次回到了你需要的東西

相關問題