王强
摘要:2010年以来,随着国家经济迅速发展,我们迎来了大数据时代,大量数据也实时影响着我们的生活和工作。在此背景下,优化数据、提升查询效率显得尤为重要。该文分析了基于B-树结构的索引的实施对于数据优化的影响,旨在找到数据优化的实施策略。
关键词:大数据技术;索引;B-树结构
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)14-0004-02
Abstract:Since 2010,we ushered in the era of big data with the rapid development of the national economy, the large amount of data also affects our life and work in real time. Under this background, It is important to optimize data and query efficiency. This paper analyzes the impact of the implementation of the index based on the B- tree structure for data optimization, aiming to find the implementation strategy of data optimization.
Key words: large data technology index B-tree structure
进入大数据时代,面对现实世界中的海量数据,如何更科学有效地获取、组织、存储以及处理成为计算机技术中重要的研究领域,从早期的文件系统到后来的关系数据库系统和数据挖掘技术,再到现在的大数据处理技术,在数据管理技术上迎来了新的飞跃。
1 大数据处理与索引
大数据与传统的数据库在数据来源、数据规模、数据模式和数据思维方式等方面都存在区别。借用一个形象的比喻,如果说文件系统与关系数据库对数据的处理是 “池塘捕鱼”,那么大数据时代就是“大海捕鱼”。面对海量的数据,如何优化数据存储和提升数据处理效率成为研究的重点之一,基于B-树结构的索引是解决大数据背景下数据优化的有效途径之一。
索引能实现数据快速定位,从而加速数据访问速度,提升数据处理效率。对于拥有复杂结构的大量数据所构成的基本表而言,索引的作用和意义是非常重要的。它通过存储排序的索引关键字与表记录的物理空间位置建立映射关系,从而实现表记录的逻辑排序。
2 索引的创建与实施
本实验中海量数据的存放借助的是SQL Server数据库管理系统。SQL Server中索引的建立依赖于数据表,数据表的存储内容是由数据页面和索引页面两部分组成,索引就放在索引页面上。开始进行数据检索时,首先寻找索引文件,定位位置指针,通过它找到数据页面,然后进行读取、加载,完成检索操作。
在数据库系统层面,索引和表中数据存放在物理文件中,这些数据被分散在page的基本存储单元中,采用Balanced Tree(以下简称B-树)来组织与管理索引页和基本表的数据页。
3 B-树结构与性能分析
4 基于B-结构的优化实施
对于海量数据,首先需要建立多层结构的索引系统,即多级索引。之后建立聚集索引,即表中记录的物理顺序与索引关键字的逻辑顺序一致。
它自下而上的顺序来构建自己的B-树。数据页信息包括若干记条录,存放在所有的叶子节点中;为多个数据页建立一个最低级的索引页,所有数据页的最低级索引页成为B-树最下层的中间节点。再依次不断为低级索引页建立高一级的索引页,直至建立起最高级的索引页,在B-树中对应根节点。
再建立非聚集索引,非聚集索引具有与表数据完全分离的结构,表数据与索引分别存储在不同位置,具有完全不同的顺序。相应的B-树所有节点只保存索引页,不存放数据页信息。B-树的叶子节点存放完全独立于表记录物理顺序的索引关键字的键值,以及指向数据存储位置的指针,并不存放表的数据页,标的数据页存放在其他地方。非聚集索引通过指针来定位包含索引关键字值得物理记录行,从而建立索引关键字的逻辑顺序与实际记录的物理顺序之间的映射关系。
在实现检索某个数据项的时候,要先找到聚集索引的根节点,在根节点的索引页中,对检索数据项值与页中的索引关键值进行比较,找出小于或等于待检索数据项值得最大索引关键值,通过相应索引记录的地址指针移动到下一层的索引节点,直到找到能够精确匹配的数据页,在数据页上查找检索数据项值,直到找到与数据项值对应的记录为止。
5 总结
虽然基于B-树结构的索引的创建需要牺牲一定的存储空间,创建索引和维护索引也要耗费一定的时间,但是面对海量数据,基于B-树结构的索引的创建一方面加快了表内数据检查的速度,避免了数据查询时将数据表文件分块和全表扫描,改善了系统的性能,另一方面确保了数据记录的唯一性,加快表与表之间的连接速度,更好地实现了表的参照完整性,加快了表间的查询速度,这一切都优化了数据,提高了速度,从而更好地适应大数据背景下的数据处理。
参考文献:
[1] Sack J.SQL Server2008实战[M].金迎春,译.北京:人民邮电出版社,2010.
[2] 康会光,马海军. SQL Server2008中文版标准教程[M].北京:清华大学出版社,2009.
[3] 陶雪娇,胡晓峰,刘洋. 大数据研究综述[J].系统仿真学报,2013(8)
[4] 夏岩, 赵慧英, 贾军帅. 数据挖掘发展综述[J].通信与计算技术,2009(5).