2010-04-09 113 views
0

這主要是一個數據倉庫的哲學問題。第三方數據 - 存儲在數據倉庫或主數據庫中?

我的項目涉及Oracle表單應用程序和Teradata數據倉庫,用於報告和臨時目的。除了由我們的應用程序的用戶創建的主要數據之外,我們還需要來自各種其他來源的數據。目前,此第三方數據通過FTPd平面文件直接發送到我們的數據倉庫。要訪問數據,我們的用戶必須使用一系列自定義BusinessObjects報表。

我的問題是,將這些數據發送到我們的源Oracle系統會更有意義嗎?數據倉庫是否適合作爲用戶訪問原始數據的起點?

簡而言之,運營數據庫僅包含項目創建的數據還是數據倉庫仍然專用於報告和分析更重要?

回答

1

我們根據情況做。

如果第三方數據需要普通用戶和日常應用程序看到,我們會將數據放在它們可用的地方。在我們的案例中,這些數據通常是存儲在數據庫中的自定義表格中的數據,這些數據可以選擇而不是可編輯,以防止用戶更改第三方數據。如果你使用你的常規表格,你可能需要一個觸發器來防止這些數據的意外更改。此外,它經常會以不適合您的數據結構的形式出現,並且如果他們只需要查看是否出於報告目的,則可能不想花時間清理它以便您的常規應用程序可以執行此操作。所以在這種情況下,自定義表格可能變得必要。

例如,第三方可能有一個字段比同一事物的字段大。您可以通過截斷其數據以適合您的結構來刪除含義。此外,您的結構可能具有第三方數據所沒有的一組約束,您是否希望通過消除這些約束來冒自己的數據完整性?可能不會。如果我的應用程序認爲某個字段應該是必需的或是有效日期,那麼我不想更改以適應存儲第三方報告數據。如果數據可以並且應該可以提供給用戶進行更改(我們做了很多這樣的工作),那麼繼續並將其清理到您的數據庫標準並插入它。

通常,第三方數據不需要由執行常規數據輸入的用戶看到,而只需要從數據倉庫中提取管理報告。在這種情況下,我不會嘗試將數據放在數據倉庫以外的任何地方。爲什麼通過提供意外改變使生活複雜化?

+0

感謝您的洞察力。這個項目是一個兒童支持系統,我們需要來自其他政府機構的數據來確定收入和收入。例如,不符合規定的父母可能會給你一個虛假的地址,但是當他們拿到狩獵許可證時,給DNR一個真實的地址。因此,案例工作人員將從主應用程序中獲得數據而獲益,而不是從倉庫獲取單獨的DNR報告。你是否同意這一點,從我提供的信息數量有限? – brydgesk 2010-04-09 23:39:13

+0

是的,但我會把它放在單獨的表格中,用戶不會寫入權限。然後,在案件工作人員可以看到他們的地址,以及其他潛在的地址和地址的來源,但只能改變他們的系統地址。事實上,如果他們發現其他地址之一是正確的,我會在其他來源的地址上放置一個按鈕,以允許他們將這些數據複製到他們的地址。 – HLGEM 2010-04-12 13:38:31

+0

祝你的案例工作人員追蹤不支付子女撫養費的Scrum。 – HLGEM 2010-04-12 13:39:18