在我們的應用程序中,我們支持用戶編寫的插件。數據倉庫任意字段
這些插件可以生成各種類型的數據(int,float,str或datetime),並且這些數據標有一系列元數據(用戶,當前目錄等)以及三個自由文本字段(MetricName,Var1,Var2)。
現在我們有好幾年這個數據,我試圖設計一個架構,它允許在分析的方式(圖表和材料)非常快的訪問這些指標。只要只有少數我們感興趣的度量標準,這很容易,但我們擁有大量不同粒度的不同度量標準,並且我們希望存儲用戶添加的數據以便日後進行分析(可能之後模式更改)。
示例數據:(請記住,這是很簡單的)
=========================================================================================================
| BaseDir | User | TrialNo | Project | ... | MetricValue | MetricName | Var1 | Var2 |
=========================================================================================================
| /path/to/me | me | 0 | domino | ... | 20 | Errors | core | dumb |
| /path/to/me | me | 0 | domino | ... | 98.6 | Tempuratur | body | |
| /some/other/pwd | oneguy | 223 | farq | ... | 443 | ManMonths | waste | Mythical |
| /some/other/pwd | oneguy | 224 | farq | ... | 0 | Albedo | nose | PolarBear |
| /path/to/me | me | 0 | domino | ... | 70.2 | Tempuratur | room | |
| /path/to/me2 | me | 2 | domino | ... | 2020 | Errors | misc | filtered |
任何人都可以添加一個解析器插件以開始測量空速指標,我們希望我們的analisys工具「只是工作」在這個新的指標。
更新:
考慮到許多MetricName的是衆所周知的,事前,我能滿足我的要求,如果我能實現對這些指標的分析,並簡單地存儲其他用戶添加的指標。我們可以接受這樣一個事實,即如果沒有對模式進行編輯,新的度量標準將無法用於重型分析。
你們認爲這個解決方案是什麼?
我已經把我們的指標分爲三個事實表,一個用於不需要MetricTopic,一個爲那些做的,一個爲所有其他指標,包括那些意想不到的事實。
對於賞金:
我會接受它展示瞭如何使這個系統更多的功能,或使之與行業最佳實踐更緊密地批評任何。參考文獻增加了重量。
舉個例子 - 假設有10個指標? – 2010-09-15 23:59:13
@Jeffrey L Whitledge:此架構基於您的評論。 – bukzor 2010-09-17 00:55:04
@Damir Sudarevic,@Jeffrey L Whitledge,@ S.Lott:我爲這個問題增加了一個賞金,希望你能想出更好的答案。 – bukzor 2010-09-21 02:46:43