Teradata 数据库技术概略之三 —— 数据分布机制(2) 哈希算法

本文详细介绍了Teradata数据库的数据分布机制,特别是哈希算法。通过哈希函数,Teradata将Primary Index值映射到特定的AMP上,利用行哈希值的两部分(哈希桶数和保留值)确定数据分布。系统中最多可有65536或1048576个哈希桶,每个记录的唯一性由32位的唯一值(UV)确保,与行哈希值组合成RowID,全局唯一。
摘要由CSDN通过智能技术生成
rel="File-List" href="file:///C:%5CDOCUME%7E1%5CZHANGD%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml"> rel="Edit-Time-Data" href="file:///C:%5CDOCUME%7E1%5CZHANGD%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_editdata.mso"> rel="OLE-Object-Data" href="file:///C:%5CDOCUME%7E1%5CZHANGD%7E1%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_oledata.mso">

Teradata 数据库技术概略之三 —— 数据分布机制 哈希算法

 

我们知道,哈希(Hash)是一个数据映射的过程,该过程将任意长度的的二进制值映射为某一固定长度的二进制值,后面的这个生成的固定长度的二进制值被称为哈希值(Hash Value),而哈希过程中为了映射而使用的具体方法被称为哈希函数(Hash Function),也就是通常所说的哈希算法。根据哈希算法和冲突处理办法,可以把哈希生成的哈希值分布到一个有限的线性地址空间上,不同的哈希值可能会被分布到相同的地址空间,这样就构成了一个表,这个表就是哈希表(Hash Table),或者被称为散列(因此哈希函数有时也被称为散列函数)。在哈希表中,每一个哈希值都唯一地对应于表中的某一个存储位置,这个位置被称为哈希地址(Hash Address)。哈希表中,对应于前面有限的线性地址空间中的某一个空间地址的一系列哈希地址在整体上被称为哈希桶(Hash Bucket),对于一个已经存在的哈希表,其哈希桶的数量是固定的。下面两个表格所表示分别是使用“N Mod 6”和“N Mod 8”两种算法(取模是最简陋但最具有代表性的哈希算法)生成的哈希表,表中绿色背景的部分代表了哈希桶,在两个表中,我们可以分别称它们为1号哈希桶和4号哈希桶。同时我们可以看到,两个哈希表的哈希桶的数量分别为6个和8个。

 

#1

#2

#3

#4

#5

#6

0

1

2

3

4

5

6

7

8

9

10

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
第一章 数据仓库基本概念 1 1.1 背景介绍 1 1.2 OLTP与OLAP 1 1.3 数据仓库系统的查询特点 2 1.4 详细数据与小结数据(DETAIL DATA与SUMMARY DATA) 3 1.5 数据仓库与数据集市(DATA WAREHOUSE与DATA MART) 4 1.6 TERADATA的出现 6 1.7 如何衡量数据仓库引擎 7 1.7.1 TPC-D 7 1.7.2 TPC-H/R 14 1.8 NCR可扩展数据仓库方法论与实施框架 15 1.8.1 NCR可扩展数据仓库方法论 15 1.8.2 NCR可扩展数据仓库框架 18 1.8.3 NCR可扩展数据仓库合作伙伴 19 第二章 TERADATA关系型数据库管理系统概要 21 2.1 TERADATA数据库的设计思想 21 2.2 TERADATA数据库的体系结构 21 2.2.1 Teradata V1/DBC体系结构 21 2.2.2 Teradata V1/NCR 3600体系结构 23 2.2.3 开放的Teradata V2/SMP体系结构 27 2.2.4 Teradata V2/MPP体系结构 29 2.3 TERADATA 的 并 行 处 理 机 制 33 2.4 WINDOWS平台的TERADATA数据库 34 2.5 TERADATA多媒体数据库 35 第三章 TERADATA数据库数据分配机制 36 3.1 哈希算法、主索引、与数据分配 36 3.2 TERADATA数据分配示例 37 3.3 主索引与表的创建 38 3.4 哈希冲突与不唯一主索引 39 3.5 TERADATA数据库系统的在线升级 40 第四章 TERADATA数据库数据访问机制 42 4.1 基于主索引的数据访问 42 4.2 基于唯一次索引USI的数据访问 43 4.3 基于非唯一次索引NUSI的数据访问 44 4.4 全表扫描 46 4.5 总结 47 第五章 如何选择主索引 49 5.1 TERADATA数据库中的AMP与PDISK 49 5.2 数据记录的分配 50 5.3 选择主索引的基本原则 52 第六章 数据库的空间管理、用户管理、访问权限 54 6.1 TERADATA中的用户与数据库 54 6.1.1 数据库 54 6.1.2 用户 56 6.2 TERADATA数据库的层次型结构 56 6.3 拥有者(OWNER)与创建者(CREATOR) 58 6.4 TERADATA数据库的访问权限 59 6.4.1 访问权限概述 59 6.4.2 显示权限 65 6.4.3 监控权限 65 6.4.4 如何检查一个用户或数据库的权限 66 6.4.5 GRANT命令的操作 68 6.4.6 REVOKE命令的操作 69 第七章 数据保护与恢复 70 7.1 锁(LOCK) 70 7.2 优先权(PRIORITY) 72 7.3 交易完整性(TRANSACTION INTEGRITY) 73 7.4 临时流水(TRANSIENT JOURNAL) 74 7.5 永久流水(PERMANENT JOURNAL) 74 7.6 FALLBACK保护 75 第八章 客户端访问TERADATA数据库的方法 77 8.1 概述 77 8.2 TERADATA数据库的编程接口 78 8.2.1 调用层接口CLI 78 8.2.2 嵌入式预处理器 78 8.2.3 ODBC 78 8.3 TERADATA应用工具 79 8.3.1 BTEQ 79 8.3.2 FastLoad 80 8.3.3 MultiLoad 80 8.3.4 FastExport 81 8.3.5 TPump 81 第九章 使用TERADATA的主要客户分析 82 9.1 零售业 82 9.2 消费品制造与零售业供货商 83 9.3 货运业 83 9.4 客运业 84 9.5 电信业 85 9.6 健康保险业 86 9.7 金融业 87 9.8 共用事业类 88 9.9 其它行业 88 附录一 CLIENT/SERVER结构下的TERADATA数据库 99 附录二 TERADATA ODBC驱动程序设置 100 附录三 QUERYMAN介绍 102 附录四 WINDDI介绍 106

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值