2024年4月16日发(作者:)
1 概述
随着海量数据问题的出现,海量管理能力,多类型,变化快,高可用性,低成本,高端可扩展性
等需求给企业数据战略带来了巨大的挑战。企业数据仓库、数据中心的技术选型变得尤其重要!所以
在选型之前,有必要对目前市场上各种大数据量的解决方案进行分析。
2 主流分布式并行处理数据库产品介绍
2.1 Greenplum
2.1.1 基础架构
Greenplum是基于Hadoop的一款分布式数据库产品,在处理海量数据方面相比传统数据库有着
较大的优势。
Greenplum整体架构如下图:
SQL
MapReduc
SQL
MapReduc
...
...
Master
Severs
查询解析、优化、分发
Network Interconnect
...
Segment
Severs
查询处理、数
据存储
External
Sources
数据加载
... ...
数据库由Master Severs和Segment Severs通过Interconnect互联组成。
Master主机负责:建立与客户端的连接和管理;SQL的解析并形成执行计划;执行计划向Segment
的分发收集Segment的执行结果;Master不存储业务数据,只存储数据字典。
Segment主机负责:业务数据的存储和存取;用户查询SQL的执行。
2.1.2 主要特性
Greenplum整体有如下技术特点:
Shared-nothing架构
海量数据库采用最易于扩展的Shared-nothing架构,每个节点都有自己的操作系统、数据库、硬
件资源,节点之间通过网络来通信。
基于gNet Software Interconnect
数据库的内部通信通过基于超级计算的“软件Switch”内部连接层,基于通用的gNet (GigE,
10GigE) NICs/switches在节点间传递消息和数据,采用高扩展协议,支持扩展到1000个以上节点。
并行加载技术
利用并行数据流引擎,数据加载完全并行,加载数据可达到4。5T/小时(理想配置)。并且可以
直接通过SQL语句对外部表进行操作
支持行、列压缩存储技术
海量数据库支持ZLIB和QUICKLZ方式的压缩,压缩比可到10:1。压缩数据不一定会带来性
能的下降,压缩表通过利用空闲的CPU资源,而减少I/O资源占用。
海量数据库除支持主流的行存储模式外,还支持列存储模式。如果常用的查询只取表中少量字段,
则列模式效率更高,如查询需要取表中的大量字段,行模式效率更高。
海量数据库的多种压缩存储技术在提高数据存储能力的同时,也可根据不同应用需求提高查询的
效率
2.1.3 主要局限
列存储模式的使用有限制,不支持delete/update操作。
用户不可灵活控制事务的提交,用户提交的处理将被自动视作整体事务,整体提交,整体回
滚。
数据库需要额外的空间清理维护(vacuum),给数据库维护带来额外的工作量。
用户不能灵活分配或控制服务器资源。
对磁盘IO有比较高的要求。
备份机制还不完善,没有增量备份。
2.2 Vertica
2.2.1 基础架构
与以往常见的行式关系型数据库不同,Vertica 是一种基于列存储(Column-Oriented)的数据库
体系结构,这种存储机构更适合在数据仓库存储和商业智能方面发挥特长。
常见的RDBMS 都是面向行(Row-Oriented Database)存储的,在对某一列汇总计算的时候几乎
不可避免的要进行额外的I/O 寻址扫描,而面向列存储的数据库能够连续进行I/O 操作,减少了I/O
开销,从而达到数量级上的性能提升。
同时,Vertica 支持海量并行存储(MPP)架构,实现了完全无共享,因此扩展容易,可以利用
廉价的硬件来获取高的性能,具有很高的性价比。
如下图,展示的是单节点上的Vertica 的基本体系结构。


发布评论