2011-06-07 51 views
1

我無法決定是否將幫助臺應用程序保留在與其他公司應用程序相同的數據庫中,或完全分開它。數據庫設計 - 幫助臺應用程序

服務檯應用程序可以記錄來自電話,電子郵件,網站的支持請求。

我們可以向註冊客戶和非註冊客戶發送問題。

將幫助臺應用程序保存在同一個數據庫中的唯一原因是我們可以共享用戶羣。但是,我們可以再次讓用戶創建一個新帳戶以獲得支持,或者將用戶帳戶與幫助臺應用程序同步。

如果我們分開幫助臺應用程序,我們的數據庫備份也會變小。或者只是將幫助臺應用程序保存在同一個數據庫中,這使得整體開發/集成變得更加容易,而且僅備份1個數據庫。 (也許更大但仍然是1個數據庫)

你會做什麼?

+3

假設您將幫助臺數據庫放入公司應用程序數據庫中。如果用戶打電話給幫助臺報告企業應用程序數據庫服務器已經融化並躺在服務器房間中間的一堆小塊中,您打算如何輸入他的票? – 2011-06-07 03:23:36

+0

@John R斯特羅姆 - 這很好。 – David 2011-06-07 03:32:37

+0

啊,好點。那麼在這種情況下,我們不能提供支持,因此很糟糕。 – 001 2011-06-07 03:34:40

回答

2

我認爲這是一個主觀的答案,但我會保持幫助臺系統作爲一個單獨的實體,除非有良好的商業理由使用相同的用戶羣。

這主要是基於我在專業服務支持通話記錄/票務軟件所看到的,但我有另一個令人信服的理由 - 安全 - 邏輯如下:

一般來說,服務檯售票系統一般需要比其他業務系統(會計,購物,客戶關係管理等)更不敏感的信息。您的技術人員可能需要知道如何聯繫客戶,但可能不需要存儲完整的地址,出生日期等。以下所有內容均基於一個假設 - 您現有的客戶數據包含敏感或個人身份識別數據這是您的票務系統不需要的。

  • 原理1:通過限制存儲的數據來減少攻擊面積。一般來說,我贊同只應收集絕對需要的數據的原則。現有的敏感信息較少意味着攻擊者可以竊取。

  • 原則2:通過減少攻擊到現有敏感數據的途徑來減少表面積。假設您已經擁有龐大的用戶羣,並且假設您已經存儲了有關您的客戶的潛在有用數據,那麼在數據中添加另一個掛鉤的應用程序只會增加攻擊到現有客戶羣中的途徑。這導致我...

  • 原則3:最小特權。您爲幫助臺軟件數據庫設置的用戶只能訪問您的幫助臺分析師絕對需要的數據。如果您在設計數據庫時考慮到一組特定的需求,那麼實現這一點會更容易。從維護的角度來看,爲了只允許訪問非敏感數據,必須在敏感數據上設置視圖和存儲過程,而不是讓數據庫設計爲只有您需要的數據,從維護的角度來看,要困難得多。

當然,我可能會過度思考它。去其中任何一條路線還有其他令人信服的理由。我只是想給你一些想法。

1

這絕對是一個基於你的環境的主觀答案。您必須權衡一種選擇的好處/缺點與另一種選擇的好處/缺點。但是,我認爲在分離兩個數據庫時會發現最大的好處。我真的不喜歡有兩個目的的數據庫。相反,只能用一個目的來創建一個數據庫。以下是我看到的好處:

  • 可移植性 - 如果您決定將幫助臺移動到其他服務器,則可以不出問題。如果您想將企業數據庫移動到其他地方,情況也是如此。
  • 問題的分離 - 每個數據庫都是爲了自己的目的而設計的。一個人的安全不會干擾另一個人的安全。
  • 備份策略 - 目前,兩個系統只能有一個備份策略,因爲它們在同一個數據庫中。如果你將它們分開,你可以比其他備份更頻繁(並且備份會更小/更快)。

我看到的缺點(無法輕鬆訪問公司數據)實際上在我看來是一個積極的想法。從企業數據庫訪問數據聽起來不錯,但它可能是一個安全問題(也是一個可維護性問題)。相反,通過這種方式,您可以限制授予服務檯系統的訪問權限(以及訪問類型)。數據庫可以相當容易地訪問對方,所以不會那麼不方便,並且可以讓您在公司數據和幫助臺數據之間添加一個很好的安全屏障。