![使用相同的数据库或将其复制到报告和网络](https://linux22.com/image/514001/%E4%BD%BF%E7%94%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E6%88%96%E5%B0%86%E5%85%B6%E5%A4%8D%E5%88%B6%E5%88%B0%E6%8A%A5%E5%91%8A%E5%92%8C%E7%BD%91%E7%BB%9C.png)
我想知道我是否拥有一个拥有庞大数据库的网站并且会抛出昂贵的(及时的)报告,最好的方法是使用一个数据库用于网站并使用一个复制的数据库用于报告,或者只使用一个数据库用于两者,我担心用户可能会抛出 5 年或更长时间的报告,因为他们需要这些信息并且网站会因此崩溃。
答案1
两者都不是——是时候创建第二个针对报告进行优化的数据库了。这是标准操作程序,称为“数据仓库”。
这可能也应该在单独的硬件上运行,但只要服务器足够好,这还是“有争议的”。
事务数据库(OLTP - 高度规范化)和报告数据库(OLAP - 星型模式,不同的设计特征)不适用于较大负载。
答案2
复制/抄袭或者做某事!
是的!由于 OLTP、锁定和资源的性质,您不希望针对数据库的生产实时副本运行报告查询。
设置复制到另一台服务器,或将产品数据的副本复制到另一台机器上。大规模测量和正确的方法是 DW、ETL 的星型模式等。
对于一个小系统来说,这仅仅是一个小小的进步。