传统关系数据库和列族数据库的区别

传统关系数据库和列族数据库的区别,第1张

列式存储(Columnar or column-based)是相对于传统关系型数据库的行式存储(Row-basedstorage)来说的。简单来说两者的区别就是如何组织表。1)行存储的写入是一次完成。如果这种写入建立在 *** 作系统的文件系统上,可以保证写入过程的成功或者失败,数据的完整性因此可以确定。

2)列存储由于需要把一行记录拆分成单列保存,写入次数明显比行存储多(意味着磁头调度次数多,而磁头调度是需要时间的,一般在1ms~10ms),再加上磁头需要在盘片上移动和定位花费的时间,实际时间消耗会更大。所以,行存储在写入上占有很大的优势。

3)还有数据修改,这实际也是一次写入过程。不同的是,数据修改是对磁盘上的记录做删除标记。行存储是在指定位置写入一次,列存储是将磁盘定位到多个列上分别写入,这个过程仍是行存储的列数倍。所以,数据修改也是以行存储占优。

挑战一:数据来源错综复杂

丰富的数据源是大数据产业发展的前提。而我国数字化的数据资源总量远远低于美欧,每年新增数据量仅为美国的7%,欧洲的12%,其中政府和制造业的数据资源积累远远落后于国外。就已有有限的数据资源来说,还存在标准化、准确性、完整性低,利用价值不高的情况,这大大降低了数据的价值

挑战二:数据挖掘分析模型建立

步入大数据时代,人们纷纷在谈论大数据,似乎这已经演化为新的潮流趋势。数据比以往任何时候都更加根植于我们生活中的每个角落。我们试图用数据去解决问题、改善福利,并且促成新的经济繁荣

挑战三:数据开放与隐私的权衡

数据应用的前提是数据开放,这已经是共识。有专业人士指出,中国人口居世界首位,但2010年中国新存储的数据为250PB,仅为日本的60%和北美的7%。目前我国一些部门和机构拥有大量数据但宁愿自己不用也不愿提供给有关部门共享,导致信息不完整或重复投资。2012年中国的数据存储量达到64EB,其中55%的数据需要一定程度的保护,然而目前只有不到一半的数据得到保护

一:传统数据库

(1)传统索引不适于海量数据    

传统行存数据库索引需要手工设定,对应用不完全透明,随场景和需求的变化需要不断调整,人工维护成本很高。并且传统索引占用存储空间很大,甚至高于数据本身,造成查询效率的下降。

(2)数据装载速度慢

因为索引需要重新创建,加载性能会变的很糟糕。分析型架构系统要解决这些个问题,必须最大限度地减少磁盘 I/O ,提升查询效率,减小人工维护成本。南大通用分析型数据库GBase8a (以下简称GBase 8a)通过列存储模式、数据压缩、智能化的索引、并行处理、并发控制、高效的查询优化器等技术,使得上述问题得到有效解决。以下各节将描述 GBase 8a 的创新架构如何实现这些目标。

二:新型数据库

新型数据库采用分布式并行计算架构,部署于X86通用服务器,满足大数据实时交易需求,成本低、扩展性高,突破了传统数据库性能瓶颈。

分布式非关系型数据库技术创新

非关系型数据库即NoSQL,抛弃了关系数据库复杂的关系 *** 作、事务处理等功能,仅提供简单的键值对(Key, Value)数据的存储与查询,换取高扩展性和高性能,满足论坛、博客、SNS、微博等互联网类应用场景下针对海量数据的简单 *** 作需求。主要技术创新为:

(1) 简单的数据 *** 作换取高效响应。NoSQL仅支持按照Key(关键字)来存储和查询Value(数据),不支持对非关键字数据列的高效查询因数据 *** 作简单、数据间一般不需要关联 *** 作,故系统可支持高并发和较快的响应速度。

(2) 多种一致性策略满足业务需求。不同于传统关系型数据库仅支持强一致性策略,NoSQL还支持弱一致性和最终一致性等多种策略,可根据应用场景进行对应配置。例如,对写入 *** 作频繁,但数据读取最新版本要求并不严格的应用,如互联网网页数据的存储和分析应用,可以采用最终一致性策略而对订购关系存储的应用,则必须用强一致性策略,保证总是读取最新版本数据


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9244425.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存