mysql - TiDB 的 set[sync-log=false] 有什么区别和影响

标签 mysql tidb

在 tidb 中,打开 sync-log 时,disk io util 可以超过 90%设置sync-log=false后,它下降到1%,这个配置有什么不好的影响?

最佳答案

简而言之,sync-log=true 可保证数据安全,但会损害性能。

TiDB 基于 Raft 共识算法,它需要确保每一个 raft 日志在提交之前会持久保存到大多数磁盘上。使 确保日志持久化,我们需要两个步骤:

  1. 写(log_fd,日志)
  2. fsync(log_fd)

sync-log=false 时,TiDB 会跳过 fsync,这有助于提高性能并且在以下情况下是安全的: 没有停电。将其设置为 true,即使在以下情况下,您的数据也始终完好无损: 停电了。

查看更多:https://pingcap.com/docs/v3.0/faq/tidb/

关于mysql - TiDB 的 set[sync-log=false] 有什么区别和影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56680312/

相关文章:

MySQL - 优化由 ORDER BY 引起的 "Using temporary"

mysql - 在 MySQL 中修改数据库时,Spark 中删除了行

sql - 可扩展的 RDBMS 替代方案、NoSQL、NewSQL

mysql - 警告 "will split alter table"有什么影响

sql - 联接如何在 Cloud Spanner 数据库中工作?

php - 在服务器端 dhtmlxScheduler 中获取 xml 响应之前获取 xml 更新响应

php - 将 MySQL 用于图库的最佳方式?

java - 由 : java. sql.SQLException 引起:用户 'root' @'localhost' 的访问被拒绝(使用密码:YES)

php - 如何在 SQL 查询中从另一个表中检索元素?

error-handling - ansible-playbook bootstrap.yml命令中的tidb-ansible错误