内容正文:
专题 25
大数据时代数据的组织
1
知识梳理
题型考法
考点1 实时查询系统
1.分布式存储系统
(1)大数据背景下,全部数据的组织、存储和处理,仅凭单个服务器和
数据库的数据组织和存储方式,无论从存储容量还是处理速度上都
不能满足实际应用的需求。
(2)分布式存储技术将所有数据分别保存在不同的服务器中,需要时从
中提取并进行_________,就可以满足海量数据的存储与处理需求。
合并
知识梳理
题型考法
(3)分布式存储系统利用分布在不同物理位置的_______来分担系统存
储任务,既能提高数据存储的安全性,又能提升系统数据访问的
速度,同时也具有较好的可扩展性。当用户提出访问请求时,系
统根据元数据服务器(进行数据访问索引的服务器)将访问定位
到目标数据的服务器上。
2.实时查询系统中的数据业务特点
(1)能实现上千个请求的实时响应。
(2)支持后续商品信息的更改。
服务器
知识梳理
题型考法
考点2 实时查询系统中数据的组织
1.数据结构设计
数组和链表处理数据时的差距主要体现在数据的查找和插入两个方面。
(1)数据的查询。
①数组 :若使用二分查找,则时间复杂度为O(log2n)。
②链表:需要从链表的一端依次遍历查找,时间复杂度为 O(n)。
③数组 O(log2n)<链表 O(n)。
知识梳理
题型考法
(2)数据的插入。
①数组 :插入数据时,需要将插入位置及其之后所有的元素后移
一位,时间复杂度为O(n)。
②链表 :直接插入数据 ,只需修改节点的指针,时间复杂度为
O(1)。
③链表 O(1)<数组 O(n)。
知识梳理
题型考法
2.对链表的优化(跳跃表)
(1)跳跃表的概念。
①在一个_________中通过索引表跳跃着进行查找,故称为跳跃表,
是对链表数据结构查找数据过程的优化。
②思路是首先将数据进行有序化处理,然后像_________一样确定
比较的关键节点,根据新元素与关键节点的比较结果来高效地
取舍剩余的查找区间。
有序链表
二分查找
知识梳理
题型考法
(2)跳跃表增设关键节点。
①要求在有序原链表基础上增设一批关键节点(采用抛硬币的方
法确定是否放在关键节点中)。
②增设关键节点后的查找速度是原来的 2 倍,原链表中每个节点
被作为上一层关键节点的概率是___________,所以原链表中的一半节点会出现在关键节点中。
③关键节点起到一个索引表的作用,帮助算法快速定位到一个较
小的区间,然后只需将索引位置对应到原链表,即可找到最终
的目标位置。
二分之一
知识梳理
题型考法
(3)跳跃表删除关键节点。
①删除时按照查找时的层次从上往下依次进行,每当找到对应的
元素,就删除当前层的关键节点,直至最底层的原链表。
②若删除后当前层只剩一个关键节点,则将这个关键节点也删除。
知识梳理
题型考法
(4)跳跃表的建立图示。
知识梳理
题型考法
3.内存数据库
(1)传统磁盘数据库的组织、处理海量数据的模式无法适应当今很多
数据业务对实时数据管理和查询的需求,针对该瓶颈,发明了内
存数据库。
(2)内存数据库性能的提升体现在以下几个方面。
①减少对磁盘的访问。将需要处理的数据保存在_____中并直接操作。
②对数据进行分级存储。 根据应用需要将数据分级,再在处理器缓
存中进行分级存储。
③采用改进后的数据结构来组织、存储数据。将全部数据在内存中
进行重新组织、存储,进行新的体系结构设计,用更快速的算法
来处理数据,并运用支持快速算法的数据结构来组织数据。
内存
知识梳理
题型考法
考点3 POI数据
1.POI数据的概念
(1)POI 即“Point of Interest”,翻译为“兴趣点”,也可以叫作“信息点”,
在电子地图上一般用气泡图标来表示 POI,POI 的_____在一定程
度上代表着整个系统的价值。
(2)POI 描述了空间实体或者区域的空间位置、名称地址、类别、空
间坐标信息(经纬度)、地址、电话、邮政编码等信息。
(3)衡量 POI 数据价值的指标有:空间位置的准确性和覆盖率、空间
位置的数量。
数量
知识梳理
题型考法
2.POI数据的组织与处理
(1)POI 数据一般以表记录或点状数据集的形式存在。
(2)POI数据组织管理。
①POI 数据的组织管理采用 _________ 作为地理信息存储与计算的基础框架。
②基于 HDFS 文件系统存储空间影像数据。
③基于 HBase 存储地理信息专题数据。
④基于 MapReduce 对地理信息中的各种数据进行搭建,对地理信
息专题数据进行信息提取,提取有效信息。
Hadoop
知识梳理
题型考法
(3)空间索引技术。
①POI 数据的组织主要涉及空间索引问题,空间索引是指依据空
间对象的位置和形状或者空间对象之间的某种空间关系,按一
定的顺序排列的一种数据结构。
②空间索引技术大致分为基于树结构、基于网格划分等,考虑到
一个 POI数据仅可能出现在一个索引位置中,因此常使用网格
空间索引来对 POI建立空间索引。
③网格索引的空间索引技术是将一幅地图的地理范围规划地划分
为___________数据,使一个网格区域作为一个索引项为地图对象建立空间索引,能够大大减小检索空间。
二维空间
知识梳理
题型考法
④网格空间索引技术图示。
知识梳理
题型考法
3.POI数据处理的算法优化
(1)二分查找或 B 树查找——根据坐标在海量的数据点中找到该坐标所
在的区域或者最接近的点,但无法找到附近的点。
(2)数据库中 B 树索引和 Hash 索引——可以找到某个点附近的点,但
是查找效率并未提高。
(3)R 树、K-D 树或四叉树——可以做到高效地查找临近点,但是这些
数据结构存在数据冗余、不稳定的查改效率等缺点(意味放弃了现
成强大的数据库需要自己编写数据查改系统)
知识梳理
题型考法
(4)GeoHash 算法。
①GeoHash 将二维信息转化为一维的数据加以存储,可以直接存储
到数据库中以便快速地查找。GeoHash 算法能够解决上述数据结
构和算法存在的问题,被广泛应用于空间检索,尤其是 POI数据
的查询。
②GeoHash 算法把一个坐标点映射到一个字符串上,每个字符串表
示一个以经纬度划分的矩形区域,每一个区域又可以继续划分为
多个子区域,每个区域的 GeoHash 值都是在父区域的字符串之后
再扩展字符。
③根据以上描述可知:越高级的区域 GeoHash值越短,表示的区域
越大;越低级的区域GeoHash 值越长,表示的区域越小。越接近
的区域,其 GeoHash 值的相同前缀越长。
知识梳理
题型考法
判断正误,正确的画“√”,错误的画“×”。
1. 分布式存储系统中,每个服务器都保存全部完整数据。 ( )
2. 跳跃表的关键节点通过“抛硬币”方法确定,原链表中约一半节点会成为关键节点。 ( )
3. 跳跃表的多级索引设计能降低查找时的比较次数,提升效率。 ( )
4. 内存数据库通过减少磁盘访问和分级存储来提升性能,无须改进数据结构。 ( )
5.GeoHash 算法将二维坐标转为一维字符串,前缀越长表示区域越小、位置越接近。 ( )
×
√
√
×
√
知识梳理
题型考法
考向 一 实时查询系统
例 1 下列关于分布式存储系统的说法,不正确的是 ( )
A.提高数据存储的安全性
B.存储于不同物理位置的服务器中
C.每个服务器都保存着全部的完整数据
D.可扩展性较好
C
例 1 C 分布式存储系统采用分布式存储技术,将所有数据分别保存在不同的服务器中,需要时从中提取并进行合并,以此满足海量数据的存储与处理需求。
√
知识梳理
题型考法
例 2 下列系统中,属于实时查询系统的是 ( )
A.超市的收银系统
B.图书检索系统
C.在线航班查询系统
D.电子厂的零件制作系统
C
例 2 C 实时查询系统的特点是:能实现上千个请求的实时响应;支持后续信息的更改。只有在线航班查询系统满足实时查询系统的数据业务特点。
√
知识梳理
题型考法
考向 二 实时查询系统中数据的组织
例 3 下列关于跳跃表的说法,不正确的是( )
A.跳跃表借鉴的是顺序查找的思想
B.关键节点包含原链表的一半节点
C.关键节点在使用过程中需要动态调整
D.节点较多的链表可以建立多级索引方便查找
A
例 3 A 跳跃表借鉴的是二分查找的思想。
√
知识梳理
题型考法
例 4 使用链表和有序数组来储存数据时,下列说法不正确的是 ( )
A.在单向链表中删除节点的时间复杂度为 O(1)
B.在链表中查找并插入数据的时间复杂度为 O(1)
C.在有序数组中查找数据的时间复杂度为 O(log2n)
D.在数组中插入一个数据的时间复杂度为 O(n)
B
例 4 B 链表虽然在插入操作时能确保 O(1)的时间复杂度,但在查找新元素的插入位置时,却需要从链表的一端依次遍历查找,时间复杂度为 O(n),所以在链表中查找并插入数据的时间复杂度为 O(n)。
√
知识梳理
题型考法
例5 内存数据库提升数据的处理性能不包括以下哪个方面 ( )
A.采用改进后的数据结构来组织、存储数据
B.对数据进行最大程度的压缩
C.减少对磁盘的访问
D.对数据进行分级处理
B
例 5 B 内存数据库主要通过减少对磁盘的访问、对数据进行分级存储、采用改进后的数据结构来组织存储数据三个方面来提升数据的处理性能。
√
知识梳理
题型考法
例 6 有如图所示的链表,请回答下列问题:
(1)若要在链表中插入数据元素 11,则数据比较的次数是 。
(2)请设置一批关键节点作为二级索引。
4
(1)插入数据元素 11,先在一级索引比较 4、10、18,再在原链表中比较15,得到数据的插入位置在 10 与 15 之间。 (2)略。
知识梳理
题型考法
考向 三 POI 数据
例 7 下列关于 POI 数据的说法,不正确的是( )
A.在电子地图上 POI数据通常用气泡图标来表示
B.POI的数量可以反映一个地理信息系统的价值
C.共享单车产生 POI 数据,可以为公交线路的设置提供科学依据
D.POI一般用 Access 等小型数据库来进行存储
D
例 7 D POI数据量大,其组织、管理和操作有别于传统数据结构所体现的数据之间的逻辑关系,不会采用 Access等小型数据库来进行存储。
√
知识梳理
题型考法
例 8 下列不属于衡量 POI 数据价值的指标是( )
A.空间位置的覆盖率
B.空间位置的数量
C.空间位置的准确性
D.空间位置的面积大小
D
例 8 D 衡量 POI 数据价值的指标有:空间位置的准确性和覆盖率、空间位置的数量。
√
知识梳理
题型考法
例 9 POI数据的索引构建,主要是为了优化( )
A.数据更新速度
B.数据存储空间
C.数据读取效率
D.数据备份过程
C
例 9 C POI 数据的索引构建主要是为了优化数据读取效率,通过索引可以迅速定位到所需数据,减少查询时间。
√
知识梳理
题型考法
例 10 打开地图软件,显示如图 a 所示的地理信息。
知识梳理
题型考法
请回答下列问题:
(1)请写出图中三个 POI 数据: 、 、 。
(2)将图 a 中的 C 商场部分放大得到图 b,利用的算法是 。
(3)若将图中的 POI 数据以表结构的数据存储,则不包含的存储元素是 (单选)。
A.POI名称
B.浏览者信息
C.POI位置
D.唯一标识号
小区
例 10 (1)小区 商场 街道 学校(任填三个)(2)GeoHash(3)B
(1)在电子地图中的 POI 数据,可以描述空间实体或者区域的空间位置、名称地址等信息。 (2)GeoHash 算法能够把一个二维的信息转化为一维的数据加以存储,用类似四叉树的方法来寻找一个点,对经度和维度不断地进行二分。 (3)POI数据不包含浏览者信息,只包含数据本身相关的信息。
商场
街道
GeoHash
B
知识梳理
题型考法
THANK YOU
$$