ClickHouse 耐用吗?

Ram*_*lat 4 clickhouse

我知道 ClickHouse 没有ACID,因此我不希望它DACIDness方面具有可用性。但是,问题是,如果服务器崩溃,是否有可能丢失插入内容?

Den*_*ane 5

CH 不耐用。

您可以在硬件自发重新启动时丢失过去 8-10 分钟内成功插入的数据,但不会在 CH 崩溃时丢失。

由于性能原因,CH 不使用 fsync(这显着提高了插入性能)。所以最后一部分 level0(插入)将只在 Linux 页面缓存中。您可以通过调整 Linux 内核参数来减少 10 分钟。(您可以为合并配置 direct_io(从 1 个字节开始),以便将 level1 部分写入磁盘)

并且可以使用复制表和仲裁插入。但在这种情况下,如果两个副本在机架断电时位于同一个机架中,您仍可能丢失数据。


2021 年初 CH 将开始支持 WAL+fsync。

它将由参数控制

  • min_rows_to_fsync_after_merge
  • min_compressed_bytes_to_fsync_after_merge
  • min_compressed_bytes_to_fsync_after_fetch
  • fsync_after_insert
  • fsync_part_directory
  • write_ahead_log_bytes_to_fsync
  • write_ahead_log_interval_ms_to_fsync
  • in_memory_parts_insert_sync

  • https://clickhouse.com/docs/en/guides/developer/transactional/ (2认同)