更新时间:2023-08-10 22:12
行存储方式设计思想是以事务处理为主,存储结构异常复杂。由于数据页结构和MVCC(多版本并发控制)的原因,每个数据页必须读到内存中,导致每次查询必须读取大量无用数据。这种数据存储方式造成磁盘I/O成为了限制性能的主要因素。虽然磁盘成本在不断下降,但数据传输效率并没有根本的改变。因此,在处理的数据量不大时往往影响不大,但在处理海量数据时, 性能下降问题就会突现出来。
传统数据库技术的产生不是为了分析海量数据,而是为了数据记录、事务处理(OLTP)。当数据量不断膨胀之后,用户就会产生越来越多的分析需求,而传统数据库在分析处理时,整体性能会大大降低。造成此问题的原因如下:
传统行存储导致大量无效 I/O
传统索引不适于海量数据
传统行存数据库索引需要手工设定,对应用不完全透明,随场景和需求的变化需要不断调整,人工维护成本很高。并且传统索引占用存储空间很大,甚至高于数据本身,造成查询效率的下降。
数据装载速度慢
因为索引需要重新创建,加载性能会变的很糟糕。分析型架构系统要解决这些个问题,必须最大限度地减少磁盘 I/O ,提升查询效率,减小人工维护成本。南大通用分析型数据库GBase8a (以下简称GBase 8a)通过列存储模式、数据压缩、智能化的索引、并行处理、并发控制、高效的查询优化器等技术,使得上述问题得到有效解决。以下各节将描述 GBase 8a 的创新架构如何实现这些目标。
随着云计算和大数据时代的到来,行业数据和移动互联网应用对数据交易处理的实时性和规模提出更高的要求。例如,淘宝每天千万量级交易笔数,50GB汇总结果,7亿条日志记录,1.5PB原始数据记录;FaceBook每天处理27亿次Like按钮点击,上传3亿张图片,由人工或系统自动执行的请求达到7万次,吸收逾500TB新数据。传统数据库面临前所未有的挑战:首先,数据处理需求与传统数据库平台硬件扩展的差距不断扩大,传统的数据库性能和TB级数据处理规模已不能满足海量数据的实时交易查询需求。其次,通过不断堆叠高性能盘阵获取性能提升的传统扩展方式,使得底层硬件和数据库软件采购成本不断攀升。在性能和成本的双重压力之下,数据库需要寻找突破之路。淘宝、Facebook、Google、腾讯、百度等互联网企业纷纷展开探索,面向不同应用的各种新型数据库应运而生。
三个“1/10”
把执行同样一条查询语句所需要磁盘的 I/O 降低到传统行存储数据库的1/10 以下;
在启动压缩的情况下,同样的裸数据加载到数据库后占有的磁盘空间是传统行存储数据库的 1/10 以下;
人工管理费用(安装、调试、优化、维护、扩展等)是传统行存储数据库的1/10 以下。
两个“10 倍以上”
在海量数据分析型应用中,平均综合查询性能(复杂查询、即席查询、模糊查询、分页查询、TOP-N 查询等)是传统行存储数据库的 10 倍以上;
压缩比 10 倍以上。
新型数据库采用分布式并行计算架构,部署于X86通用服务器,满足大数据实时交易需求,成本低、扩展性高,突破了传统数据库性能瓶颈。
分布式非关系型数据库技术创新
非关系型数据库即NoSQL,抛弃了关系数据库复杂的关系操作、事务处理等功能,仅提供简单的键值对(Key, Value)数据的存储与查询,换取高扩展性和高性能,满足论坛、博客、SNS、微博等互联网类应用场景下针对海量数据的简单操作需求。主要技术创新为:
(1) 简单的数据操作换取高效响应。NoSQL仅支持按照Key(关键字)来存储和查询Value(数据),不支持对非关键字数据列的高效查询;因数据操作简单、数据间一般不需要关联操作,故系统可支持高并发和较快的响应速度。
(2) 多种一致性策略满足业务需求。不同于传统关系型数据库仅支持强一致性策略,NoSQL还支持弱一致性和最终一致性等多种策略,可根据应用场景进行对应配置。例如,对写入操作频繁,但数据读取最新版本要求并不严格的应用,如互联网网页数据的存储和分析应用,可以采用最终一致性策略;而对订购关系存储的应用,则必须用强一致性策略,保证总是读取最新版本数据。
新型分析型GBase 8a 的架构设计充分满足了海量数据分析需求,是具有高效复杂统计和分析能力的列存储关系型
数据库管理系统。GBase 8a 面向分析型应用领域,以列为基本存储结构和数据运算对象,结合列数据压缩处理、并行处理、智能索引等新型数据处理技术。
·支持标准Linux内核:Cent OS,Redhat, Suse等
·支持基于x86-64的标准PC服务器
·支持本地存储(Sata, SAS, SSD etc)
·支持阵列部署(SAN,NAS)
·支持SSD,Flash存储介质作为2级I/O缓存
·支持标准SQL
·提供通用API: JDBC,ODBC,CAPI,ADO(.)NET
·自动提供粗粒度智能索引,高效过滤,膨胀小,免维护
·可支撑10TB级别的结构化数据
·数据加载速度可达到200GB/小时
·提供MVCC支持,读写不阻塞,并发能力大于300个用户
·高性能
列存储在大大减少了I/O的同时,显著的提高查询性能;
智能索引大幅提高查询性能;
非常快的数据加载(单表高达 200GB/小时 的加载速度);
高效的并行 SQL 执行方法,支持 Hash Join、Merge Join和NL Join;
数据库可扩展性非常高。
·高性价比
市场领先的数据压缩(从1:5到1:20以上),显著减少存储开销;
减少服务器的数量,显著减少数据仓库运营成本。
·高可用性
没有物化视图的要求,不要求复杂的数据分区或索引;
易于实施和管理,只需要传统数据库 1/10 的管理;
与主要商业智能工具兼容,如 Cognos、Business Objects、Pentaho、JasperSoft、SPSS;
支持市场上主流64位操作系统。