发新话题
打印

讨论,数据库真的只靠日志就能绝对保证一致性么?

本主题由 doit 于 2007-9-10 19:13 设置高亮
个人觉得硬盘的cache会打开,并设置成wt模式,读取能快就行了,写入的时候由于已经有控制器的缓存做cache了,因此并不需要磁盘一级的写缓存。

TOP

也不搜索了
就我的看法啊

cache 是具备一定优化程序的快速缓存     
所以磁盘阵列里面的内存  RAID卡的内存   PC 的内存都可以叫Cache
buffer 是指单纯加快读写速度的快速缓存
好比硬盘上自己带的那小块

磁盘阵列上所有硬盘自带的缓存肯定是关闭的
可能高级的使用ups 之类的我就不清楚了

wb 和 wt 都是针对磁盘阵列的cache 说的
一般都是wb 的
现在磁盘阵列都是自带锂电池的
之所以RAID卡的要关闭是在做双机的时候
Cluster 环境共享一个数据库之类的
所以cache 里面有数据的话会造成两边不一致或者数据库就挂了

TOP

引用:
原帖由 jxszxa 于 2007-9-9 23:23 发表

io小是不会用到cache的,大文件存储才会经过cache以加快存储速度吧
感觉您恰好弄反了,老兄。
http://space.doit.com.cn/35700
存储界的首本个性之作《大话存储-网络存储系统原理精解与最佳实践》,将于9月初由清华大学出版社隆重出版!敬请关注!

TOP

引用:
原帖由 兔子爱松鼠 于 2007-9-10 08:50 发表
之所以RAID卡的要关闭是在做双机的时候
Cluster 环境共享一个数据库之类的
所以cache 里面有数据的话会造成两边不一致或者数据库就挂了
老兄,你这观点恰恰说明了,数据库并不只靠日志就可以保证一致性。路径上的诸多因素,都会影响一致性。这问题可以结了吧。磁盘cache的问题,还有待推敲。现在sata盘都有16MBcache的,难道弄这么大,结果用的时候绕过他?有待考证。
http://space.doit.com.cn/35700
存储界的首本个性之作《大话存储-网络存储系统原理精解与最佳实践》,将于9月初由清华大学出版社隆重出版!敬请关注!

TOP

引用:
原帖由 兔子爱松鼠 于 2007-9-10 08:50 发表
也不搜索了
就我的看法啊

cache 是具备一定优化程序的快速缓存     
所以磁盘阵列里面的内存  RAID卡的内存   PC 的内存都可以叫Cache
buffer 是指单纯加快读写速度的快速缓存
好比硬盘上自己带的那小块

磁 ...
cluster软件切换之后,从主机A切换到主机B,数据库为什么会丢数据?比如主机A一条记录C已经做了修改,更新的记录还放在陈列的cache缓存里面,没有写入磁盘,
1)正常切换的时候,主机A的数据库shutdown immediate,这个时候脏数据全部写入写入磁盘,主机B take over startup,怎么会丢数据呢?

TOP

他是说cache在raid卡里,在主机上而不是盘阵上。
http://space.doit.com.cn/35700
存储界的首本个性之作《大话存储-网络存储系统原理精解与最佳实践》,将于9月初由清华大学出版社隆重出版!敬请关注!

TOP

不懂就问:
FS的cache是使用主机内存吗?

TOP

谁说ntfs是非日志文件系统
低级错误

TOP

而且数据库利用了fs的cache,那么即使数据库这一层能保证一致性,那么fs这一层,不能保证一致性,会造成数据丢失。那么这样就会扰乱数据库的一致性
-------------------------------------------------------------
文件系统的cache只是影响了数据库的命中率,和数据丢不丢失两回事。

TOP

如果是我存了100w,稍后恰好系统死机了,强行重启,那么就会丢失数据,数据库可能认为数据已经flush到硬盘,事务提交成功并且flush成功,但实际是在fs的cache中,那么这100w的记录根本就不存在。
-----------------------------------------------------
事务提交都是先写日志,这事数据库的基本原理。如果事务提交成功,那么肯定已经写到日志里了,不管你数据是否已经写没写到硬盘,这个都无所谓;系统当机重启后用日志恢复就行了。

TOP

发新话题