数据库大数据量存储结构研究

来源 :无线互联科技 | 被引量 : 0次 | 上传用户:tanshug
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:随着大数据云计算技术逐步成为数字经济的基础设施,规模化、业务化、智能化的海量数据的存储在面对快速变化的业务需求和多元化的查询需求时,越來越不能灵活地根据业务需求进行快速的迭代更新,对多元化查询需求的快速响应和容错变得越来越困难。传统的关系型数据库支持ACID,对成熟的业务系统有着良好的支持,一旦核心的业务出错可以立即回滚;互联网的业务追求拥抱变化,追求快速响应和迭代以及结果的最终一致和容错性。在此背景下,文章提出一种新的多元且灵活的数据库大数据量的存储结构,其支持国内外绝大多数主流的数据计算引擎,在索引和多元化查询方面的表现也更加优异,可以更好地容错和快速迭代更新。
  关键词:关系型数据库;多元查询;存储结构
  0    引言
  关系型数据库凭借其优秀的行列二维表的关系数据模型,在互联网和工业领域被广泛地使用,主流的关系型数据库是Oracle,MySQL等,它们在业务成熟且流程固定的场景下,存储和应用非常标准和规范化。
  通用的SQL语言可以支持很多复杂场景下的业务需求,关系代数为了维护ACID的强一致性,其必须预先定义固定二维表,缺乏灵活性和容错性,近年来NoSQL类的数据库应运而生,在高并发读写和降低硬盘I/O方面有了很大的速度优势,容易扩展。本文在对比研究了关系型和NoSQL数据库的数据存储结构后,提出一种新的多元且灵活的大数据量的存储结构,其支持大数据生态的各种主流的开源数据计算引擎,能够快速迭代,在索引和多元化查询方面也有着不错的表现。
  1    关系型数据库数据存储结构
  1.1  B-Tree
  B-Tree是一种多路搜索树的数据结构,它由树的简单结构演变而来,将左右子树分为多叉的树形结构,数据在每个节点都存在但不存储数据的副本,搜索性能和二叉查找树的级别相当,但整个树的高度比二叉的平衡查找树低,从而避免了磁盘的多次读取,适用于存储和搜索数据。关系型数据库通常使用B-Tree的结构作为非聚簇索引的底层数据结构,先查到聚簇索引的主键值,然后通过聚簇索引的主键值查找到真正行的详细数据。
  1.2  B+Tree
  B+Tree[1]也是一种多路搜索树,它是由B-Tree的数据结构演变而来,把所有的数据放到了叶子节点,叶子节点之间加入了一个个指针指向下一个叶子的地址,在做范围数据查找时具有优势。关系型数据库通常使用B+Tree的结构作为聚簇索引的底层数据结构,尽量将主键存储在B+Tree的非叶子节点中,如果其中的某个查询在业务场景中使用得很频繁,可以考虑遵循最左的子树的索引覆盖的原则将多个字段作为联合索引优化查询的性能。
  2    NoSQL数据库数据存储结构
  2.1  KeyValue存储
  数据的存取都直接通过定义好的Key。在不需要实物支持和固定模式的情况下,注重对大数据读写性能的提升,目前主要的KV数据库有Memcached,Redis等。Memcached支持多种语言并保证分布的均匀性,Redis是将所有的KV都存于内存,速度很快,值的类型也比其他数据库的类型丰富。此类KV数据库适用于消息队列、实时系统和高频读低频写的场景。
  2.2  列存储
  查询密集型的OLAP[2]场景下,对表的数据一般是取某几列的数据,对数据表的读取按行读非常消耗性能,因为并不需要行中的所有数据,一般是按列去存储数据。列存储可以对相同数据类型的数据进行压缩但在增加、删除、修改数据频繁的OLTP场景下不太适用。传统RDBMS应对复杂关系运算、关系挖掘能力有限,列存储让服务器具备横向扩展的能力,在批处理下可以显著地减少CPU的使用率。
  2.3  JSON存储
  JSON直观简单不依赖于位置,目前主流的JSON类数据库是MongoDB和SequoiaDB。前者面向集合的设计理念能够做到灵活的模式;后者使用交互式的JSON格式定义。JSON类型的存储带来的灵活性得益于其直观简单的数据格式。
  3    多元灵活的存储结构
  结构化的数据最为常见,格式固定,支持高吞吐写入以及大规模存储,想要多元灵活的大数据结构化的存储,采用集中式的存储模式,作为业务数据库的大宽表,离线批量计算的流入和流出需要支持到PB级别。固定的组合查询许多的维度表会经常发生变化,大宽表机制不能完全解决问题,因此使用MPP的方式对单个查询进行同步,限制数据量,以避免非常昂贵的、没有意义的计算。查询进入MPP时,采用MurmurHash算法,算出一个值作为指纹值。Meta信息中,存储该指纹值和行数。通过定期执行任务,去同步该查询数据,同入MPP一样,遍历每行每列,算出新的指纹值。如果指纹值不变,则结束;反之,将该查询重新入库,记住新的指纹值,在新数据入MPP库的时候不重复计算,以得到最好的性能,从而支持多元灵活的大数据结构化的存储。无法结构化的数据,例如图片、文件、视频一般使用HDFS[2]存储,沿用成熟的HDFS方式采用面向资源的分布式系统架构设计,所有组件都可扩展,避免因单点失效的故障问题。将非结构化数据以文件的方式存储在文件系统中,同时将指向文件路径存储在数据库表中,这种方式数据读写的速度较快。
  4    结语
  本文研究了多种业内主流的传统关系型数据库和NoSQL的存储结构,在面对快速变化的业务需求和多元化的查询需求时,提出一种多元且灵活的数据库大数据量的存储结构,在索引和多元化查询方面的表现更加优异,可以更好地容错和快速迭代更新。但还存在一些不足,该存储结构数据派生能力弱不能做到数据写入主存储后会由主存储再向辅存储进行同步、运维复杂核心依赖是Zookeeper和HDFS,需要经验丰富的专业团队运维管理和热点处理能力差无法保证数据访问的热度均匀,这些是以后工作的方向和重点。
  [参考文献]
  [1]WANG C,BRIHADISWARAN G,JIANG X,et al.Circ-Tree: A B+-Tree variant with circular design for persistent memory[J].IEEE Transactions on Computers,2021(99):1.
  [2]SOUNTHARRAJAN S,RAJAN C,SANKARANANTH S,et al.HDFS-based parallel and scalable pattern mining using clouds for incremental data[J].International Journal of Computer Aided Engineering and Technology,2020(1/2):28.
  (编辑 王雪芬)
