TiDB 开源分布式关系型数据库
这套系统可以很好的解决: 行存储和列存储的取舍问题; OLTP 负载和 OLAP 负载的资源隔离问题; 快速批量写与事务型写操作混合模式的问题; Adhoc 查询与 Adhoc 混合负载及批处理作业共存的问题; 。 数据 0ffload 到数据仓库引起的不一致风险。 Sattayer Te/TEpark 能、可用性和业务多活问题。 分布式数据库实践 新一代财富管理平台是支撑光大银行理财公司运营的核心系统,提供理财业务的全流程管理。依托私有 云基础设施与平台 4.0 开发框架,光大银行定制了分布式批处理方案,设计目标是余额宝每小时理财交易 2000 万笔,零钱通单日 5000 万笔,同时还要满足未来 3-5 年业务发展和接入更多互联网代销渠道需求。 光大银行在同城两数据中心构建 TiDB 双活集群,采用 两地三中心方案部署 TiDB 集群搭建实时数据中 台,构建 HTAP 解决方案,实时地对电网运行数据进行统计分析。 TiDB 提供 HTAP AlL-in-One 的解决方案,不需要建设流处理、批处理、查询系统等一系列复杂的技术 栈,大幅降低了电力企业数据中台的建设与维护成本。TiDB 实现了处理与存储能力的弹性扩容,整体 性能表现很好地满足了业务要求,2019 年 10 月至今系统运行平稳,数据量为90 码力 | 58 页 | 9.51 MB | 1 年前3Pivotal Greenplum 最佳实践分享
对于并发请求高、面向于复杂的灵活查询的系 统,建议每个Segment配置4个或以下Instance, 这样来保证每个Instance所需资源,保证系统 系统运行稳定性,例如,减少OOM发生的概率; • 对于以批处理、串行工作为主的系统,可以配 置到8个Instance,这样可以尽可能的发挥每个 CPU的处理性能。 Master query plan Client Segments Segments 二级分区可以用一级分区+Bitmap方式替代,例如按照“发生日期”做分区,然后在机构字段上将bitmap索引 • 对于1亿条记录以下的表不分区(对于小系统,该阀值适当调低) 索引使用: • 以数据批处理为主要功能的系统一般不需建索引 • 以并发查询为主要功能,特别OLTP查询(根据KEY,Attribute等作为筛选条件)的系统按照常用字段建索引。 • 建索引的方法:对于区别度高的字段,如账号0 码力 | 41 页 | 1.42 MB | 1 年前3蔡岳毅-基于ClickHouse+StarRocks构建支撑千亿级数据量的高可用查询引擎
优点: 1. 支持标准的SQL语法,兼容MySql协议; 2. MPP架构,扩缩容非常简单方便; 3. 支持高并发查询; 4. 跨机房部署,实现最低成本的DR 缺点: 1. 不支持大规模的批处理; 2. 支持insert into,但最理想的是消费Kafka; 全球敏捷运维峰会 广州站 ClickHouse/StarRocks在酒店数据智能平台的架构 全球敏捷运维峰会 广州站0 码力 | 15 页 | 1.33 MB | 1 年前3Apache Doris 在美团外卖数仓中的应用实践
够解决所有业务问题。数据库引擎技术的发展,为我们提供更多手段提升数据建设方案。实践证 明,以Doris引擎为驱动的ROLAP模式可以较好地处理汇总与明细、变化维的历史回溯、非预设维 的灵活应用、准实时的批处理等场景。而以Kylin为基础的MOLAP模式在处理增量业务分析,固化 维度场景,通过预计算以空间换时间方面依然重要。 业务方面,通过外卖数仓Doris的成功实践以及跨BG的交流,美团已经有更多的团队了解并尝试0 码力 | 8 页 | 429.42 KB | 1 年前3TiDB v8.4 中文手册
确保数据在存储和传输过程中的安全性。 2.2.1 功能详情 2.2.1.1 性能 • 新增 TSO 请求的并行批处理模式,降低获取 TSO 的延迟 #54960 #8432 @MyonKeminta 在 v8.4.0 之前,TiDB 向 PD 请求TSO 时会将一段时间内的请求汇总起来并以串行的方式进行批处理,以减 少 RPC (Remote Procedure Call) 请求数量,从而降低 PD 负载。对于延迟敏感的场景,这种串行模式的性能 负载。对于延迟敏感的场景,这种串行模式的性能 并不理想。 在 v8.4.0 中,TiDB 新增 TSO 请求的并行批处理模式,并提供不同的并发能力。并行模式可以降低获取 TSO 的延迟,但可能会增加 PD 的负载。你可以通过tidb_tso_client_rpc_mode 变量设定获取 TSO 的 RPC 模 式。 更多信息,请参考用户文档。 • 优化 TiDB Hash Join 算子的执行效率(实验特性)#55153 单字段主键表的分页批处理 常规的分页更新 SQL 一般使用主键或者唯一索引进行排序,再配合 LIMIT 语法中的 offset,按固定行数拆分 页面。然后把页面包装进独立的事务中,从而实现灵活的分页更新。但是,劣势也很明显:由于需要对主键 或者唯一索引进行排序,越靠后的页面参与排序的行数就会越多,尤其当批量处理涉及的数据体量较大时, 可能会占用过多计算资源。 下面将介绍一种更为高效的分页批处理方案: 使用0 码力 | 5072 页 | 104.05 MB | 9 月前3TiDB v8.5 中文手册
确保数据在存储和传输过程中的安全性。 2.2.1 功能详情 2.2.1.1 性能 • 新增 TSO 请求的并行批处理模式,降低获取 TSO 的延迟 #54960 #8432 @MyonKeminta 在 v8.4.0 之前,TiDB 向 PD 请求TSO 时会将一段时间内的请求汇总起来并以串行的方式进行批处理,以减 少 RPC (Remote Procedure Call) 请求数量,从而降低 PD 负载。对于延迟敏感的场景,这种串行模式的性能 负载。对于延迟敏感的场景,这种串行模式的性能 并不理想。 在 v8.4.0 中,TiDB 新增 TSO 请求的并行批处理模式,并提供不同的并发能力。并行模式可以降低获取 TSO 的延迟,但可能会增加 PD 的负载。你可以通过tidb_tso_client_rpc_mode 变量设定获取 TSO 的 RPC 模 式。 更多信息,请参考用户文档。 • 优化 TiDB Hash Join 算子的执行效率(实验特性)#55153 单字段主键表的分页批处理 常规的分页更新 SQL 一般使用主键或者唯一索引进行排序,再配合 LIMIT 语法中的 offset,按固定行数拆分 页面。然后把页面包装进独立的事务中,从而实现灵活的分页更新。但是,劣势也很明显:由于需要对主键 或者唯一索引进行排序,越靠后的页面参与排序的行数就会越多,尤其当批量处理涉及的数据体量较大时, 可能会占用过多计算资源。 下面将介绍一种更为高效的分页批处理方案: 使用0 码力 | 5095 页 | 104.54 MB | 9 月前3Greenplum Database 管理员指南 6.2.1
的争抢程度。编者想要解 释一下,为什么要控制活跃语句数量,这与资源有关,一定的硬件环境,计算能力 是有限的,太多的任务同时在执行,会使得系统资源出现严重的争抢,从而导致计 算效率严重下降。无论什么批处理系统,追求的最高目标永远是,任务量一定的情 况下,用最短的时间执行完所有的任务,而不是同时有更多个任务在执行。 所有的角色都应该设置合适的资源队列。 通过资源队列的ACT 句的数量。 还可以通过资源队列的MEMORY_LIMIT属性来限制内存的使用量。不过编者建议, 一般不太需要这样做,除非内存资源过于紧张,经常出现内存不足的报错。 根据批处理的情况,适当的对资源队列的属性做出调整。 注意:应该考虑逐步使用资源组来代替资源队列,资源组对资源的控制粒度更细致。 监控与维护 要对系统表和数据库日志有日常的 用。 因此,在条件允许的情况下,通过表交换的方式可以大幅减轻对现有业务的影响, 比如有规律的分区表,通过交换分区的模式来新增数据,非分区表,通过交换表名 的方式来新增数据,不过,这种操作一般只适合批处理操作,对于持续的交易型操 作,没有特别好的办法。 Greenplum Database 管理员指南 V6.2.1 版权所有:Esena(陈淼 +86 18616691889) 编写:陈淼 -0 码力 | 416 页 | 6.08 MB | 1 年前3TiDB v6.1 中文手册
单字段主键表的分页批处理 常规的分页更新 SQL 一般使用主键或者唯一索引进行排序,再配合 LIMIT 语法中的 offset,按固定行数拆分 页面。然后把页面包装进独立的事务中,从而实现灵活的分页更新。但是,劣势也很明显:由于需要对主键 或者唯一索引进行排序,越靠后的页面参与排序的行数就会越多,尤其当批量处理涉及的数据体量较大时, 可能会占用过多计算资源。 下面将介绍一种更为高效的分页批处理方案: 使用 使用 SQL 实现分页批处理,可以按照如下步骤进行: 首先将数据按照主键排序,然后调用窗口函数 row_number() 为每一行数据生成行号,接着调用聚合函数按照 设置好的页面大小对行号进行分组,最终计算出每页的最小值和最大值。 SELECT floor((t.row_num - 1) / 1000) + 1 AS page_num, min(t.id) AS start_key, max(t (SQLException e) { e.printStackTrace(); } }); 改进方案由于规避了频繁的数据排序操作造成的性能损耗,显著改善了批量处理的效率。 4.7.4.3 复合主键表的分页批处理 4.7.4.3.1 非聚簇索引表 对于非聚簇索引表(又被称为 “非索引组织表”)而言,可以使用隐藏字段 _tidb_rowid 作为分页的 key,分 页的方法与单列主键表中所介绍的方法相同。0 码力 | 3572 页 | 84.36 MB | 1 年前3TiDB v8.0 中文手册
TiDB 兼容该场景,数据可以正常迁移到下游。#10741 @okJiang – TiDB Lightning * 在逻辑导入模式下,支持使用logical-import-batch-rows 配置批处理的最大行数 #46607 @kennytm * 当 TiFlash 的导入空间不足时,TiDB Lightning 会报错 #50324 @okJiang 2.2.5 错误修复 • TiDB 单字段主键表的分页批处理 常规的分页更新 SQL 一般使用主键或者唯一索引进行排序,再配合 LIMIT 语法中的 offset,按固定行数拆分 页面。然后把页面包装进独立的事务中,从而实现灵活的分页更新。但是,劣势也很明显:由于需要对主键 或者唯一索引进行排序,越靠后的页面参与排序的行数就会越多,尤其当批量处理涉及的数据体量较大时, 可能会占用过多计算资源。 下面将介绍一种更为高效的分页批处理方案: 使用 使用 SQL 实现分页批处理,可以按照如下步骤进行: 首先将数据按照主键排序,然后调用窗口函数 row_number() 为每一行数据生成行号,接着调用聚合函数按照 设置好的页面大小对行号进行分组,最终计算出每页的最小值和最大值。 SELECT floor((t.row_num - 1) / 1000) + 1 AS page_num, min(t.id) AS start_key, max(t0 码力 | 4805 页 | 101.28 MB | 1 年前3TiDB v7.1 中文手册
单字段主键表的分页批处理 常规的分页更新 SQL 一般使用主键或者唯一索引进行排序,再配合 LIMIT 语法中的 offset,按固定行数拆分 页面。然后把页面包装进独立的事务中,从而实现灵活的分页更新。但是,劣势也很明显:由于需要对主键 或者唯一索引进行排序,越靠后的页面参与排序的行数就会越多,尤其当批量处理涉及的数据体量较大时, 可能会占用过多计算资源。 下面将介绍一种更为高效的分页批处理方案: 使用 使用 SQL 实现分页批处理,可以按照如下步骤进行: 首先将数据按照主键排序,然后调用窗口函数 row_number() 为每一行数据生成行号,接着调用聚合函数按照 设置好的页面大小对行号进行分组,最终计算出每页的最小值和最大值。 SELECT floor((t.row_num - 1) / 1000) + 1 AS page_num, min(t.id) AS start_key, max(t (SQLException e) { e.printStackTrace(); } }); 改进方案由于规避了频繁的数据排序操作造成的性能损耗,显著改善了批量处理的效率。 4.7.4.3 复合主键表的分页批处理 4.7.4.3.1 非聚簇索引表 对于非聚簇索引表(又被称为 “非索引组织表”)而言,可以使用隐藏字段 _tidb_rowid 作为分页的 key,分 页的方法与单列主键表中所介绍的方法相同。0 码力 | 4369 页 | 98.92 MB | 1 年前3
共 19 条
- 1
- 2