前言
我们已经进入大数据实时分析时代。
今天聊聊一种列式数据库,基于 MPP 和真正列式数据库技术,创建了面向大数据实时分析的全新架构:Vertica
1、传统分析系统面临巨大挑战
随着大数据时代的到来,目前传统的行式数据库面临巨大的挑战:
- 随着数据量的爆发式增长,加重 I/O 瓶颈的问题,已经达到了 I/O 瓶颈
- 分析查询性能差,查询时间以天为单位
- 数据分析浮于表面,无法满足深度挖掘分析需求
- 数据量的暴涨使得批处理时间越来越长,甚至无法完成,无法满足时效性要求
传统分析系统面临巨大挑战,究其根源,在于传统分析系统的架构过于陈旧,跟不上时代的发展。
2、Vertica 介绍
Vertica
是驱动全球许多数据驱动型企业的背后核心支持。
它的本质是高性能的统一分析平台。Vertica 广泛服务于全球各行各业高要求的旗舰级客户——从飞利浦到 The Trade Desk、Uber 以及许多其他公司,为它们提供高性能数据存储及分析服务,并能够轻松地将这些强大的功能运用至最大规模和最苛刻的分析工作上来。
得益于 Vertica
,众多企业及其客户能够比市场上任何分析数据平台都更快地获得预测性的业务洞察。
关系数据库大师 Michael Stonebraker
(2014 年图灵奖获得者) 基于自己多年的关系数据库经验,满足大数据实时分析的要求,基于全新的无共享大规模并行架构(MPP)和真正列式数据库技术,创建了 Vertica
这个面向大数据实时分析的分析平台。
- 采用无共享 MPP 架构
- 基于标准 x86 服务器
- 列式存储,高性能,极大降低 I/O
- 高可用,高压缩率
- 可扩展性强,节点无限制
- 高安全性
- 高兼容性
- 机器学习和高级分析
与传统的解决方案相比,Vertica 可以以 30%
的成本,实现 50 倍-1000 倍
的性能提高。
3、Vertica 优势
作为全新架构的实时分析平台,Veritca 有很多的创新,最为突出特点:
- 列式粗存储和计算
- 无共享大规模并行处理(MPP)
- 分钟级故障节点修复、弹性扩展和高并发弹性负载
- 实时分析
- 完整的关系数据库功能和SQL标准支持
- 自动实现高可用性
- 自动优化和性能管理
- 高性能并行计算的基于库内机器学习的预测分析和高级分析
- 基础设施透明的开放统一分析平台
Veritca
具有强大的功能,可迅速、可靠地管理大量数据,为您提供实时的业务智能以进行先进的大数据分析,从而将您的所有数据转变为效益。
4、Vertica 技术
Vertica 采用高性能的列式存储和计算技术,支持主动数据压缩,支持准实时分析,自带丰富的高级分析 机器学习预测分析功能,具有弹性扩展以及自定义外部扩展等先进特性,是支撑大数据实时分析的理想平台。
延迟物化
:节省 I/O 消耗延迟解压缩
:节省 CPU 开销主动压缩
:12种压缩算法,压缩比可达 10:1在线群集扩展
:在线一键加入删除节点,自动完成数据重分布K级容错系数(K-safety)
:自动维护 K 1 个副本,容忍任意 K 个节点故障可选热备节点
:当有节点发生故障无法修复,热备节点自动接管故障节点容错组和机构感知
:避免机柜掉电等大规模硬件故障对整个集群可用性的伤害,集群规模超过 120 个节点,自动启用容错组读优化存储(ROS)
:数据按列式存储在磁盘中写优化存储(WOS)
:为实时装载的数据在内存中开辟一块存储区域,通过内存快速读写能力提升数据实时装载能力,实现 7*24 不间断实时数据加载直接装载 kafka
:kafka 分布式消息系统实时装载海量数据流,以支持秒级实时分析实时聚合计算
:在数据装载的同时,自动完成当前加载批数据的分组和 Top-k 排名等,后台服务自动完成小批量聚合数据合并扁平表
:在表中增加包含通过外键从其他维度表关联获取缺省值的列,自动完成宽表实时转换,大幅提升性能和并发吞吐能力分级存储
:可以为不同的 Schema 、表等对象、以及表分区指定不同的存储策略,指定不同的存储位置自动层次分区
:热数据采用细粒度分区,自动提高不常用数据的分区粒度,自动化简化分区管理, 避免了繁琐的手工合并历史分区工作,减轻运维负担多租户分钟级快速部署
:同时支持纵向和横向多租户隔离自动优化设计
:内置包含专家知识的数据库优化设计器,提供负载分析器来收集数据库运行负载数据,随时提供自动化建议,从而大大降低 DBA 管理的成本备份、恢复和集群复制
:提供全面和高性能的备份和恢复功能,速度取决于磁盘和网络 I/O 能力Apache Hadoop、 Amazon S3集成和数据湖
:充分利用数据湖中的海量数据进行就地快速分析和预测,全面发掘所有数据资产的价值SQL on Hadoop
:可以作为 SQL 引擎直接部署到 Hadoop 平台上 ,与 Hadoop 生态无缝集成Spark集成
:原生提供 Spark 连接器,支持 Spark 的 RDD 和 DataFrame 存取数据库的表数据机器学习和高级分析的预测分析
:强调将分析算法置与数据库中,采用库内机器学习方法,将模型放到数据所在的地方运行,而不是将数据传输到开发模型的单独平台基础设施透明的统一分析平台
:采用单一产品、相同的代码库,支持不同的部署选项
Vertica 的列式存储和计算技术,通过针对列数据特点的主动压缩技术和延迟物化、延迟解压,节省了近 2 个量级 CPU 和 I/O 资源消耗,分析查询性能比传统行式数据库快 50 到1000 倍。同时,CPU 和 I/O 资源的大幅节约,也大幅提升了数据装载、数据导出、数据处理和备份恢复等操作的性能。
只要集群中故障的节点数目不超过集群的总数目的一半, Vertica 集群的仍然是可用的。
Vertica 响应查询请求时,会同时从 ROS 和 WOS 中查询,合并结果后返回客户端。在系统不繁忙时,Vertica 有一个后台异步任务( Tuple Mover )会把 WOS 区的数据批量地写到 ROS 中。
5、Vertica 应用市场
Vertica业务发展迅速,业务遍及金融、电信、消费市场、在线网站和游戏、医疗和零售等多个行业,目前已有包括 Tweeter、Zynga、 Uber、 AT&T、 Bank of America、 Guess Inc., Verizon, Capital IQ 等在内的 2000 多个全球客户。
随着互联网、移动互联网、物联网和各种智能终端、穿戴设备的大发展,各种数据无时不刻地生成,新数据的产生成大爆炸趋势;法规要求必须保留更长时间的历史数据,以便更多的历史数据中更有效地分析各种业务变化的历史趋势,为未来业务发展提供科学依据;企业需要对原始数据进行深入分析和挖掘,以便即时改进业务决策。