如果我的服务器关闭,假设所有写入磁盘成功,我会丢失多少“已确认”写入?
Redis:10k 写入或 15 分钟中较小的一个。参见 config
MongoDB:< 100 毫秒(实践中约 30 毫秒),默认 journaling enabled
RethinkDB:0,参见 How does RethinkDB handle write durability?
CouchDB:0,参见 setting
FoundationDB:0。声称是带有 keystore 和 SQL 接口(interface)的 ACID。
MySQL:~0(见评论)
每个问题的答案都是:“视情况而定”。那么它依赖于什么,默认值是什么。并不是哪个更好,我只需要知道它们之间的区别 :-)
根据以下评论更新
嘿,有人为此写了一篇博客。剧透警报:every database sucks请注意,有些文章是关于以前发布的版本的。
最佳答案
使用默认的 RethinkDB 配置,即使服务器重新启动,您也不会丢失任何已收到响应的写入。
关于mongodb - 没有SQL。服务器崩溃时丢失了多少数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29914640/