基本上我們正在爲我們的軟件構建一個報告儀表板。我們正在爲客戶提供查看基本報告信息的能力。數據倉庫 - 隨時間儲存獨特數據
例子:(我已經刪除了我們的實際系統的複雜性了這個例子中的99%,因爲這應該還是跨越什麼,我試圖做得到)
一個例子指標是.. 。在特定時間段內查看的獨特產品的數量。也就是說,如果5個產品在一個月的過程中被客戶每次查看100次。如果您運行該月份的報告,則應該僅查看所查看產品的數量爲5。
對於如何在任何時間範圍內查詢數據以及如何返回所查看產品的唯一數量,有何建議?爲了這個例子...可以說有一條規則是應用程序不能直接查詢源表,我們必須將摘要數據存儲在不同的數據庫中並從那裏查詢。
作爲一個附註,我們有很多其他度量標準,我們正在存儲,我們存儲每天聚合。但是由於唯一性問題,這個特定的度量標準是不同的。
我個人認爲這是不可能的。我們目前的解決方案是,我們提供4個預先計算的時間範圍,其中受指標影響的指標可用。如果您使用自定義時間範圍,則該指標不再可用,因爲我們沒有預先計算的數據。
我想知道......而不是保存彙總數據的其他地方,怎麼樣界定返回的計數VIEW項目(或任何摘要數據)並在視圖上應用日期範圍過濾器?或者甚至更好...定義一個存儲過程,該存儲過程根據源數據上的日期範圍(作爲參數傳遞)應用SELECT語句。 – Sparrow
我們需要預先分析並存儲這些數據,因爲我們正在運行數百萬行數百萬行,所以每次客戶運行報表時都要隨時生成此數據將需要很長時間。在客戶端基礎上,只需要幾秒鐘,這並不壞。但是這些數據也被用於基準測試(將一個客戶端與其他客戶端進行比較),當一次爲成千上萬的客戶端運行時,需要很長的時間才能實時計算。使用我們的預製數據庫,其他度量標準只需要幾分之一秒的時間來彙總數千個客戶端。 – chadwin
您正在使用哪種數據倉庫方法,Inmon或Kimball? – Eli