baloyou 发表于 2011-6-7 14:56:07

如何做数据库读写分离呢

对CI代码还没有深入阅读,目前架构一个项目使用CI框架,考虑数据库压力的问题,打算在初期就做好数据库主从分离。
但CI似乎没有直接提供这样的功能?

chf007 发表于 2011-6-7 17:31:05

这个得自已写吧

saturn 发表于 2011-6-10 17:57:25

数据库主从结构和读写分离是两个概念,准确来说:读写分离是主从结构的一个案例。

具体的操作,需要分析你的业务需求,然后改动CI默认的代码(或许不需要)。这里的话我建议采用两组db链接字符串,在需要的时候动态切换。默认情况下叫做default,你可以建立两组一个组是read配置,两一个组是write组。

读写分离的难点是如何保证数据的一致性和完整性,不过这个已经相当成熟了,尝试google之解决,主要工作在服务器调配上下功夫。

spt119 发表于 2011-6-13 16:22:27

提供一个思路:
对于频繁的数据库读取(read only),开启缓存(数据库缓存)能大幅下降数据库的I/O和内存占用。
对于频繁的数据库读写(read & write),最好设定一个中间表,所有的写数据都统一写到这个表上,然后设置定时(手动或自动),按照程序的逻辑和需求,在规定时间内写入到各个具体目标表中。
看起来是两次操作数据库,增加了数据库的读写。但当访问量较大时,你会发现,write的表是一个还是多个,对于整体数据库的效率,区别还是很大的。

Shil.P.L 发表于 2011-6-17 15:10:06

{:1_1:}

avinmo 发表于 2011-6-20 23:08:47

学习了。。
页: [1]
查看完整版本: 如何做数据库读写分离呢