PostgreSQL 的断电保护做的真好

2023-03-05 22:02:51 +08:00
 dw2693734d

家里面断电几次了,数据都还没丢过。不知道是不是 nvme 硬盘的原因,听说 nvme 硬盘对断电保护做的比较好

3365 次点击
所在节点    数据库
19 条回复
wheat0r
2023-03-05 22:13:50 +08:00
有没有可能是 nvme 写得太快
stabc
2023-03-05 22:30:31 +08:00
任何主流数据库都不存在什么“丢数据”吧。你想让它怎么丢?
iwdmb
2023-03-05 22:40:39 +08:00
宣称符合 ACID 特性的
断电都不该掉资料
kangyue9999
2023-03-05 22:41:43 +08:00
看看有没有开 cache 吧。。。
sora2blue
2023-03-05 22:47:31 +08:00
因为数据库会记录日志保证 ACID 特性吧
456vv
2023-03-05 22:49:56 +08:00
你的丢,所谓是数据库不能再次启动?哈哈
beginor
2023-03-05 23:50:29 +08:00
如果正在执行事务时断电,你就知道了
edis0n0
2023-03-06 00:05:52 +08:00
可别说,有一次我们这边生产服务器 pg 一个表 select 写错了卡了 5 分钟强制重启整个表消失了,后面请人恢复的。mysql 暴力重启了好多次都没事
dbskcnc
2023-03-06 07:27:20 +08:00
@edis0n0 select 能把 pg 搞挂, 这个比较虚幻, 原理上似乎也不通, 最终调查结果是啥?
litguy
2023-03-06 08:15:49 +08:00
有日志保护,都不应该丢吧
只要给上层返回 OK
说明下面数据都完成持久化了
不做数据库,作存储的路过
dw2693734d
2023-03-06 08:49:00 +08:00
@litguy nvme 断电几次,没出现过坏道
rekulas
2023-03-06 09:23:44 +08:00
断电时间很关键,写入少的时候大多数断电都不会出问题,但如果刚好在某关键点断电就不好说了
NewYear
2023-03-06 09:37:37 +08:00
我这里,小公司,用了 Windows 软 Raid5 和三星的 NVME 做数据库存储。

丢数据的时候脸是真的疼,改回软 Raid1 了。
NewYear
2023-03-06 09:39:03 +08:00
一直用着好好的,突然有一天 Windows 疯狂报硬盘错误……

那 3 个硬盘才用半年,小公司写入量也小得很,只能说无奈。
jorneyr
2023-03-06 09:57:54 +08:00
试试压测写把数据库搞挂了,然后看看能不能重启成功。
feelinglucky
2023-03-06 12:06:00 +08:00
断电几次…哥们建议你还是备个 UPS 吧,数据无价
dw2693734d
2023-03-06 12:23:52 +08:00
dw2693734d
2023-03-06 12:24:38 +08:00
julyclyde
2023-03-06 12:49:00 +08:00
@beginor 执行事务过程中断电也不应该有问题
数据库没回答说写好了那就是没写好

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

https://www.v2ex.com/t/921383

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

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

© 2021 V2EX