2016-02-28 45 views
0

這是一個設計方法問題。因此,它可能太寬泛。如果是這樣,請讓我知道,我會把它記下來。將單個客戶端的數據移動到單獨的數據庫尋求設計建議

這裏的背景...

我已經建立了一個API應用是一個前端到一個規則引擎。我有一套客戶端,它們將我們的(專有)規則託管在我的規則引擎中。他們的客戶可以調用我的API並執行計算 - 提交JSON blob查詢參數,並接收JSON blob,包括計算結果以及各種警報(適當時)。我以交易量爲基礎獲得客戶的支付。

我的應用程序託管在Heroku上。我存儲(a)入站JSON blob,(b)返回JSON blob,以及(c)有關事務本身的一些元數據(日期時間,結果等),這是我的正常模型,與每個API事務相關)。除了我的客戶要求的數據分析外,我不會對數據做任何事情。 「擁有」數據和/或使用它不屬於我的商業模式。

當前,API事務數據在數據庫中未加密。

現在,我有一個客戶端,希望入站和返回的JSON存儲在與所有其他客戶端數據分開的數據庫中。而且,他們希望在休息時加密。

那麼,是什麼我打算做的是以下...

創建一個全新的應用程序,其唯一目的是存儲單個客戶端的API交易數據。我將爲此應用程序創建一個API。然後在後臺進程中(爲了不對peformace產生負面影響),我將使用API​​將客戶端的API事務數據(從我的規則引擎應用程序)寫入新應用程序。一旦確認已寫入新應用程序,我將從原始規則引擎應用程序中刪除它。

這是一個非常糟糕的想法?我使用Google,並沒有提出任何盲目的見解。 (例如,使用Heroku的「追隨者」數據庫)。所以我以爲我會在這裏嘗試一下。

謝謝!

回答

1

只要您的應用程序專用於存儲並且打算與當前應用程序集成(完全),這似乎可行。總體而言,您應該做到這一點,以便您的客戶可以輕鬆支付升級其當前應用程序以利用新功能的存儲功能。

雖然不是將它稱爲新應用程序,但它似乎更像是當前應用程序的可選新功能,這可能是更好的方法。