其他文献
摘 要:虚拟仿真技术在实际的“机械拆装”教学过程当中,会涉及很多具体的操作流程,通过虚拟仿真技术应用可以实现对车床工作原理和零部件构造以及流程拆卸整个过程的诠释。鉴于此,文章主要研究了虚拟仿真技术在“机械拆装”教学过程当的运用。  关键词:虚拟仿真技术;机械教学;“机械拆装”;教学运用  0 引言  机械拆装的目的是提高学生实践动手能力,实现对理论知识与实践操作的良好结合,以发挥学生的分析和解决
摘 要:随着人们生活水平的不断提高,观看电影成了许多人娱乐生活中必不可少的部分。与此同时,影视技术也逐渐朝着高新化的方向发展,3D电影已经逐渐为人们所熟知,4D电影作为一种更具生动性和形象性的影视技术,被应用于电影当中。文章简要分析了自动化技术在4D电影中的应用,从4D电影的系统构成形式入手,探讨自动化技术在这一领域中的应用路径,希望能够为促进电影领域的更好、更优发展提供借鉴。  关键词:自动化技
摘 要:人工智能,是现代科学技术发展的前沿技术,对现代社会的健康发展起到一定的促进作用。文章以人工智能在计算及网络技术的应用为主要研究对象,针对人工智能的主要应用价值进行多元化、多层次、多维度的技术分析与理论探讨,结合笔者多年从事人工智能领域的科研经验,以计算机网络技术领域为核心,进行大量应用成效的具体阐述。  关键词:人工智能;计算机网络;网络安全  0 引言  随着人工智能技术的创新和发展,
摘 要:对于“信息技术”课程来说,分层分类教学法能够解决其中存在的诸多问题,帮助教师减轻工作量以及统一教学效果的考核标准,确保分班教学的质量。文章将结合教学经验,针对分层教学法进行分析讨论,希望能够为相关的教育工作者提供借鉴。  关键词:分层分类教学法;“信息技术”;课程方案;具体应用  0 引言  分层分类教学法近年来之所以引起了教育界的重点关注,主要原因就在于目前学生在通过义务教育的基础模式
摘 要:在线练习是在线教育的必备一环,但从传统线下教育转到线上教育时需要将往年积累的海量习题导入在线教育配套的数据库中。这一过程会消耗大量的人力、财力,出现效率低、出错率等一系列问题。针对这些问题,文章提出一种基于神经网络的实现模型。  关键词:题目解析;在线教育;TensorFlow;神经网络  0 引言  该研究目标是改变人力制题导题,实现全自动化解析处理。目前,市场上人力导题的普遍方法是,
摘 要:文章阐述在“金课”视角下,针对机电类专业学生在“单片机”课程教学中存在的问题,根据人才培养目标,以学生为中心,确定教学方法,进行教学改革的实践。将知识点融入具体的案例和任务中,做到少教多学、先学后教、以学定教、以学评教,使学生在完成案例任务的同时掌握相对抽象的知识;注重反馈环节,完善评价机制,达到锻炼学生的工程实践能力和培养学生创新能力的目的。  关键词:教学改革;反馈环节;工程实践;评价
摘 要:当今社会,计算机网络技术发展迅速,各行各业都在向网络化、信息化推进,这些都依托于大数据平台的支撑,有了大数据的环境,很多原来实现不了的功能,能够在很短的时间内得以解决,也改善了人们的生活。如何利用大数据有效地改善教学也是一个热门课题,基于此,针对大数据环境下“计算机组装与维护”课程的教学改革研究,文章做了简单的分析。  关键词:大数据环境;“计算机组装与维护”;教学改革  0 引言  目前
摘 要:作为国内权威的计算机考试,全国计算机等级考试受到企业的普遍认可。一张优秀的等级证书,是计算机知识扎实的证明,更是应聘成功的重要筹码。文章着重探讨了计算机等级考试与职业院校“计算机基础”教学的关系,并探索了如何改革职业院校“计算机基础”教学以提高学生的实践能力,提高计算机等级考试的通过率。  关键词:计算机等级考试;“计算机基础”;改革;实践能力  0 引言  计算机水平测试可以衡量一个学
摘 要:在信息化的环境背景下,在线开放课程对于高效地培养人才具有重要的意义。职业院校针对学生实行在线开放课程,结合对满意度的现状分析,促进了课程的开发。结合在线开发课程资源,以教学目标为中心,加强教学活动的设置和呈现形式,文章采用在线学习和课堂教学的融合教学方式,让线上和线下高度结合,从而加强学习效果和提升教学质量。  关键词:信息化;在线课程;开放课程;课程设计;实施策略  0 引言  “互联
开放教育毕业生图像是否符合要求,直接关系到学生能否进行毕业申请。文章对Fireworks工具在南京开放大学开放教育毕业生图像处理工作中的应用作了一些探讨。掌握Fireworks图像处理技术的基本功能,可以快速方便地对开放教育毕业生图像进行处理,从而提高开放教育毕业管理工作效率。