因此,這與代碼本身較少有關,更多的是關於效率和實用性。 在我以前的工作中,我們有多個數據庫。一種可以通過公共手段訪問,一種只能私下訪問。公共數據庫本質上可以顯示私人數據庫所做的一切,而且他們幾乎同步,每隔2分鐘左右更新一次。 他們的想法是,如果公共數據庫被某種類型的SQL注入或其他惡意破壞數據庫的破壞,它不會損害生產,並且可以立即恢復。SQL雙重數據庫安全
但是,這是一個非常小規模的操作,一次只有大約100人訪問數據庫,如果發生任何不良事件,我肯定有人不得不手動進入並恢復數據庫以解決問題。
我的問題是,這是一種正確的做事方式嗎?這種策略何時會開始變得令人難以置信的低效率?假設如果每天有數以萬計的查詢會不可維護?
感謝您的洞察力。
「這是一種正確的做事方式嗎?」 - 可能不會。不要直接暴露數據庫。放置一個許可的API;至少只讀視圖。也不要混合使用OLTP和OLAP問題。 –
*公共數據庫*總是一個壞主意。但是:如果您的公共數據庫受SQL注入影響,那麼您的私有數據庫也是如此 - 因爲不知何故,數據必須到達那裏,不是嗎?此外,而不是數據銷燬,這可以通過**備份**來減輕,您應該更擔心數據泄漏。所以你的大部分努力都應該讓你的**代碼安全**和你的數據庫**不公開** –