因此,这与代码本身较少有关,更多的是关于效率和实用性。 在我以前的工作中,我们有多个数据库。一种可以通过公共手段访问,一种只能私下访问。公共数据库本质上可以显示私人数据库所做的一切,而且他们几乎同步,每隔2分钟左右更新一次。 他们的想法是,如果公共数据库被某种类型的SQL注入或其他恶意破坏数据库的破坏,它不会损害生产,并且可以立即恢复。SQL双重数据库安全
但是,这是一个非常小规模的操作,一次只有大约100人访问数据库,如果发生任何不良事件,我肯定有人不得不手动进入并恢复数据库以解决问题。
我的问题是,这是一种正确的做事方式吗?这种策略何时会开始变得令人难以置信的低效率?假设如果每天有数以万计的查询会不可维护?
感谢您的洞察力。
“这是一种正确的做事方式吗?” - 可能不会。不要直接暴露数据库。放置一个许可的API;至少只读视图。也不要混合使用OLTP和OLAP问题。 –
*公共数据库*总是一个坏主意。但是:如果您的公共数据库受SQL注入影响,那么您的私有数据库也是如此 - 因为不知何故,数据必须到达那里,不是吗?此外,而不是数据销毁,这可以通过**备份**来减轻,您应该更担心数据泄漏。所以你的大部分努力都应该让你的**代码安全**和你的数据库**不公开** –