精华帖 (0) :: 良好帖 (4) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-02-14
最后修改:2012-02-14
yawei 写道 1、数据库采用不支持事务的MyISAM引擎,有些DML/DDL操作不用事务包裹在过程中有失败步骤出现是很容易导致逻辑问题(比如发了帖或者对帖子进行了管理操作后却找不到帖子在哪儿,即使在后台管理中也找不到)。即便康盛以后使用支持事务的InnoDB引擎也无法彻底解决这个问题——InnoDB引擎对于DDL是不支持事务的。
====================================== 这个问题导致做数据备份或恢复的时候极其危险(对于经验少的用户来说)。 我的朋友发生过帖子全部丢失的情况。 不过ddl不支持事务应该影响不大吧? MyISAM非MVCC,mysqldump默认会锁表,如果数据量大那么对运行是有影响的 引用 然后问题就出现了,select 的时候老是出现表不存在。每做一次,不是这张表不在,就是那张表不在。真是叫人欲哭无泪啊。好容易数据库好了,同一台机器上的短信又不能操作了,偶就只好继续折腾下去。用fsck看硬盘有没有坏节点,重新安装整个应用等等。终于,在偶把这套系统弄明白的时候,也在某个网页发现表损坏的根本原因:“对一个正在运行的数据库进行备份请慎重!!如果一定要在服务运行期间备份,请添加 –skip-opt选项,如:/usr/local/mysql/bin/mysqldump --skip-opt -uroot -p123456 mysqlfxv >mySQL.SQL”,只用--opt,数据库会锁表的说,不但影响正常交易,还不能肯定表是否会损坏。
pgsql是多版本并发,pg_dump不会锁表不会影响读操作。 另外如果不支持事务,在恢复备份的时候就没办法实现无错误恢复。psql加个 -1 参数就可以实现在导入sql文件过程中如果出现任何错误都会全部回滚———要么全部成功导入要么全部失败,不会插入到一半错误退出留下一个烂摊子。 Mysql innodb的事务不支持DDL对老版本影响还不是很大,最多是安装需要创建数据表插件时可能出小问题。但对DZX来说可能就比较麻烦:DZX不少新功能,比如帖子后台人工分表啥就和DDL有关,如果不能用事务包裹整个流程那么结果不可预期。站长经常遇到的后台管理操作导致一系列问题皆与非事务有关。 |
|
返回顶楼 | |
发表时间:2012-02-14
2012.02.14 更新
|
|
返回顶楼 | |
发表时间:2012-02-15
这个要顶, 如果康盛能把你的修改融合进去就好了。
|
|
返回顶楼 | |
发表时间:2012-02-15
最后修改:2012-02-15
yawei 写道 这个要顶, 如果康盛能把你的修改融合进去就好了。
SPS版不少修改是配合pgsql数据库的先进技术使用的,对性能提高不错,对mysql无效。 不过如果参照“DZ7.2坑爹集锦”改进官方版还是有性能提高的。 康盛正被DZX2.5测试版搞得焦头烂额估计顾不上古董的DZ7.2了~ |
|
返回顶楼 | |
发表时间:2012-02-17
postgre是不错,不过中间件支持没mysql好吧。。
两年前我用psql的时候,为了部署分布式和ha,折腾得实在够呛 |
|
返回顶楼 | |
发表时间:2012-02-21
sniffer123 写道 postgre是不错,不过中间件支持没mysql好吧。。
两年前我用psql的时候,为了部署分布式和ha,折腾得实在够呛 pgsql以前版本在热备和同步上比较查,得依靠第三方软件(比如slony)。9.1开始自带基于流复制的hotstandby功能,还不错。至于分布尚未用到不了解。 |
|
返回顶楼 | |