有什么数据库扛断电能力最强吗?

316 天前
 bthulu

服务器在客户厂里, 客户没有机房, 就放在厂子机器旁边.

每天下班后, 客户员工从来不会去关闭电脑, 都是直接拉闸整厂断电.

系统稳定运行了大半年后, 从最近开始, 每隔几个月, mysql 就报 redo 日志异常无法启动, 需手动删除日志后才能启动, 这有点恶心了.

有没有在同样场景下, 试过 oracle, sqlserver, postgresql, sqlite 这些的同学, 这些数据库存不存在这个问题?

17179 次点击
所在节点    程序员
164 条回复
dynastysea
316 天前
@cheng6563 哪家企业级的 ssd 掉电会丢数据?
wuhunyu
316 天前
不在乎数据丢失的话,就写一个脚本,开机之后一段时间(比如 3 分钟内)监听 mysql 服务是否正常运行,如果未运行,就删除 redo log ,然后重启 mysql 服务,已运行就不管。话说工厂也不至于全厂都停电吧,像是一些监控设备,难道人走了也断电吗?要工厂单独拉一条不断电的线就行了,每天强制断电这不是折磨服务器吗,硬盘的寿命肯定长不了
wuhunyu
316 天前
还有一个问题是,如果要切换数据库引擎,不知道题主的系统做新数据库的适配有多大的成本,这也是要考虑的,而且迁移到新的数据库引擎,旧数据是不是也要迁移过去,也是一个问题。所以我认为,换数据库引擎应该是最后应该考虑的,因为迁移的成本可能并不小
AlexRoot
316 天前
@8355 我觉得你这个是靠谱的,定时关机,只要主动在下班前关机不就好了。
villivateur
316 天前
换企业级 SSD 即可,加个带恢复的文件系统,跟数据库没关系
shampoo
316 天前
不要多想抗震抗火灾抗断电啥的,多备份就完事了。
netnr
316 天前
支持 SQLite +1
importmeta
316 天前
让工厂改电路, 确保机器永不断电, 加防灾装置.
234ygg
316 天前
既然日志删掉就能启动,那就启动不起来的时候自动备份日志到别的地方,然后删了原来的日志不就完事儿了 ???
lenmore
316 天前
在不增加硬件的情况下似乎无解,硬盘挂掉迟早的事。。记得做好备份。

那么,有没有可能把这个服务部署到云上或者你们自己得机房?
markgor
316 天前
企业级 SSD 也不一定多能抗吧,只是相对消费级别的好点。
我之前也有类似的场景,最终我们直接找一台云主机存数据,本地当代理转发,后来直接把本地的也干掉了
yidev
316 天前
对待这种原始的场景, 要用粗暴的解决方式, 让他们安排个人开关机
loginv2
316 天前
上云,数据库放远程
SimonOne
316 天前
配个开机脚本把 redo 删了呗。
momo65535
316 天前
ups+正常关机脚本
mark2025
316 天前
如果没有 ups ,那么就用 pgsql ,并且把数据安全相关设置全部打开,比如 同步写入,页面全写入,降低检查点时间。
mark2025
316 天前
@datocp pgsql 很抗造的。只要相关配置设定好,随便断电。
mark2025
316 天前
pg , 然后磁盘分区建议 xfs 或者 zfs 。
diagnostics
316 天前
软件层面上,lightbend akka 搞的 akka edge 好像想解决工厂这种恶劣环境下的问题
Karte
316 天前
那干脆直接上影子系统算了, 这样怎么样都没问题.

影子系统可以将系统在每次启动时恢复到预先设置的环境. 所有在系统的修改都会在第二次开机时删除.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1090399

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX