From 823be6760b2c82ec89f11a2c1f414ef19bb013a8 Mon Sep 17 00:00:00 2001 From: Liuxiaozhen12 Date: Thu, 20 May 2021 16:04:12 +0800 Subject: [PATCH 1/8] update TiDB 6MB limit --- error-codes.md | 4 ++-- faq/migration-tidb-faq.md | 2 +- storage-engine/titan-overview.md | 2 +- tidb-limitations.md | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/error-codes.md b/error-codes.md index 659d4b6a3754e..a6f4c9772d63d 100644 --- a/error-codes.md +++ b/error-codes.md @@ -87,9 +87,9 @@ TiDB is compatible with the error codes in MySQL, and in most cases returns the * Error Number: 8025 - The single Key-Value pair being written is too large. The largest single Key-Value pair supported in TiDB is 6 MB. + The single Key-Value pair being written is too large. The largest single Key-Value pair supported in TiDB by default is 6 MB. - If a pair exceeds this limit, you need to manually deal with this row of data to meet the 6 MB limit. + If a pair exceeds this limit, you need to properly adjust the configuration items in [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-New-in-v5.0) to ease the restrictions. * Error Number: 8026 diff --git a/faq/migration-tidb-faq.md b/faq/migration-tidb-faq.md index aeccad89a699e..0fe9a63d6ec43 100644 --- a/faq/migration-tidb-faq.md +++ b/faq/migration-tidb-faq.md @@ -138,7 +138,7 @@ The total read capacity has no limit. You can increase the read capacity by addi ### The error message `transaction too large` is displayed -Due to the limitation of the underlying storage engine, each key-value entry (one row) in TiDB should be no more than 6MB. +Due to the limitation of the underlying storage engine, each key-value entry (one row) in TiDB should be no more than 6MB. You can adjust the configuration items in the configuration file [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-New-in-v5.0) and the maximum value is 120MB. Distributed transactions need two-phase commit and the bottom layer performs the Raft replication. If a transaction is very large, the commit process would be quite slow and the write conflict is more likely to occur. Moreover, the rollback of a failed transaction leads to an unnecessary performance penalty. To avoid these problems, we limit the total size of key-value entries to no more than 100MB in a transaction by default. If you need larger transactions, modify the value of `txn-total-size-limit` in the TiDB configuration file. The maximum value of this configuration item is up to 10G. The actual limitation is also affected by the physical memory of the machine. diff --git a/storage-engine/titan-overview.md b/storage-engine/titan-overview.md index db4a9fed9835b..8969385641793 100644 --- a/storage-engine/titan-overview.md +++ b/storage-engine/titan-overview.md @@ -27,7 +27,7 @@ Titan is suitable for the scenarios where a huge volume of data is written to th The prerequisites for enabling Titan are as follows: -- The average size of values is large, or the size of all large values accounts for much of the total value size. Currently, the size of a value greater than 1 KB is considered as a large value. In some situations, this number (1 KB) can be 512 B. Note that a single value written to TiKV cannot exceed 6 MB due to the limitation of the TiKV Raft layer. +- The average size of values is large, or the size of all large values accounts for much of the total value size. Currently, the size of a value greater than 1 KB is considered as a large value. In some situations, this number (1 KB) can be 512 B. Note that a single value written to TiKV cannot exceed 8 MB due to the limitation of the TiKV Raft layer. You can adjust the configuration items in [`raft-entry-max-size`](/tikv-configuration-file.md#raft-entry-max-size) to ease the restrictions. - No range query will be performed or you do not need a high performance of range query. Because the data stored in Titan is not well-ordered, its performance of range query is poorer than that of RocksDB, especially for the query of a large range. According PingCAP's internal test, Titan's range query performance is 40% to a few times lower than that of RocksDB. - Sufficient disk space, because Titan reduces write amplification at the cost of disk space. In addition, Titan compresses values one by one, and its compression rate is lower than that of RocksDB. RocksDB compresses blocks one by one. Therefore, Titan consumes more storage space than RocksDB, which is expected and normal. In some situations, Titan's storage consumption can be twice that of RocksDB. diff --git a/tidb-limitations.md b/tidb-limitations.md index 9fdd6382b2e65..a01fb4fc1026b 100644 --- a/tidb-limitations.md +++ b/tidb-limitations.md @@ -50,7 +50,7 @@ This document describes the common usage limitations of TiDB, including the maxi | Type | Upper limit | |:----------|:----------| -| Size | 6 MB | +| Size | 6 MB by default, you can adjust the configuration items in [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-New-in-v5.0) | ## Limitation on a single column From be158ebd42e7fcb2595ee61861cd27ca7a7f3589 Mon Sep 17 00:00:00 2001 From: Liuxiaozhen12 Date: Thu, 20 May 2021 16:11:11 +0800 Subject: [PATCH 2/8] add an updated file --- best-practices/tidb-best-practices.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/best-practices/tidb-best-practices.md b/best-practices/tidb-best-practices.md index a48e7d5d6c6aa..a986a5684d898 100644 --- a/best-practices/tidb-best-practices.md +++ b/best-practices/tidb-best-practices.md @@ -52,7 +52,7 @@ TiDB provides complete distributed transactions and the model has some optimizat As distributed transactions need to conduct two-phase commit and the bottom layer performs Raft replication, if a transaction is very large, the commit process would be quite slow, and the following Raft replication process is thus stuck. To avoid this problem, the transaction size is limited: - A transaction is limited to 5,000 SQL statements (by default) - - Each Key-Value entry is no more than 6 MB + - Each Key-Value entry is no more than 6 MB (by default) - The total size of Key-Value entries is no more than 10 GB. You can find similar limits in [Google Cloud Spanner](https://cloud.google.com/spanner/quotas). From 2f56cdb37b242339766d70d33899272871e9b3f0 Mon Sep 17 00:00:00 2001 From: Liuxiaozhen12 Date: Thu, 20 May 2021 16:18:32 +0800 Subject: [PATCH 3/8] fix the dead anchor --- error-codes.md | 2 +- faq/migration-tidb-faq.md | 2 +- tidb-limitations.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/error-codes.md b/error-codes.md index a6f4c9772d63d..fcb351b1994e3 100644 --- a/error-codes.md +++ b/error-codes.md @@ -89,7 +89,7 @@ TiDB is compatible with the error codes in MySQL, and in most cases returns the The single Key-Value pair being written is too large. The largest single Key-Value pair supported in TiDB by default is 6 MB. - If a pair exceeds this limit, you need to properly adjust the configuration items in [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-New-in-v5.0) to ease the restrictions. + If a pair exceeds this limit, you need to properly adjust the configuration items in [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v5.0) to ease the restrictions. * Error Number: 8026 diff --git a/faq/migration-tidb-faq.md b/faq/migration-tidb-faq.md index 0fe9a63d6ec43..307b7030d365d 100644 --- a/faq/migration-tidb-faq.md +++ b/faq/migration-tidb-faq.md @@ -138,7 +138,7 @@ The total read capacity has no limit. You can increase the read capacity by addi ### The error message `transaction too large` is displayed -Due to the limitation of the underlying storage engine, each key-value entry (one row) in TiDB should be no more than 6MB. You can adjust the configuration items in the configuration file [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-New-in-v5.0) and the maximum value is 120MB. +Due to the limitation of the underlying storage engine, each key-value entry (one row) in TiDB should be no more than 6MB. You can adjust the configuration items in the configuration file [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v5.0) and the maximum value is 120MB. Distributed transactions need two-phase commit and the bottom layer performs the Raft replication. If a transaction is very large, the commit process would be quite slow and the write conflict is more likely to occur. Moreover, the rollback of a failed transaction leads to an unnecessary performance penalty. To avoid these problems, we limit the total size of key-value entries to no more than 100MB in a transaction by default. If you need larger transactions, modify the value of `txn-total-size-limit` in the TiDB configuration file. The maximum value of this configuration item is up to 10G. The actual limitation is also affected by the physical memory of the machine. diff --git a/tidb-limitations.md b/tidb-limitations.md index a01fb4fc1026b..a0cf0ffb89a4f 100644 --- a/tidb-limitations.md +++ b/tidb-limitations.md @@ -50,7 +50,7 @@ This document describes the common usage limitations of TiDB, including the maxi | Type | Upper limit | |:----------|:----------| -| Size | 6 MB by default, you can adjust the configuration items in [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-New-in-v5.0) | +| Size | 6 MB by default, you can adjust the configuration items in [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v5.0) | ## Limitation on a single column From e94cb1f05cbcd74906dc1b64c45b56c44939be0f Mon Sep 17 00:00:00 2001 From: Liuxiaozhen12 Date: Thu, 20 May 2021 16:23:01 +0800 Subject: [PATCH 4/8] fix the dead anchors --- error-codes.md | 2 +- faq/migration-tidb-faq.md | 2 +- tidb-limitations.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/error-codes.md b/error-codes.md index fcb351b1994e3..4e3071e8c0fdd 100644 --- a/error-codes.md +++ b/error-codes.md @@ -89,7 +89,7 @@ TiDB is compatible with the error codes in MySQL, and in most cases returns the The single Key-Value pair being written is too large. The largest single Key-Value pair supported in TiDB by default is 6 MB. - If a pair exceeds this limit, you need to properly adjust the configuration items in [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v5.0) to ease the restrictions. + If a pair exceeds this limit, you need to properly adjust the configuration items in [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v50) to ease the restrictions. * Error Number: 8026 diff --git a/faq/migration-tidb-faq.md b/faq/migration-tidb-faq.md index 307b7030d365d..c17fd003dd9b0 100644 --- a/faq/migration-tidb-faq.md +++ b/faq/migration-tidb-faq.md @@ -138,7 +138,7 @@ The total read capacity has no limit. You can increase the read capacity by addi ### The error message `transaction too large` is displayed -Due to the limitation of the underlying storage engine, each key-value entry (one row) in TiDB should be no more than 6MB. You can adjust the configuration items in the configuration file [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v5.0) and the maximum value is 120MB. +Due to the limitation of the underlying storage engine, each key-value entry (one row) in TiDB should be no more than 6MB. You can adjust the configuration items in the configuration file [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v50) and the maximum value is 120MB. Distributed transactions need two-phase commit and the bottom layer performs the Raft replication. If a transaction is very large, the commit process would be quite slow and the write conflict is more likely to occur. Moreover, the rollback of a failed transaction leads to an unnecessary performance penalty. To avoid these problems, we limit the total size of key-value entries to no more than 100MB in a transaction by default. If you need larger transactions, modify the value of `txn-total-size-limit` in the TiDB configuration file. The maximum value of this configuration item is up to 10G. The actual limitation is also affected by the physical memory of the machine. diff --git a/tidb-limitations.md b/tidb-limitations.md index a0cf0ffb89a4f..c8f71bb1e2808 100644 --- a/tidb-limitations.md +++ b/tidb-limitations.md @@ -50,7 +50,7 @@ This document describes the common usage limitations of TiDB, including the maxi | Type | Upper limit | |:----------|:----------| -| Size | 6 MB by default, you can adjust the configuration items in [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v5.0) | +| Size | 6 MB by default, you can adjust the configuration items in [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v50) | ## Limitation on a single column From 166a47e846f0947fbeffec1a12c2806748171e75 Mon Sep 17 00:00:00 2001 From: Xiaozhen Liu <82579298+Liuxiaozhen12@users.noreply.github.com> Date: Fri, 21 May 2021 10:55:28 +0800 Subject: [PATCH 5/8] Apply suggestions from code review Co-authored-by: TomShawn <41534398+TomShawn@users.noreply.github.com> --- error-codes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/error-codes.md b/error-codes.md index 4e3071e8c0fdd..fdee9d2bd06c3 100644 --- a/error-codes.md +++ b/error-codes.md @@ -87,9 +87,9 @@ TiDB is compatible with the error codes in MySQL, and in most cases returns the * Error Number: 8025 - The single Key-Value pair being written is too large. The largest single Key-Value pair supported in TiDB by default is 6 MB. + The single Key-Value pair being written is too large. The largest single Key-Value pair supported in TiDB is 6 MB by default. - If a pair exceeds this limit, you need to properly adjust the configuration items in [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v50) to ease the restrictions. + If a pair exceeds this limit, you need to properly adjust the [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v50) configuration item to relax the limit. * Error Number: 8026 From cf0e68291c3bb9b08b0e0c78df07acf651582347 Mon Sep 17 00:00:00 2001 From: Liuxiaozhen12 Date: Fri, 21 May 2021 14:18:15 +0800 Subject: [PATCH 6/8] Apply suggestions from code review --- faq/migration-tidb-faq.md | 2 +- storage-engine/titan-overview.md | 2 +- tidb-limitations.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/faq/migration-tidb-faq.md b/faq/migration-tidb-faq.md index c17fd003dd9b0..07d1fa8c28fb8 100644 --- a/faq/migration-tidb-faq.md +++ b/faq/migration-tidb-faq.md @@ -138,7 +138,7 @@ The total read capacity has no limit. You can increase the read capacity by addi ### The error message `transaction too large` is displayed -Due to the limitation of the underlying storage engine, each key-value entry (one row) in TiDB should be no more than 6MB. You can adjust the configuration items in the configuration file [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v50) and the maximum value is 120MB. +Due to the limitation of the underlying storage engine, each key-value entry (one row) in TiDB should be no more than 6MB. You can adjust the [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v50) configuration item and the maximum value is 120MB. Distributed transactions need two-phase commit and the bottom layer performs the Raft replication. If a transaction is very large, the commit process would be quite slow and the write conflict is more likely to occur. Moreover, the rollback of a failed transaction leads to an unnecessary performance penalty. To avoid these problems, we limit the total size of key-value entries to no more than 100MB in a transaction by default. If you need larger transactions, modify the value of `txn-total-size-limit` in the TiDB configuration file. The maximum value of this configuration item is up to 10G. The actual limitation is also affected by the physical memory of the machine. diff --git a/storage-engine/titan-overview.md b/storage-engine/titan-overview.md index 8969385641793..3c5299f226871 100644 --- a/storage-engine/titan-overview.md +++ b/storage-engine/titan-overview.md @@ -27,7 +27,7 @@ Titan is suitable for the scenarios where a huge volume of data is written to th The prerequisites for enabling Titan are as follows: -- The average size of values is large, or the size of all large values accounts for much of the total value size. Currently, the size of a value greater than 1 KB is considered as a large value. In some situations, this number (1 KB) can be 512 B. Note that a single value written to TiKV cannot exceed 8 MB due to the limitation of the TiKV Raft layer. You can adjust the configuration items in [`raft-entry-max-size`](/tikv-configuration-file.md#raft-entry-max-size) to ease the restrictions. +- The average size of values is large, or the size of all large values accounts for much of the total value size. Currently, the size of a value greater than 1 KB is considered as a large value. In some situations, this number (1 KB) can be 512 B. Note that a single value written to TiKV cannot exceed 8 MB due to the limitation of the TiKV Raft layer. You can adjust the [`raft-entry-max-size`](/tikv-configuration-file.md#raft-entry-max-size) configuration item to relax the limit. - No range query will be performed or you do not need a high performance of range query. Because the data stored in Titan is not well-ordered, its performance of range query is poorer than that of RocksDB, especially for the query of a large range. According PingCAP's internal test, Titan's range query performance is 40% to a few times lower than that of RocksDB. - Sufficient disk space, because Titan reduces write amplification at the cost of disk space. In addition, Titan compresses values one by one, and its compression rate is lower than that of RocksDB. RocksDB compresses blocks one by one. Therefore, Titan consumes more storage space than RocksDB, which is expected and normal. In some situations, Titan's storage consumption can be twice that of RocksDB. diff --git a/tidb-limitations.md b/tidb-limitations.md index c8f71bb1e2808..813451876cdaf 100644 --- a/tidb-limitations.md +++ b/tidb-limitations.md @@ -50,7 +50,7 @@ This document describes the common usage limitations of TiDB, including the maxi | Type | Upper limit | |:----------|:----------| -| Size | 6 MB by default, you can adjust the configuration items in [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v50) | +| Size | 6 MB by default, you can adjust the [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v50) configuration item | ## Limitation on a single column From bde46654c461f19b4d72b3214e548e0b10f8e71e Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Tue, 1 Jun 2021 16:27:08 +0800 Subject: [PATCH 7/8] Apply suggestions from code review --- error-codes.md | 2 +- faq/migration-tidb-faq.md | 2 +- storage-engine/titan-overview.md | 2 +- tidb-limitations.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/error-codes.md b/error-codes.md index fdee9d2bd06c3..4d411bc1cda9b 100644 --- a/error-codes.md +++ b/error-codes.md @@ -89,7 +89,7 @@ TiDB is compatible with the error codes in MySQL, and in most cases returns the The single Key-Value pair being written is too large. The largest single Key-Value pair supported in TiDB is 6 MB by default. - If a pair exceeds this limit, you need to properly adjust the [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v50) configuration item to relax the limit. + If a pair exceeds this limit, you need to properly adjust the [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v50) configuration value to relax the limit. * Error Number: 8026 diff --git a/faq/migration-tidb-faq.md b/faq/migration-tidb-faq.md index 07d1fa8c28fb8..50e1939ecca18 100644 --- a/faq/migration-tidb-faq.md +++ b/faq/migration-tidb-faq.md @@ -138,7 +138,7 @@ The total read capacity has no limit. You can increase the read capacity by addi ### The error message `transaction too large` is displayed -Due to the limitation of the underlying storage engine, each key-value entry (one row) in TiDB should be no more than 6MB. You can adjust the [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v50) configuration item and the maximum value is 120MB. +Due to the limitation of the underlying storage engine, each key-value entry (one row) in TiDB should be no more than 6MB. You can adjust the [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v50) configuration value up to 120MB. Distributed transactions need two-phase commit and the bottom layer performs the Raft replication. If a transaction is very large, the commit process would be quite slow and the write conflict is more likely to occur. Moreover, the rollback of a failed transaction leads to an unnecessary performance penalty. To avoid these problems, we limit the total size of key-value entries to no more than 100MB in a transaction by default. If you need larger transactions, modify the value of `txn-total-size-limit` in the TiDB configuration file. The maximum value of this configuration item is up to 10G. The actual limitation is also affected by the physical memory of the machine. diff --git a/storage-engine/titan-overview.md b/storage-engine/titan-overview.md index 3c5299f226871..8f6e698d42340 100644 --- a/storage-engine/titan-overview.md +++ b/storage-engine/titan-overview.md @@ -27,7 +27,7 @@ Titan is suitable for the scenarios where a huge volume of data is written to th The prerequisites for enabling Titan are as follows: -- The average size of values is large, or the size of all large values accounts for much of the total value size. Currently, the size of a value greater than 1 KB is considered as a large value. In some situations, this number (1 KB) can be 512 B. Note that a single value written to TiKV cannot exceed 8 MB due to the limitation of the TiKV Raft layer. You can adjust the [`raft-entry-max-size`](/tikv-configuration-file.md#raft-entry-max-size) configuration item to relax the limit. +- The average size of values is large, or the size of all large values accounts for much of the total value size. Currently, the size of a value greater than 1 KB is considered as a large value. In some situations, this number (1 KB) can be 512 B. Note that a single value written to TiKV cannot exceed 8 MB due to the limitation of the TiKV Raft layer. You can adjust the [`raft-entry-max-size`](/tikv-configuration-file.md#raft-entry-max-size) configuration value to relax the limit. - No range query will be performed or you do not need a high performance of range query. Because the data stored in Titan is not well-ordered, its performance of range query is poorer than that of RocksDB, especially for the query of a large range. According PingCAP's internal test, Titan's range query performance is 40% to a few times lower than that of RocksDB. - Sufficient disk space, because Titan reduces write amplification at the cost of disk space. In addition, Titan compresses values one by one, and its compression rate is lower than that of RocksDB. RocksDB compresses blocks one by one. Therefore, Titan consumes more storage space than RocksDB, which is expected and normal. In some situations, Titan's storage consumption can be twice that of RocksDB. diff --git a/tidb-limitations.md b/tidb-limitations.md index 813451876cdaf..25d6ca6e35ef3 100644 --- a/tidb-limitations.md +++ b/tidb-limitations.md @@ -50,7 +50,7 @@ This document describes the common usage limitations of TiDB, including the maxi | Type | Upper limit | |:----------|:----------| -| Size | 6 MB by default, you can adjust the [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v50) configuration item | +| Size | 6 MB by default. You can adjust the size limit via the [`txn-entry-size-limit`](/tidb-configuration-file.md#txn-entry-size-limit-new-in-v50) configuration item. | ## Limitation on a single column From 454d35ae021a522abe3ced7195c00900932e54ea Mon Sep 17 00:00:00 2001 From: TomShawn <41534398+TomShawn@users.noreply.github.com> Date: Tue, 1 Jun 2021 16:32:17 +0800 Subject: [PATCH 8/8] Update storage-engine/titan-overview.md Co-authored-by: Lei Zhao --- storage-engine/titan-overview.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage-engine/titan-overview.md b/storage-engine/titan-overview.md index 8f6e698d42340..d1fa7ecac018b 100644 --- a/storage-engine/titan-overview.md +++ b/storage-engine/titan-overview.md @@ -27,7 +27,7 @@ Titan is suitable for the scenarios where a huge volume of data is written to th The prerequisites for enabling Titan are as follows: -- The average size of values is large, or the size of all large values accounts for much of the total value size. Currently, the size of a value greater than 1 KB is considered as a large value. In some situations, this number (1 KB) can be 512 B. Note that a single value written to TiKV cannot exceed 8 MB due to the limitation of the TiKV Raft layer. You can adjust the [`raft-entry-max-size`](/tikv-configuration-file.md#raft-entry-max-size) configuration value to relax the limit. +- The average size of values is large, or the size of all large values accounts for much of the total value size. Currently, the size of a value greater than 1 KB is considered as a large value. In some situations, this number (1 KB) can be 512 B. Note that a single value written to TiKV cannot exceed 8 MB due to the limitation of the TiKV Raft layer. You can adjust the [`raft-entry-max-size`](/tikv-configuration-file.md#raft-entry-max-size) configuration value to relax the limit. - No range query will be performed or you do not need a high performance of range query. Because the data stored in Titan is not well-ordered, its performance of range query is poorer than that of RocksDB, especially for the query of a large range. According PingCAP's internal test, Titan's range query performance is 40% to a few times lower than that of RocksDB. - Sufficient disk space, because Titan reduces write amplification at the cost of disk space. In addition, Titan compresses values one by one, and its compression rate is lower than that of RocksDB. RocksDB compresses blocks one by one. Therefore, Titan consumes more storage space than RocksDB, which is expected and normal. In some situations, Titan's storage consumption can be twice that of RocksDB.