、Vertica WLM资源控制、scheduler任务计划对接kafka等如Teradata(NCR来自美国)一样,在真正使用它之前,是不知道有它的存在的

Vertica(HP来自美国)是我所处的数据仓库环境用来替换原有的Teradata(主仓)和DB2(集市)通过招标引进的,正如我前面文章所述,这类产品为了打入中国市场,特别三大运营商的市场,在不知道其产品力如何的情况下,几乎都是靠降低成本取胜,好在其产品力确实不错,后期的使用中也较为顺利和稳定,下面简单来介绍介绍。

当下我所在的数仓环境使用的是Vertica enterprise Mode(Vertica Eon Mode存储计算分离架构),后面介绍都基于enterprise Mode展开,后续会有文章介绍Vertica Eon Mode。

1.无Maste MPP

Vertica数据库属于无Master的MPP架构,所有节点均可访问使用,当然其也提供了负载均衡,以保障节点的合理使用

MPP并行计算

2.列式存储

Vertica为列式存储,加上高压缩性能,IO能力不再是OLAP场景的瓶颈。自然列式存储成为了现在数仓的首选

在Vertica日常使用中,内存的爆满溢出倒是成为了首当其冲的问题

3.高可用性

Vertica 使用类似RAID 的功能为数据库提供高可用性。在Vertica的术语中叫KSAFE安全性,其实现确如RAID

KSAFE 1≈RAID 1,即一份数据落实到数据库会按照两副本的形式存放,在最简单的场景中节点1与节点2映射,节点2与节点3映射,依次类推呈现环装

节点1故障,仍能满足数据库对于数据完整性的需求,股数据库仍能有效运转(ksafe 0相关操作无法实施)

在如此映射关系中,只要保证相邻节点不同时出现故障,数据库仍能有效运转(ksafe 0相关操作无法实施)

如果出现映射节点同时故障,那数据库便无法有效运转,停止提供访问了

当然,在实际环境中,我们会根据物理机架的规则,构建fault group,构建更为复杂的节点映射关系,防止因机架断电导致数据库无法使用的情况,尽可能提高数据库集群的高可用。

4.可扩展性

这里没用高可扩展性的说法,是因Vertica Enterprise Mode架构的扩展效率局限性较大,扩展的过程实施较为方便,但Rebalance操作却较为费时费力,Vertica Enterprise Mode架构下只有扩充现有节点的倍数才能提升扩展效率,反之数据Rebalance将十分耗时,对于数仓环境(数据量较大)确实不太友好。

按2倍扩展,性能最佳

只扩充1个节点最不合算

在Vertica Eon Mode中就不存在这个顾虑了,因为数据存放在共享存储中,数据Rebalance靠共享存储实现,与Vertica无关

5.自动数据库设计

Vertica在这一块做的确实很好,数据库环境部署完成后,近乎不需要再调整任何数据库参数(只有负载均衡、连接上限等需要根据实际环境定义)便可充分利用服务器的资源

6.较完善的应用集成

Vertica集成了DBD分析引擎(实际场景这块用的不多)

Vertica MC控制管理平台Vertica MC

Vertica资源池配置WLM资源池配置WLM

Vertica scheduler调度microbatch消费kafkascheduler调度microbatch

7.Vertica特别组件

这里就不特别写文字了,偷懒拿了张给项目组培训的ppt贴一下了

Vertica数据导入

•AUTO :Initially loads data into WOS, suitable for smaller bulk loads.

•DIRECT:Loads data directly into ROS containers, suitable for large (>100 MB) bulk loads.

•TRICKLE:Loads data only into WOS, suitable for frequent incremental loads.

后续的版本中Vertica在慢慢弱化WOS的存在

8.Vertica projection

Vertica数据库与其他RDBMS不一样,数据库的物理层对象为projection(其他RDBMS为table),且Vertica projection均是有序存放(规范建表必须显示指明order by否则默认取前30列升序入库)

9.Hash Joins Versus Merge Joins

•Merge join is used when projections of the joined tables are sorted on the join columns. Merge joins are faster and uses less memory than hash joins.

•Hash join is used when projections of the joined tables are not already sorted on the join columns. In this case, the optimizer builds an in-memory hash table on the inner table's join column. The optimizer then scans the outer table for matches to the hash table, and joins data from the two tables accordingly. The cost of performing a hash join is low if the entire hash table can fit in memory. Cost rises significantly if the hash table must be written to disk.

Vertica的数据有序存放,故而在大多数情况下我们希望执行计划能走MERGE JOIN,减少对内存的消耗,特别在数仓环境大量表项数据量较大,在HASH JOIN中HASH MAP消耗大量内存资源,影响可想而知

10.数据分布

在MPP架构环境中,数据分布的合理性是老生常谈,Vertica同其他MPP关系型数据库一致,需要模型设计人员指定数据分布键,分布键的合理选择能尽可能保障数据的均匀分布,降低数据倾斜,提升读写效率(数据倾斜是MPP的常见的短板)

对常用的维表采用:全节点复制

其他事实表采用:分段存放

