ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Vertica系列: Vertica 数仓简单介绍

2020-12-22 16:59:28  阅读:365  来源: 互联网

标签:数仓 存储 系列 projection 压缩 Vertica 数据 Projection


从多个博主那里简单学习一下下,复制粘贴的文字,粗略了解
1、简介
Vertica是一款基于列存储的MPP(massively parallel processing)架构的数据库。它可以支持存放多至PB(Petabyte)级别的结构化数据。
是由关系数据库大师Michael Stonebraker(2014 年图灵奖获得者)所创建,于2011年被惠普收购并成为其核心大数据平台软件
Vertica 采用无共享的MPP 架构,基于工业标准的x86 服务器,拥有高可扩展性。
Vertica 集群中的所有节点100%对等,集群中没有主节点或其他共享资源。通过增加节点,就可以线性地扩展集群的计算能力和数据处理容量。

2、特性
1)列式存储

vertica以列格式存储数据, 以便在查 询时获得最佳性能。相比基于行的存储, 列存储可减少磁盘I/O, 非常适合读取 密集型工作负载

SELECT avg(price)FROM tickstore WHERE symbol ='AAPL' and date ='5/31/13';

对于此示例查询,列存储只读取三列,而行存储读取所有列:
在这里插入图片描述

2)高级压缩

压缩会将数据转换为紧凑的格式。 Vertica 使用多种不同的压缩方法, 并 且可以根据要压缩的数据自动选择最 佳方法

3)高可用

  Vertica 使用类似RAID 的功能为数据库 提供高可用性。

4)自动数据库设计

  Vertica数据库参数几乎无需二次配置

5)海量并行处理

   支持海量的事务并行分析处理

6)应用程序集成
集成了DBD分析引擎、Vertica MC控制 管理平台、Vertica WLM资源控制、 scheduler任务计划对接kafka等

3、vertica组件介绍
wos:将未经压缩或建立索引的数据存储在内存中。

ros:将数据存储在磁盘上;这些数据会经过分段,排序,压缩,以便提高优化水平

tuple mover

moveout ‐ 将数据从WOS 复制到Tuple Mover, 然后再复制到ROS; 数据在列式文件中会经过排序、编码和压缩

mergeout ‐ 将若干较小的ROS 容器组合成一个较大的容器, 以 便减少碎片

4、Projection简介
Projection是Vertica 存储数据的方式 – 由一个或多个表中的列集组成

由Vertica 自动维护 – 不进行夜间Projection重建

每个Projection存储单独的数据副本 – 编码和压缩最大程度地降低存储需求

5、vertica对象层次化:

1 、Projection类型

(1)超级Projection (Super projection) – 包含一个逻辑表的所有列的Projection
(2)特定于查询的Projection (Query-specific projection) – 针对特定查询或一类查询优化 – 可以包括列子集
(3)预联接Projection (Pre-Join projection) – 存储一个事实表与一个或多个维度表之间的联接结果
(4)分支Projection (Buddy projection) – 具有相同列和分段的Projection位于不同的节点上,可提供高可用性(HA)

2、如何创建projection
(1)首次将数据加载到表中时自动创建 – 未经优化的超级Projection (Super projection)
(2)使用Database Designer 自动创建 – 经优化的超级Projection (Super projection) – 可能是特定于查询的Projection (Query-specific projection)
(3)在vsql语句中使用CREATE PROJECTION 语法手动创建

3、编码/压缩与排序
(1)每个列始终经过编码、压缩,或者编码并压缩。
(2)Vertica 可以直接处理编码的数据;压缩的数据则必须首先解压缩。
(3)在ORDER BY 语句中,所有Projection至少包含一个列

4、对于小型Projection,会将完整Projection复制到每个节点 – 本质上提供了此Projection的高可用性

5、对于大型Projection,将Projection数据分布在多个节点上

标签:数仓,存储,系列,projection,压缩,Vertica,数据,Projection
来源: https://blog.csdn.net/qq_38603049/article/details/111560654

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有