Teradata 数据库技术概略之四 —— 数据分布机制(3) Hash Map

本文详细介绍了Teradata数据库的Hash Map机制,它根据哈希桶号将数据分布到特定AMP上,以实现数据的均匀分布。Hash Map在系统内存中持久存在,由BYNET维护并复制到每个节点。尽管AMP数量与哈希桶数的关系可能导致数据分布倾斜,Teradata通过调整哈希桶数来减少这种情况。系统中存在多种类型的Hash Map,各自服务于不同的管理需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

rel="File-List" href="file:///C:%5CDOCUME%7E1%5CZHANGD%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml">

Teradata 数据库技术概略之四 —— 数据分布机制(3 Hash Map

 

从前面文章的介绍中我们知道, Teradata根据要存储的每条记录的PI值按照某种哈希算法生成一个行哈希值,生成的这个行哈希值的前16位或20位代表了这个行哈希值在哈希表中的哈希桶的编号,而这个哈希桶号则决定了这条记录具体会被分布到哪个AMP上,那么,Teradata是如何根据哈希桶号就知道把数据分布到对应的AMP上的呢?这就要通过本篇所要讨论的Hash Map(至于Hash Map,我一直也找不到合适的中文译法,称为“哈希地图”或者“哈希图”都有那么点意思,但我感觉都不太好,所以在后面的介绍中,我就都直接使用Hash Map了)。

 

我们可以把Hash Map理解成一种机制,它最终使得Teradata把某个数据记录分布到某个AMP上。在逻辑上,可以认为Hash Map是一个二维表,表中总共包含了65536或者1048576个单元格,每个单元格中记录了一个哈希桶号,而这个哈希桶号唯一对应了Teradata系统中的一个AMP,整个二维表中,会有多个哈希桶号对应到一个AMP上。

 

根据上面的描述可以得出这样的结论:(1)对于一个给定的Teradata系统,Hash Map的内容是确定的;(2)对于多个不同的Teradata系统,如果它们使用相同的哈希桶数(65536或者1048576),而且它们包含了相同的AMP

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值