关于Vertica的相关介绍这里就先告一段落了,后续有其他考虑的地方再做补充分享,表述不当之处还望批评指正

vertica MySQL_Vertica数据库简介相关推荐

  1. vertica MySQL_Vertica数据库操作

    删除主键(Vertica数据库的主键值并非唯一的): SELECT ANALYZE_CONSTRAINTS('fb_s.c_log'); 找到key名,再: ALTER TABLE fb_s.c_lo ...

  2. vertica MySQL_vertica 数据库常用命令

    查看所有表名 SELECT table_schema, table_name, create_time FROM tables; 修改表名 ALTER TABLE test1 RENAME TO ta ...

  3. vertica MySQL_Vertica数据库 安装 | 学步园

    安装Vertica数据库 . 下载地址:http://my.vertica.com/ 1. 安装Vertica rpm包 2. 创建Vertica用户并设置密码 # useradd dbadmin - ...

  4. NCBI中SRA数据库简介

    NCBI中SRA数据库简介 SRA数据库简介 SRA 数据库, 为Sequence Read Archive 的缩写.主要存储高通量测序的数据,来自四个测序平台,分别为: Roche_LS454,Il ...

  5. php mysql数据库简介,mysql数据库

    数据库简介 什么是数据库 保存和管理数据的仓库,数据库 什么是数据 文件,图片,视频,订单,用户名,密码等等.这些数据都需要有专门的地方来保存和管理 数据库的分类 关系型:mysql ... 非关系型 ...

  6. 【Redis6快速深入学习01】NoSQL数据库简介

    文章目录 1 NoSQL数据库简介 1.1 技术发展 1.2 NoSQL数据库 1.3 行式存储数据库(大数据时代) 1.4 图关系型数据库 1 NoSQL数据库简介 1.1 技术发展 技术的分类 解 ...

  7. [Redis6]NoSQL数据库简介_特点

    NoSQL数据库简介 NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",泛指非关系型的数据库. NoSQL 不依赖业务逻辑方式存储,而以简单的key ...

  8. 1、oracle数据库简介

    1.ORACLE数据库简介 数据库指的是存储和管理数据的仓库,是一种文件集合(包括数据文件.临时文件.日志文件和控制文件),我们一般所说的数据库指的是数据库管理系统,一种用于操作数据库的软件,简称DB ...

  9. mysql数据库基础简介_MySql数据库基础之数据库简介及安装

    MySql数据库简介: 众所周知,MySql数据库是一款开源的关系型数据库,在Web应用方面,MySql是最好的.最流行的RDBMS(Relational Database Management Sy ...

最新文章

  1. JAVA抽象类为什么可以有构造_抽象类为什么可以有构造函数?- Constructor of an abstract class in C#(转载)...
  2. P3166-[CQOI2014]数三角形【GCD】
  3. java线程池返回线程状态_Java线程的不同状态
  4. 解决StreamReader读取中文出现乱码的问题
  5. java整理软件--- Java OCR 图像智能字符识别技术,可识别中文,但是验证码不可以识别...已测识别中文效果很好
  6. 那些不能遗忘的知识点回顾——C/C++系列(笔试面试高频题)
  7. linux 重启21端口命令,修改SSH默认远程端口为21号端口
  8. centos 7 开放指定端口
  9. Arduion 底层原理之 Uart函数 串口收发 串口协议解析
  10. 三大运营商布局金融的套路不同,还能否搭上移动支付的快车?
  11. Houdini图文笔记:Could not create OpenCL device of type (HOUDINI_OCL_DEVICETYPE)问题的解决
  12. 服务器性能管理系统,服务器系统性能管理是什么
  13. GPU Profiling 101
  14. 前端css 清除浮动的几种方式
  15. 李清照词全集,共49首,有百家评说,附 txt 文本下载,就在本帖的附件中。
  16. 企业级日志平台新秀!比 ELK 更轻量、高效
  17. #千峰逆战,205#面向对象2.0
  18. [Unity3d]如何制作unity能使用的RGBA材质贴图
  19. 手机便签怎么标记完成?能标记完成的手机便签app推荐
  20. 浅谈计算机实用教学工具应用的体会,浅谈计算机常用工具软件教学心得.doc

热门文章

  1. 用java编写球体的体积,编写一个程序,提示用户输入球体的半径并打印其体积...
  2. JS判断当前页面是在 QQ客户端/微信客户端/iOS浏览器/Android浏览器/PC客户端
  3. 使用validate注解做校验以及自定义validate注解
  4. bubbles html5游戏源码,html5 canvas弹性气泡爆破 | 撒花动画
  5. 1. 不吹不擂,第一篇就能提升你对Bean Validation数据校验的认知
  6. 嵌入式开发需要学mysql吗_学习嵌入式开发需要学习哪些课程?如何学习?
  7. Proteus和Keil两个软件的联合使用
  8. ICANN认证注册商小全 英、德、法
  9. java 运行一个程序的全部过程
  10. Movavi Video Editor 15 Plus for mac(视频编辑软件)