建网站能上传多少数据,伊犁网站建设,公司的门户网站模版,epcms网站模板MPP架构介绍#xff1a; 如图#xff0c;TiDB Server 作为协调者#xff0c;首先 TiDB Server 会把每个TiFlash 拥有的region 会在TiFlash上做交换#xff0c;让表连接在一个TiFlash上。另外 TiFlash会作为计算节点#xff0c;每个TiFlash都负责数据交换#xff0c;表连接…MPP架构介绍 如图TiDB Server 作为协调者首先 TiDB Server 会把每个TiFlash 拥有的region 会在TiFlash上做交换让表连接在一个TiFlash上。另外 TiFlash会作为计算节点每个TiFlash都负责数据交换表连接聚合等等。 每个TiFlash在MPP架构里面称为一个MPP worker。
MPP的特点
1.适合大量的join聚合查询
2.所有MPP计算是在内存中执行的数据不落地。
3.只支持等值连接不支持不等值连接这意味着有一些sql用不了MPP这时候可以使用参数Enforce_mpp 强制使用MPP但不支持等值连接就是不支持执行后会警告。 MPP的执行流程 首先在这个SQL中有一个表连接两个过滤条件一个聚合条件 。
TiFlash在存储数据的时候会把数据分别存储在不同的TiFlash上这个SQL的执行流程是 1.在每个TiFlash 中过滤出order表里面 dic列的前三个字母是7c0的数据放到内存中。把product表里面pct_date列大于‘2021-09-30’ 的数据放到内存中并行执行 2. 数据交换减少网络交换让表连接在本节点执行对每一张表的连接项pid取一个hash函数如取模。将数据根据hash值 进行数据交换让hash值相同的数据在一个节点上。 3. 对group by进行提速也是进行数据交换对state取hash函数把hash函数相等的放在一个节点。 4.把TiFlash的数据返回到TiDB Server 总结TiDB的MPP架构充分利用了TiFlash并行计算的功能 当一个复杂的SQL语句过来的时候能够使用MPP先利用表连接的条件把连接条件Hash值相同的数据放到一个节点上防止网络交换严重处理了过滤条件后如有聚合条件再利用聚合条件的字段进行数据交换把聚合条件字段hash值相同的数据放到同一个数据节点中最后每个TiFlash把计算好的数据返回给TiDB Server。