很多人说通过创建只读和只写的数据库可以获得更高的性能,坦白说,我不能完全理解。有人告诉我,写会需要很多不同的锁,这会减慢读的速度。。。但是据我了解,系统中很多读是不需要锁的,比如oracle consistent read,锁对读有什么影响呢?此外,如果我想分片数据库,读/写分离是否提供更多值(value)?
您能否详细解释或提供一些外部资源来说明为什么读写分离可以提供更高的性能,谢谢。
最佳答案
一方面,分离读取和写入允许您的数据库使用主从复制进行扩展。
在主从复制中,master 可以处理读和写,而 slaves 只能处理读。然后从服务器复制在主服务器上完成的任何写语句。
这允许读取密集型应用程序将读取分散到多台机器上。但是,如果您的应用程序执行大量写入操作但读取操作不多,您可能看不到任何好处。
在您的应用程序中从一开始就将读取和写入分开,使您可以灵活地随时采用主从路线,而且并不难做到。当不需要此类功能时,您可以简单地让您的数据库抽象对两者使用相同的连接。
关于database - 分离成只读/只写数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7118184/