 PingCAP TiDB&TiKV Introduction OLTP活、MySQL 兼容的真正意义上的分布式数据库 ● 我们是全球仅有的在该领域进行技术创新的两家公司之一(对标美国 CockroachDB) ● 完全从头打造,并非基于 MySQL 或数据库中间件进行改造、封装 ● 体系架构完全不同于传统的单机型数据库的理论,真正意义上的分布式架构 ● 开源模式保证技术创新、高效和领先性,天然的国际化基因 我们的数据库能解决什么问题 - 1 ● 无限线性水平扩展(Scale0 码力 | 21 页 | 613.54 KB | 6 月前3 PingCAP TiDB&TiKV Introduction OLTP活、MySQL 兼容的真正意义上的分布式数据库 ● 我们是全球仅有的在该领域进行技术创新的两家公司之一(对标美国 CockroachDB) ● 完全从头打造,并非基于 MySQL 或数据库中间件进行改造、封装 ● 体系架构完全不同于传统的单机型数据库的理论,真正意义上的分布式架构 ● 开源模式保证技术创新、高效和领先性,天然的国际化基因 我们的数据库能解决什么问题 - 1 ● 无限线性水平扩展(Scale0 码力 | 21 页 | 613.54 KB | 6 月前3
 TiDB v7.1 中文手册al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 12.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 等,来解决问题。由应用程序产生序列 ID,可以一定程度上保证 ID 的单调递增性,同 时也保留了使用聚簇索引带来的收益。但相关应用程序需要进行改造。 • 聚簇索引 + AUTO_RANDOM 此方案是目前分布式数据库既能避免出现写入热点问题,又能保留聚簇索引带来的查询收益的方案。 整体改造也相对轻量,可以在业务切换使用 TiDB 作为写库时,修改 Schema 属性来达到目的。如果在后 续查询时一定要利用 ID 的数 据中 台使 用。 将表 建立 为非 聚簇 索引, 并设 置 SHARD_ROW_ID_BIT; 使主 键列 维持 与源 数据 库类 型一 致即 可。 可以 有效 避免 数据 写入 热点; 改造 成本 低。 主键 查询 性能 有所 下降。 13.6.4.2.2 分库分表要点 分与合 DM 支持将上游分库分表的数据合并到下游 TiDB 中的同一个表,这也是 TiDB 推荐的一种方式。0 码力 | 4369 页 | 98.92 MB | 1 年前3 TiDB v7.1 中文手册al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 12.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 等,来解决问题。由应用程序产生序列 ID,可以一定程度上保证 ID 的单调递增性,同 时也保留了使用聚簇索引带来的收益。但相关应用程序需要进行改造。 • 聚簇索引 + AUTO_RANDOM 此方案是目前分布式数据库既能避免出现写入热点问题,又能保留聚簇索引带来的查询收益的方案。 整体改造也相对轻量,可以在业务切换使用 TiDB 作为写库时,修改 Schema 属性来达到目的。如果在后 续查询时一定要利用 ID 的数 据中 台使 用。 将表 建立 为非 聚簇 索引, 并设 置 SHARD_ROW_ID_BIT; 使主 键列 维持 与源 数据 库类 型一 致即 可。 可以 有效 避免 数据 写入 热点; 改造 成本 低。 主键 查询 性能 有所 下降。 13.6.4.2.2 分库分表要点 分与合 DM 支持将上游分库分表的数据合并到下游 TiDB 中的同一个表,这也是 TiDB 推荐的一种方式。0 码力 | 4369 页 | 98.92 MB | 1 年前3
 TiDB v6.5 中文手册al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 12.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 等,来解决问题。由应用程序产生序列 ID,可以一定程度上保证 ID 的单调递增性,同 时也保留了使用聚簇索引带来的收益。但相关应用程序需要进行改造。 • 聚簇索引 + AUTO_RANDOM 此方案是目前分布式数据库既能避免出现写入热点问题,又能保留聚簇索引带来的查询收益的方案。 整体改造也相对轻量,可以在业务切换使用 TiDB 作为写库时,修改 Schema 属性来达到目的。如果在后 1505 续查询时一定要利用 的数 据中 台使 用。 将表 建立 为非 聚簇 索引, 并设 置 SHARD_ROW_ID_BIT; 使主 键列 维持 与源 数据 库类 型一 致即 可。 可以 有效 避免 数据 写入 热点; 改造 成本 低。 主键 查询 性能 有所 下降。 13.6.4.2.2 分库分表要点 分与合 DM 支持将上游分库分表的数据合并到下游 TiDB 中的同一个表,这也是 TiDB 推荐的一种方式。0 码力 | 4049 页 | 94.00 MB | 1 年前3 TiDB v6.5 中文手册al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 12.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 等,来解决问题。由应用程序产生序列 ID,可以一定程度上保证 ID 的单调递增性,同 时也保留了使用聚簇索引带来的收益。但相关应用程序需要进行改造。 • 聚簇索引 + AUTO_RANDOM 此方案是目前分布式数据库既能避免出现写入热点问题,又能保留聚簇索引带来的查询收益的方案。 整体改造也相对轻量,可以在业务切换使用 TiDB 作为写库时,修改 Schema 属性来达到目的。如果在后 1505 续查询时一定要利用 的数 据中 台使 用。 将表 建立 为非 聚簇 索引, 并设 置 SHARD_ROW_ID_BIT; 使主 键列 维持 与源 数据 库类 型一 致即 可。 可以 有效 避免 数据 写入 热点; 改造 成本 低。 主键 查询 性能 有所 下降。 13.6.4.2.2 分库分表要点 分与合 DM 支持将上游分库分表的数据合并到下游 TiDB 中的同一个表,这也是 TiDB 推荐的一种方式。0 码力 | 4049 页 | 94.00 MB | 1 年前3
 TiDB v5.2 中文手册务的成功率,需 要修改应用程序,加上重试的逻辑。悲观事务模式可以避免这个问题,应用程序无需添加重试逻辑,就可以 正常执行。 TiDB 悲观锁复用了乐观锁的两阶段提交逻辑,重点在 DML 执行时做了改造。 350 图 62: TiDB 悲观事务的提交逻辑 在两阶段提交之前增加了 Acquire Pessimistic Lock 阶段,简要步骤如下。 1.(同乐观锁)TiDB 收到来自客户端的 al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 10.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 使用悲观事务 模型,在执行写入类型的 SQL 语句的过程中进行加锁并且在 Repeatable Read 隔离级别下使用了当前读的机制, 能够读取到最新的数据,所以提交时一般不会出现异常。为了降低应用改造难度,TiDB 提供了数据库内部自 动重试机制。 重试机制 当事务提交时,如果发现写写冲突,TiDB 内部重新执行包含写操作的 SQL 语句。你可以通过设置 tidb_disable �→ _txn_auto_retry0 码力 | 2259 页 | 48.16 MB | 1 年前3 TiDB v5.2 中文手册务的成功率,需 要修改应用程序,加上重试的逻辑。悲观事务模式可以避免这个问题,应用程序无需添加重试逻辑,就可以 正常执行。 TiDB 悲观锁复用了乐观锁的两阶段提交逻辑,重点在 DML 执行时做了改造。 350 图 62: TiDB 悲观事务的提交逻辑 在两阶段提交之前增加了 Acquire Pessimistic Lock 阶段,简要步骤如下。 1.(同乐观锁)TiDB 收到来自客户端的 al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 10.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 使用悲观事务 模型,在执行写入类型的 SQL 语句的过程中进行加锁并且在 Repeatable Read 隔离级别下使用了当前读的机制, 能够读取到最新的数据,所以提交时一般不会出现异常。为了降低应用改造难度,TiDB 提供了数据库内部自 动重试机制。 重试机制 当事务提交时,如果发现写写冲突,TiDB 内部重新执行包含写操作的 SQL 语句。你可以通过设置 tidb_disable �→ _txn_auto_retry0 码力 | 2259 页 | 48.16 MB | 1 年前3
 TiDB v5.1 中文手册务的成功率,需 要修改应用程序,加上重试的逻辑。悲观事务模式可以避免这个问题,应用程序无需添加重试逻辑,就可以 正常执行。 TiDB 悲观锁复用了乐观锁的两阶段提交逻辑,重点在 DML 执行时做了改造。 341 图 62: TiDB 悲观事务的提交逻辑 在两阶段提交之前增加了 Acquire Pessimistic Lock 阶段,简要步骤如下。 1.(同乐观锁)TiDB 收到来自客户端的 al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 10.4.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 使用悲观事务 模型,在执行写入类型的 SQL 语句的过程中进行加锁并且在 Repeatable Read 隔离级别下使用了当前读的机制, 能够读取到最新的数据,所以提交时一般不会出现异常。为了降低应用改造难度,TiDB 提供了数据库内部自 动重试机制。 重试机制 当事务提交时,如果发现写写冲突,TiDB 内部重新执行包含写操作的 SQL 语句。你可以通过设置 tidb_disable �→ _txn_auto_retry0 码力 | 2189 页 | 47.96 MB | 1 年前3 TiDB v5.1 中文手册务的成功率,需 要修改应用程序,加上重试的逻辑。悲观事务模式可以避免这个问题,应用程序无需添加重试逻辑,就可以 正常执行。 TiDB 悲观锁复用了乐观锁的两阶段提交逻辑,重点在 DML 执行时做了改造。 341 图 62: TiDB 悲观事务的提交逻辑 在两阶段提交之前增加了 Acquire Pessimistic Lock 阶段,简要步骤如下。 1.(同乐观锁)TiDB 收到来自客户端的 al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 10.4.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 使用悲观事务 模型,在执行写入类型的 SQL 语句的过程中进行加锁并且在 Repeatable Read 隔离级别下使用了当前读的机制, 能够读取到最新的数据,所以提交时一般不会出现异常。为了降低应用改造难度,TiDB 提供了数据库内部自 动重试机制。 重试机制 当事务提交时,如果发现写写冲突,TiDB 内部重新执行包含写操作的 SQL 语句。你可以通过设置 tidb_disable �→ _txn_auto_retry0 码力 | 2189 页 | 47.96 MB | 1 年前3
 TiDB v8.4 中文手册al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 12.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 等,来解决问题。由应用程序产生序列 ID,可以一定程度上保证 ID 的单调递增性,同 时也保留了使用聚簇索引带来的收益。但相关应用程序需要进行改造。 • 聚簇索引 + AUTO_RANDOM 此方案是目前分布式数据库既能避免出现写入热点问题,又能保留聚簇索引带来的查询收益的方案。 整体改造也相对轻量,可以在业务切换使用 TiDB 作为写库时,修改 Schema 属性来达到目的。如果在后 续查询时一定要利用 ID 的数 据中 台使 用。 将表 建立 为非 聚簇 索引, 并设 置 SHARD_ROW_ID_BIT; 使主 键列 维持 与源 数据 库类 型一 致即 可。 可以 有效 避免 数据 写入 热点; 改造 成本 低。 主键 查询 性能 有所 下降。 13.6.4.2.2 分库分表要点 分与合 DM 支持将上游分库分表的数据合并到下游 TiDB 中的同一个表,这也是 TiDB 推荐的一种方式。0 码力 | 5072 页 | 104.05 MB | 10 月前3 TiDB v8.4 中文手册al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 12.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 等,来解决问题。由应用程序产生序列 ID,可以一定程度上保证 ID 的单调递增性,同 时也保留了使用聚簇索引带来的收益。但相关应用程序需要进行改造。 • 聚簇索引 + AUTO_RANDOM 此方案是目前分布式数据库既能避免出现写入热点问题,又能保留聚簇索引带来的查询收益的方案。 整体改造也相对轻量,可以在业务切换使用 TiDB 作为写库时,修改 Schema 属性来达到目的。如果在后 续查询时一定要利用 ID 的数 据中 台使 用。 将表 建立 为非 聚簇 索引, 并设 置 SHARD_ROW_ID_BIT; 使主 键列 维持 与源 数据 库类 型一 致即 可。 可以 有效 避免 数据 写入 热点; 改造 成本 低。 主键 查询 性能 有所 下降。 13.6.4.2.2 分库分表要点 分与合 DM 支持将上游分库分表的数据合并到下游 TiDB 中的同一个表,这也是 TiDB 推荐的一种方式。0 码力 | 5072 页 | 104.05 MB | 10 月前3
 TiDB v8.5 中文手册al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 12.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 等,来解决问题。由应用程序产生序列 ID,可以一定程度上保证 ID 的单调递增性,同 时也保留了使用聚簇索引带来的收益。但相关应用程序需要进行改造。 • 聚簇索引 + AUTO_RANDOM 此方案是目前分布式数据库既能避免出现写入热点问题,又能保留聚簇索引带来的查询收益的方案。 整体改造也相对轻量,可以在业务切换使用 TiDB 作为写库时,修改 Schema 属性来达到目的。如果在后 续查询时一定要利用 ID 的数 据中 台使 用。 将表 建立 为非 聚簇 索引, 并设 置 SHARD_ROW_ID_BIT; 使主 键列 维持 与源 数据 库类 型一 致即 可。 可以 有效 避免 数据 写入 热点; 改造 成本 低。 主键 查询 性能 有所 下降。 13.6.4.2.2 分库分表要点 分与合 DM 支持将上游分库分表的数据合并到下游 TiDB 中的同一个表,这也是 TiDB 推荐的一种方式。0 码力 | 5095 页 | 104.54 MB | 10 月前3 TiDB v8.5 中文手册al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 12.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 等,来解决问题。由应用程序产生序列 ID,可以一定程度上保证 ID 的单调递增性,同 时也保留了使用聚簇索引带来的收益。但相关应用程序需要进行改造。 • 聚簇索引 + AUTO_RANDOM 此方案是目前分布式数据库既能避免出现写入热点问题,又能保留聚簇索引带来的查询收益的方案。 整体改造也相对轻量,可以在业务切换使用 TiDB 作为写库时,修改 Schema 属性来达到目的。如果在后 续查询时一定要利用 ID 的数 据中 台使 用。 将表 建立 为非 聚簇 索引, 并设 置 SHARD_ROW_ID_BIT; 使主 键列 维持 与源 数据 库类 型一 致即 可。 可以 有效 避免 数据 写入 热点; 改造 成本 低。 主键 查询 性能 有所 下降。 13.6.4.2.2 分库分表要点 分与合 DM 支持将上游分库分表的数据合并到下游 TiDB 中的同一个表,这也是 TiDB 推荐的一种方式。0 码力 | 5095 页 | 104.54 MB | 10 月前3
 TiDB v8.0 中文手册al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 12.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 等,来解决问题。由应用程序产生序列 ID,可以一定程度上保证 ID 的单调递增性,同 时也保留了使用聚簇索引带来的收益。但相关应用程序需要进行改造。 • 聚簇索引 + AUTO_RANDOM 此方案是目前分布式数据库既能避免出现写入热点问题,又能保留聚簇索引带来的查询收益的方案。 整体改造也相对轻量,可以在业务切换使用 TiDB 作为写库时,修改 Schema 属性来达到目的。如果在后 续查询时一定要利用 ID 的数 据中 台使 用。 将表 建立 为非 聚簇 索引, 并设 置 SHARD_ROW_ID_BIT; 使主 键列 维持 与源 数据 库类 型一 致即 可。 可以 有效 避免 数据 写入 热点; 改造 成本 低。 主键 查询 性能 有所 下降。 13.6.4.2.2 分库分表要点 分与合 DM 支持将上游分库分表的数据合并到下游 TiDB 中的同一个表,这也是 TiDB 推荐的一种方式。0 码力 | 4805 页 | 101.28 MB | 1 年前3 TiDB v8.0 中文手册al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 12.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 等,来解决问题。由应用程序产生序列 ID,可以一定程度上保证 ID 的单调递增性,同 时也保留了使用聚簇索引带来的收益。但相关应用程序需要进行改造。 • 聚簇索引 + AUTO_RANDOM 此方案是目前分布式数据库既能避免出现写入热点问题,又能保留聚簇索引带来的查询收益的方案。 整体改造也相对轻量,可以在业务切换使用 TiDB 作为写库时,修改 Schema 属性来达到目的。如果在后 续查询时一定要利用 ID 的数 据中 台使 用。 将表 建立 为非 聚簇 索引, 并设 置 SHARD_ROW_ID_BIT; 使主 键列 维持 与源 数据 库类 型一 致即 可。 可以 有效 避免 数据 写入 热点; 改造 成本 低。 主键 查询 性能 有所 下降。 13.6.4.2.2 分库分表要点 分与合 DM 支持将上游分库分表的数据合并到下游 TiDB 中的同一个表,这也是 TiDB 推荐的一种方式。0 码力 | 4805 页 | 101.28 MB | 1 年前3
 TiDB v7.5 中文手册al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 12.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 等,来解决问题。由应用程序产生序列 ID,可以一定程度上保证 ID 的单调递增性,同 时也保留了使用聚簇索引带来的收益。但相关应用程序需要进行改造。 • 聚簇索引 + AUTO_RANDOM 此方案是目前分布式数据库既能避免出现写入热点问题,又能保留聚簇索引带来的查询收益的方案。 整体改造也相对轻量,可以在业务切换使用 TiDB 作为写库时,修改 Schema 属性来达到目的。如果在后 1613 续查询时一定要利用 的数 据中 台使 用。 将表 建立 为非 聚簇 索引, 并设 置 SHARD_ROW_ID_BIT; 使主 键列 维持 与源 数据 库类 型一 致即 可。 可以 有效 避免 数据 写入 热点; 改造 成本 低。 主键 查询 性能 有所 下降。 13.6.4.2.2 分库分表要点 分与合 DM 支持将上游分库分表的数据合并到下游 TiDB 中的同一个表,这也是 TiDB 推荐的一种方式。0 码力 | 4590 页 | 100.91 MB | 1 年前3 TiDB v7.5 中文手册al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 12.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 等,来解决问题。由应用程序产生序列 ID,可以一定程度上保证 ID 的单调递增性,同 时也保留了使用聚簇索引带来的收益。但相关应用程序需要进行改造。 • 聚簇索引 + AUTO_RANDOM 此方案是目前分布式数据库既能避免出现写入热点问题,又能保留聚簇索引带来的查询收益的方案。 整体改造也相对轻量,可以在业务切换使用 TiDB 作为写库时,修改 Schema 属性来达到目的。如果在后 1613 续查询时一定要利用 的数 据中 台使 用。 将表 建立 为非 聚簇 索引, 并设 置 SHARD_ROW_ID_BIT; 使主 键列 维持 与源 数据 库类 型一 致即 可。 可以 有效 避免 数据 写入 热点; 改造 成本 低。 主键 查询 性能 有所 下降。 13.6.4.2.2 分库分表要点 分与合 DM 支持将上游分库分表的数据合并到下游 TiDB 中的同一个表,这也是 TiDB 推荐的一种方式。0 码力 | 4590 页 | 100.91 MB | 1 年前3
 TiDB v7.6 中文手册al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 12.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 等,来解决问题。由应用程序产生序列 ID,可以一定程度上保证 ID 的单调递增性,同 时也保留了使用聚簇索引带来的收益。但相关应用程序需要进行改造。 • 聚簇索引 + AUTO_RANDOM 此方案是目前分布式数据库既能避免出现写入热点问题,又能保留聚簇索引带来的查询收益的方案。 整体改造也相对轻量,可以在业务切换使用 TiDB 作为写库时,修改 Schema 属性来达到目的。如果在后 1633 续查询时一定要利用 的数 据中 台使 用。 将表 建立 为非 聚簇 索引, 并设 置 SHARD_ROW_ID_BIT; 使主 键列 维持 与源 数据 库类 型一 致即 可。 可以 有效 避免 数据 写入 热点; 改造 成本 低。 主键 查询 性能 有所 下降。 13.6.4.2.2 分库分表要点 分与合 DM 支持将上游分库分表的数据合并到下游 TiDB 中的同一个表,这也是 TiDB 推荐的一种方式。0 码力 | 4666 页 | 101.24 MB | 1 年前3 TiDB v7.6 中文手册al_scan_concurrency 变量进 行并发度调整。 • 逆序索引 目前 TiDB 支持对索引进行逆序 Scan,目前速度比顺序 Scan 慢一些,通常情况下慢 20%,在数据频繁修 改造成版本较多的情况下,会慢的更多。如果可能,建议避免对索引的逆序 Scan。 12.5.1.3 场景与实践 上一节我们讨论了一些 TiDB 基本的实现机制及其对使用带来的影响,本节我们从具体的使用场景出发,谈一 等,来解决问题。由应用程序产生序列 ID,可以一定程度上保证 ID 的单调递增性,同 时也保留了使用聚簇索引带来的收益。但相关应用程序需要进行改造。 • 聚簇索引 + AUTO_RANDOM 此方案是目前分布式数据库既能避免出现写入热点问题,又能保留聚簇索引带来的查询收益的方案。 整体改造也相对轻量,可以在业务切换使用 TiDB 作为写库时,修改 Schema 属性来达到目的。如果在后 1633 续查询时一定要利用 的数 据中 台使 用。 将表 建立 为非 聚簇 索引, 并设 置 SHARD_ROW_ID_BIT; 使主 键列 维持 与源 数据 库类 型一 致即 可。 可以 有效 避免 数据 写入 热点; 改造 成本 低。 主键 查询 性能 有所 下降。 13.6.4.2.2 分库分表要点 分与合 DM 支持将上游分库分表的数据合并到下游 TiDB 中的同一个表,这也是 TiDB 推荐的一种方式。0 码力 | 4666 页 | 101.24 MB | 1 年前3
共 15 条
- 1
- 2













