高可用与一致性:构建强一致性分布式数据库 TiDB-沈泰宁
构建强⼀一致性分布式数据库 TiDB 沈泰宁 R & D Engineer @ PingCAP ⾃自我介绍 ⾃自我介绍 • 沈泰宁 • R&D Engineer @ PingCAP • Maintainer • rust-prometheus • grpc-rs • … ⽬目录 • What is TiDB? • How to test? What is TiDB? Single0 码力 | 45 页 | 4.63 MB | 1 年前3微服务场景下的数据一致性解决方案 - 殷湘
和平统一 微服务场景下的数据一致性解决方案 殷湘 华为PaaS微服务架构师 开源能力中心 大纲 •离 数据一致性的起因 •合 数据一致性的解决方案 •断 方案选择建议 离 数据一致性的起因 单体应用 • 单体应用由于所有模块(A/B/C)使用同一个数据库 • 数据一致性通过数据库事务保证 A B C commit rollback 微服务场景 MySQL MongoDB MongoDB Cassandra 数据一致性无法完全通过数据库保证 离 独立进程 独立部署 独立技术 独立团队 合 数据一致性的解决方案 T1 T2 T3 C2 C1 • 1987年Hector & Kenneth 发表论文 Sagas • Saga = Long Live Transaction (LLT) • LLT = T1 + T2 + T3 + ... + Tn • 每个本地事务Tx 有对应的补偿 edu/andru/cs711/2002fa/reading/sagas.pdf T1 T2 T3 ... Tn C1 C2 C3 ... Cn T1 T2 T3 ... Tn 正常情况 异常情况 Saga – 最终一致 B C A Saga transact transact transact B C A Saga yes/no yes/no yes/no Saga - 222 •0 码力 | 31 页 | 4.28 MB | 1 年前3Apache ShardingSphere 中文文档 5.1.1
能够将数据源和规则等元数据信息持久化,但无法将元数据同步至多个 Apache ShardingSphere 实例,无 法在集群环境中相互感知。通过某一实例更新元数据之后,会导致其他实例由于获取不到最新的元数据 而产生不一致的错误。适用于工程师在本地搭建 Apache ShardingSphere 环境。 3.2.4 集群模式 提供了多个 Apache ShardingSphere 实例之间的元数据共享和分布式场景下状态协调的能力。在真实部 3.3 DistSQL 3.3.1 背景 DistSQL(Distributed SQL)是 Apache ShardingSphere 特有的操作语言。它与标准 SQL 的使用方式完 全一致,用于提供增量功能的 SQL 级别操作能力。 3.3.2 挑战 灵活的规则配置和资源管控能力是 Apache ShardingSphere 的特点之一。在使用 4.x 及其之前版本时,开 发者 尽量使用本地事务,善于使用同库不同表可有效避免分布式事务带来的麻烦。在不能避免跨库事务的场 景,有些业务仍然需要保持事务的一致性。而基于 XA 的分布式事务由于在并发度高的场景中性能无法满 足需要,并未被互联网巨头大规模使用,他们大多采用最终一致性的柔性事务代替强一致事务。 4.3. 数据分片 26 Apache ShardingSphere document, v5.1.1 4.3.30 码力 | 409 页 | 4.47 MB | 1 年前3Apache ShardingSphere 中文文档 5.1.0
能够将数据源和规则等元数据信息持久化,但无法将元数据同步至多个 Apache ShardingSphere 实例,无 法在集群环境中相互感知。通过某一实例更新元数据之后,会导致其他实例由于获取不到最新的元数据 而产生不一致的错误。适用于工程师在本地搭建 Apache ShardingSphere 环境。 3.2.4 集群模式 提供了多个 Apache ShardingSphere 实例之间的元数据共享和分布式场景下状态协调的能力。在真实部 3.3 DistSQL 3.3.1 背景 DistSQL(Distributed SQL)是 Apache ShardingSphere 特有的操作语言。它与标准 SQL 的使用方式完 全一致,用于提供增量功能的 SQL 级别操作能力。 3.3.2 挑战 灵活的规则配置和资源管控能力是 Apache ShardingSphere 的特点之一。在使用 4.x 及其之前版本时,开 发者 尽量使用本地事务,善于使用同库不同表可有效避免分布式事务带来的麻烦。在不能避免跨库事务的场 景,有些业务仍然需要保持事务的一致性。而基于 XA 的分布式事务由于在并发度高的场景中性能无法满 足需要,并未被互联网巨头大规模使用,他们大多采用最终一致性的柔性事务代替强一致事务。 4.3. 数据分片 26 Apache ShardingSphere document, v5.1.0 4.3.30 码力 | 406 页 | 4.40 MB | 1 年前3Apache ShardingSphere 中文文档 5.1.2
能够将数据源和规则等元数据信息持久化,但无法将元数据同步至多个 Apache ShardingSphere 实例,无 法在集群环境中相互感知。通过某一实例更新元数据之后,会导致其他实例由于获取不到最新的元数据 而产生不一致的错误。适用于工程师在本地搭建 Apache ShardingSphere 环境。 3.2.4 集群模式 提供了多个 Apache ShardingSphere 实例之间的元数据共享和分布式场景下状态协调的能力。在真实部 3.3 DistSQL 3.3.1 背景 DistSQL(Distributed SQL)是 Apache ShardingSphere 特有的操作语言。它与标准 SQL 的使用方式完 全一致,用于提供增量功能的 SQL 级别操作能力。 3.3.2 挑战 灵活的规则配置和资源管控能力是 Apache ShardingSphere 的特点之一。在使用 4.x 及其之前版本时,开 发者 尽量使用本地事务,善于使用同库不同表可有效避免分布式事务带来的麻烦。在不能避免跨库事务的场 景,有些业务仍然需要保持事务的一致性。而基于 XA 的分布式事务由于在并发度高的场景中性能无法满 足需要,并未被互联网巨头大规模使用,他们大多采用最终一致性的柔性事务代替强一致事务。 4.3. 数据分片 26 Apache ShardingSphere document, v5.1.2 4.3.30 码力 | 446 页 | 4.67 MB | 1 年前32022年美团技术年货 合辑
713 基于 AI 算法的数据库异常监测系统的设计与实现 775 目录 < v Replication(上):常见复制模型 & 分布式系统挑战 792 Replication(下):事务,一致性与共识 818 TensorFlow 在美团外卖推荐场景的 GPU 训练优化实践 855 CompletableFuture 原理与实践 - 外卖商家端 API 的异步化 879 工程效能 相近的水平,而网络结构则在训练和推理阶 段始终保持普通的 VGG 结构,这种训练方法请参考 RepOpt [3]。该工作中提出的 RepOpt-B1 网络模型,在浮点精度与 RepVGG-B1 基本一致的情况下,量化模型 精度提升超过 20%,极大地改善了重参数化网络的量化掉点问题。此外,RepOpt 模型的训练速度快,内存占用也比较低。 图 3 RepVGG 和 RepOpt 结构示意图 我 们 实 现 了 RepOpt 版 本 的 YOLOv6s 网 络(YOLOv6s_repopt), 达 到 了 与 YOLOv6s_repvgg 一致的浮点精度 42.4%(300 epochs),两个版本的网络结构在 部署阶段保持一致。我们首先分析了 YOLOv6s_repopt 模型的数据分布特征。 如图 2 所示,给出了“Rep_p4.block.0.rbr_reparam” 层的特征图数值分布直方0 码力 | 1356 页 | 45.90 MB | 1 年前32019-2021 美团技术年货 前端篇
Swift 与 Objective-C 及混编机制 108 美团民宿跨端复用框架设计与实践 165 美团跨端一体化富文本管理技术实践 186 前端 | 2020 202 移动端 UI 一致性解决方案 202 美团外卖 Flutter 动态化实践 227 美团开源 Logan Web:前端日志在 Web 端的实现 255 外卖客户端容器化架构的演进 270 Flutter 通过打造一套 合适的跨端框架,以相对低的成本移植应用到鸿蒙平台,并利用好该系统的特性能 力,就成为了一个非常重要的选项。 在现有的众多跨端框架当中,Flutter 以其自渲染能力带来的多端高度一致性,在新 系统的适配上有着突出的优势。虽然 Flutter 官方并没有适配鸿蒙的计划,但经过一 段时间的探索和实践,美团外卖 MTFlutter 团队成功实现了 Flutter 对于鸿蒙系统的 上分别提供了交易履约、运营、 广告、营销等一系列功能,且经常有外投 H5 的场景(如外卖学院、商家社区、营销 活动等)。在这种多形态的业务场景下,如何保障多端体验的一致性,以及如何提升 多端迭代的效率,一直是商家端产研关注的重点。 1.1.1 保障多端体验一致性 由于端能力的不同,导致了业务在 App 和 Web 上存在较大的表现差异,例如:App 上自带动画转场,而在 Web 中的实现成本却较高,往往也就降级舍弃了这部分功能。0 码力 | 738 页 | 50.29 MB | 1 年前3TiDB v7.1 中文手册
· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 825 8.12.5 第 5 步:使用 redo log 确保数据一致性· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 825 8.12.6 第 6 步:恢复主集群及业务 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 938 10.2.8 数据索引一致性报错· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 3670 15.3.6 省略 ORDER BY 条件时 TiDB 中返回结果的顺序与 MySQL 中的不一致· · · · · · · · · · · · · · · · · · · · 3670 15.3.7 TiDB 是否支持 SELECT FOR UPDATE? · · · · · · · · ·0 码力 | 4369 页 | 98.92 MB | 1 年前3Apache ShardingSphere 中文文档 5.0.0
尽量使用本地事务,善于使用同库不同表可有效避免分布式事务带来的麻烦。在不能避免跨库事务的场 景,有些业务仍然需要保持事务的一致性。而基于 XA 的分布式事务由于在并发度高的场景中性能无法满 足需要,并未被互联网巨头大规模使用,他们大多采用最终一致性的柔性事务代替强一致事务。 4.2. 数据分片 21 Apache ShardingSphere document, v5.0.0 4.2.3 t_order_0 到 t_order_9,他们的逻辑表名为 t_order。 真实表 在水平拆分的数据库中真实存在的物理表。即上个示例中的 t_order_0 到 t_order_9。 绑定表 指分片规则一致的主表和子表。例如:t_order 表和 t_order_item 表,均按照 order_id 分片,则 此两张表互为绑定表关系。绑定表之间的多表关联查询不会出现笛卡尔积关联,关联查询效率将大大提 会只使用主表的策略,那么 t_order_item 表的分片计算将会使用 t_order 的条件。因此,绑定表间 的分区键需要完全相同。 广播表 指所有的分片数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且 需要与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 数据节点 数据分片的最小单元,由数据源名称和真实表组成。例:ds_00 码力 | 385 页 | 4.26 MB | 1 年前3TiDB v5.2 中文手册
· · · · · · · · · · · · · · · · · · · · · · · 1946 13.2.2 省略 ORDER BY 条件时 TiDB 中返回结果的顺序与 MySQL 中的不一致· · · · · · · · · · · · · · · · · · · · 1946 13.2.3 TiDB 是否支持 SELECT FOR UPDATE? · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1974 13.5.1 TiDB 数据是强一致的吗?· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 适合高 可用、强一致要求较高、数据规模较大等各种应用场景。 2.1.1 五大核心特性 • 一键水平扩容或者缩容 得益于 TiDB 存储计算分离的架构的设计,可按需对计算、存储分别进行在线扩容或者缩容,扩容或者 缩容过程中对应用运维人员透明。 • 金融级高可用 数据采用多副本存储,数据副本通过 Multi-Raft 协议同步事务日志,多数派写入成功事务才能提交,确 保数据强一致性且少数副本发0 码力 | 2259 页 | 48.16 MB | 1 年前3
共 850 条
- 1
- 2
- 3
- 4
- 5
- 6
- 85