分离为只读/写数据库

时间:2011-08-19 07:17:26

标签: database

很多人说通过创建只读和只写数据库可以实现更高的性能,坦白说,我无法完全理解它。有些人告诉我写作需要很多不同的锁,这会减慢阅读速度......但正如我的理解,系统中的许多阅读都不需要锁定,例如oracle一致性读取,锁定如何影响阅读?除了我想要分片数据库,读/写分离提供更多价值吗?
您能否详细解释或提供一些外部资源,说明为什么读/写分离可以提供更高的性能,谢谢。

1 个答案:

答案 0 :(得分:7)

例如,分离读取和写入允许数据库使用主从复制进行扩展。

在主从复制中,主服务器可以处理读写操作,而从服务器只处理读操作。然后,从服务器复制在主服务器上完成的任何写语句。

这允许读取繁重的应用程序在多台计算机上传播读取。但是,如果您的应用程序执行大量写入操作并且读取次数不多,则可能看不到任何好处。

在应用程序中从一开始就分离读取和写入,使您可以随时灵活地进入主从路由,并且不是很难做到。当不需要这样的功能时,您可以简单地让数据库抽象使用相同的连接。