-
after it had occurred.” 1881 年的一张地图 展示了一条消息从伦敦出发 • 绿色的区域可以在 10 天以 内到达 • 黄色的区域需要 10-20 天 • 粉色的区域需要 20-30 天 • 蓝色的区域需要 30-40 天 • 棕色的区域需要 40 天以上 的时间 21 世纪的通讯 同样的一张地图 在今天, 仅仅需要毫秒级 别的时间, 一条消息可以 被全世界共享起来 显然P(网络分区)是首要考虑因素。 其次,跨区域部署就是为了提高可用性,而且对于常见的一致性协议,不管是2PC、Paxos还是raft,在 此场景下都要做跨区域同步更新,不仅会降低用户体验,在网络分区的时候还会影响可用性,因此C必 定被排在最后。那是不是C无法被满足了呢? Conflict-free Replicated Data Types CRDT⼊门 A CRDT Primer Part I:
0 码力 |
45 页 |
1.74 MB
| 1 年前 3
-
⽅法⾄少存在以下三个问题: ⾸先, 程序每储存⼀组相关联的数据, 就必须在数据库⾥⾯同时创建多个字符串键, 这样的数据越多, 数 据库包含的键数量也会越多。 数量庞⼤的键会对数据库某些操作的执⾏速度产⽣影响, 并且维护这些键也 会产⽣⼤量的资源消耗。 其次, 为了在数据库⾥⾯标识出相关联的字符串键, 程序需要为它们加上相同的前缀, 但键名实际上也是 ⼀种数据, 储存键名也需要耗费内存空间, 因此重复出 3-5 HSETNX 命令执⾏之前的 article::10086 散列 举个例⼦, 对于图 3-5 所示的 article::10086 散列来说, 执⾏以下 HSETNX 命令将不会对散列产⽣任何影响, 因为 HSETNX 命令想要设置的 title 字段已经存在: redis> HSETNX article::10086 title "Redis Performance Test" (integer) ⾏集中管理, ⽽不必像字符串计数器那样, 为每个计数器单独设置⼀个字符串键。 与此同时, 通过对散列中的不同字段执⾏ HINCRBY 命令, 程序可以对指定的计数器执⾏加法操作和减法操 作, ⽽不会影响到储存在同⼀散列中的其他计数器。 作为例⼦, 以下代码展示了怎样将三个⻚⾯的浏览次数计数器储存到同⼀个散列⾥⾯: >>> from redis import Redis >>> from counter
0 码力 |
352 页 |
6.57 MB
| 1 年前 3
-
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 617 11.4.1 TiUP 文档地图 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 缩容过程中对应用运维人员透明。 • 金融级高可用 数据采用多副本存储,数据副本通过 Multi-Raft 协议同步事务日志,多数派写入成功事务才能提交,确 保数据强一致性且少数副本发生故障时不影响数据的可用性。可按需配置副本地理位置、副本数量等 策略满足不同容灾级别的要求。 • 实时 HTAP 提供行存储引擎TiKV、列存储引擎TiFlash 两款存储引擎,TiFlash 通过 Multi-Raft • 升级前,请检查 TiDB 配置项feedback-probability 的值。如果不为 0,升级后会触发 “panic in the recoverable goroutine” 报错,但不影响升级。 • 兼容 MySQL 5.7 的 noop 变量 innodb_default_row_format,配置此变量无实际效果 #23541。 • 从 TiDB 5.2 起,为了提高系统安全
0 码力 |
2259 页 |
48.16 MB
| 1 年前 3
-
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 596 11.4.1 TiUP 文档地图 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 缩容过程中对应用运维人员透明。 • 金融级高可用 数据采用多副本存储,数据副本通过 Multi-Raft 协议同步事务日志,多数派写入成功事务才能提交,确 保数据强一致性且少数副本发生故障时不影响数据的可用性。可按需配置副本地理位置、副本数量等 策略满足不同容灾级别的要求。 • 实时 HTAP 提供行存储引擎TiKV、列存储引擎TiFlash 两款存储引擎,TiFlash 通过 Multi-Raft • 升级前,请检查 TiDB 配置项feedback-probability 的值。如果不为 0,升级后会触发 “panic in the recoverable goroutine” 报错,但不影响升级。 • 为了提升 TiDB 性能,TiDB 的 Go 编译器版本从 go1.13.7 升级到了 go1.16.4。如果你是 TiDB 的开发者,为了 能保证顺利编译,请对应升级你的 Go 编译器版本。
0 码力 |
2189 页 |
47.96 MB
| 1 年前 3
-
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 641 11.4.1 TiUP 文档地图 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 缩容过程中对应用运维人员透明。 • 金融级高可用 数据采用多副本存储,数据副本通过 Multi-Raft 协议同步事务日志,多数派写入成功事务才能提交,确 保数据强一致性且少数副本发生故障时不影响数据的可用性。可按需配置副本地理位置、副本数量等 策略满足不同容灾级别的要求。 • 实时 HTAP 提供行存储引擎TiKV、列存储引擎TiFlash 两款存储引擎,TiFlash 通过 Multi-Raft 在主从灾备架构下,当生产集群(即 TiCDC 同步的上游集群)发生灾难、且短时间内无法恢复对外提供 服务时,TiCDC 具备保证从集群数据一致性的能力,并允许业务快速的将流量切换至从集群,避免数据 库长时间不可用而对业务造成影响。 该功能支持 TiCDC 将 TiDB 集群的增量数据复制到备用关系型数据库 TiDB/Aurora/MySQL/MariaDB,在 TiCDC 正常同步没有延迟的情况下,上游发生灾难后,可以在
0 码力 |
2374 页 |
49.52 MB
| 1 年前 3
-
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 721 11.4.1 TiUP 文档地图 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 缩容过程中对应用运维人员透明。 • 金融级高可用 数据采用多副本存储,数据副本通过 Multi-Raft 协议同步事务日志,多数派写入成功事务才能提交,确 保数据强一致性且少数副本发生故障时不影响数据的可用性。可按需配置副本地理位置、副本数量等 策略满足不同容灾级别的要求。 • 实时 HTAP 提供行存储引擎TiKV、列存储引擎TiFlash 两款存储引擎,TiFlash 通过 Multi-Raft 支持通过 session 变量实现有界限过期数据读取 • 支持统计信息采集配置持久化 • 支持使用 Raft Engine 作为 TiKV 的日志存储引擎(实验特性) 28 • 优化备份对集群的影响 • 支持 Azure Blob Storage 作为备份目标存储 • 持续提升 TiFlash 列式存储引擎和 MPP 计算引擎的稳定性和性能 • 为 TiDB Lightning 增加已存在数据表是否允许导入的开关
0 码力 |
2852 页 |
52.59 MB
| 1 年前 3
-
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1158 13.4.1 TiUP 文档地图 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 缩容过程中对应用运维人员透明。 • 金融级高可用 数据采用多副本存储,数据副本通过 Multi-Raft 协议同步事务日志,多数派写入成功事务才能提交,确 保数据强一致性且少数副本发生故障时不影响数据的可用性。可按需配置副本地理位置、副本数量等 策略满足不同容灾级别的要求。 • 实时 HTAP 提供行存储引擎TiKV、列存储引擎TiFlash 两款存储引擎,TiFlash 通过 Multi-Raft 将会崩溃。该特性对于可恢复存储故障进行自动检测和恢 复,提升了集群稳定性。 用户文档,#10578 34 • 支持非事务性 DML 语法 在大批量的数据处理场景,单一大事务 SQL 处理有可能对集群稳定性和性能造成影响。TiDB 从 v6.1.0 支 持对 DELETE 语句提供拆分后批量处理的语法格式,拆分后的语句将牺牲事务原子性和隔离性,但是对 于集群的稳定性有很大提升,详细语法请参考BATCH。 用户文档
0 码力 |
3572 页 |
84.36 MB
| 1 年前 3
-
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1440 13.4.1 TiUP 文档地图 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 缩容过程中对应用运维人员透明。 • 金融级高可用 数据采用多副本存储,数据副本通过 Multi-Raft 协议同步事务日志,多数派写入成功事务才能提交,确 保数据强一致性且少数副本发生故障时不影响数据的可用性。可按需配置副本地理位置、副本数量等 策略,满足不同容灾级别的要求。 • 实时 HTAP 提供行存储引擎TiKV、列存储引擎TiFlash 两款存储引擎,TiFlash 通过 Multi-Raft 设置每个资源组的配额。当 集群资源紧张时,同一资源组内的会话所使用的全部资源将受到配额限制,防止某一资源组的过度消 耗对其他资源组的会话造成影响。 该特性也可以将多个来自不同系统的中小型应用整合到同一个 TiDB 集群中。即使某个应用的负载增加, 也不会影响其他应用的正常运行。而在系统负载较低的时候,繁忙的应用即使超出设定的配额,仍可 获得所需系统资源,实现资源的最大化利用。此外,合理利用资源管控特性可以减少集群数量,降低
0 码力 |
4369 页 |
98.92 MB
| 1 年前 3
-
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1353 13.4.1 TiUP 文档地图 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 缩容过程中对应用运维人员透明。 • 金融级高可用 数据采用多副本存储,数据副本通过 Multi-Raft 协议同步事务日志,多数派写入成功事务才能提交,确 保数据强一致性且少数副本发生故障时不影响数据的可用性。可按需配置副本地理位置、副本数量等 策略满足不同容灾级别的要求。 • 实时 HTAP 提供行存储引擎TiKV、列存储引擎TiFlash 两款存储引擎,TiFlash 通过 Multi-Raft 完整支持包含 INSERT、REPLACE、UPDATE 和 DELETE 的非事务 DML 语句 #33485 @ekexium 在大批量的数据处理场景,单一大事务 SQL 处理可能对集群稳定性和性能造成影响。非事务 DML 语句将 一个 DML 语句拆成多个 SQL 语句在内部执行。拆分后的语句将牺牲事务原子性和隔离性,但是对于集群 的稳定性有很大提升。TiDB 从 v6.1.0 开始支持非事务 DELETE
0 码力 |
4049 页 |
94.00 MB
| 1 年前 3
-
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1506 13.4.1 TiUP 文档
地图 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 缩容过程中对应用运维人员透明。 • 金融级高可用 数据采用多副本存储,数据副本通过 Multi-Raft 协议同步事务日志,多数派写入成功事务才能提交,确 保数据强一致性且少数副本发生故障时不
影响数据的可用性。可按需配置副本地理位置、副本数量等 策略,满足不同容灾级别的要求。 • 实时 HTAP 提供行存储引擎TiKV、列存储引擎TiFlash 两款存储引擎,TiFlash 通过 Multi-Raft 集群能正常运行的关键模块。当集群的工作负载增加时, �→ PD 中各模块的资源消耗也会随之增加,造成这些模块间功能的相互干扰, �→ 进而
影响整个集群的服务质量。为了解决该问题,从 v8.0.0 起,TiDB 支持将 PD 的 TSO �→ 和调度模块拆分成可独立部署的微服务,可以显著降低当集群规模扩大时模块间的互相
影响。 �→ 通过这种架构,TiDB 能够支持更大规模、更高负载的集群。 33
0 码力 |
4805 页 |
101.28 MB
| 1 年前 3
|