关键词不能为空

当前您在: 主页 > 英语 >

2213Vertica实施与运维最佳实践

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-01-28 00:56
tags:

2213-定位板

2021年1月28日发(作者:bearings)


Vertica


实施与运维最佳实践



?









前言



数据分布与分区



负载均衡



性能诊断与优化



o



查找耗时最长的


query



o



分析


qu ery


的执行计划



o



使用辅助工具进行调优




Database Designer




Workload Analyzer




内置的性能评测工具




附带的


diagnostics


工具




附带的


profile< /p>


工具



o



一些优化经验



Hadoop


互访



o




had oop


加载数据



o



卸载数据到


hadoop



数据加载



一些有用的管理操作



前言



在使用


vertica


的过程中,我们会总结一些很好的经验,为了能帮助大家更好地


实施项目,我们整理了其中一些实用的方法与大家分享。



数据分布与分区



数据分布,就是按照 某一列或几列,打散数据,把数据均匀的分布在各个节点


上,我们把这样的列称为分布键 。对于大表,要记得使用。所以



分布键是主键


最好,也就是说分布键数据不重复的值越多,越适合做


hash.


分布键不要用


LONG VARBINARY and LONG VARCHAR


类型的字段。相关


语句:


SEGMENTED BY HASH(pk_col1,pk_col2) ALL NODES


对于小表,比如维表,可以选择不分布,使用


UNSEGMENTED ALL NODES


让每个节点都有一个副本。这样,大表 (事实表)与维表的


join


操作都可以在

各节点本地完成。



vertica


要求表的分区数不超过


1024


,因为一个分区就是一个文件 。一般使用


年、年月或者月这种时间跨度相对较大的做分区,不建议用日期分区。



#


带分布键和分区的建表


ddl


CREATE TABLE fact_test(


userid_ varchar(255) not null,


f2 float,


f7 float,


f12 float,


djzclx int,


xzqh int,


bbq_ int not null


) SEGMENTED BY HASH(userid_,bbq_) ALL NODES


PARTITION BY bbq_;




#


多副本的建表


ddl


CREATE TABLE dim_test (


id_ int,


caption_ varchar(255)


) UNSEGMENTED ALL NODES;



负载均衡




Vertica7


以前的版本中,


Vertica


是通过


Linux



Vir tual IP


来实现连接的负


载均衡,但是在


Vertica7x


以后,


Vertica

< p>
本身提供了连接的负载均衡功能,这


个功能用起来也是非常方便。



服务器端设置:



#


启用负载均衡



SELECT SET_LOAD_BALANCE_POLICY('ROUNDROBIN');


#


查看功能是否开启



SELECT GET_LOAD_BALANCE_POLICY();


#


禁用负载均衡



SELECT SET_LOAD_BALANCE_POLICY('NONE');


客户端设置:



#

< br>在


url


中加入


Connect ionLoadBalance


参数




#


或者在


j ava


代码中加入参数



(


测试负载均衡功能是否生效



#


每次显示的节点名会变化



select node_name, client_hostname from sessions;



性能诊断与优化



数据库的调优工作, 实际上是一个解决问题的过程,而解决问题,第一步就是


需要定位问题。找到问题的手段 多种多样,可以通过分析程序、监控生产上服


务器的性能、定期生成数据库的负载报告等 手段。这里,我们给大家分享其中


一些比较好的方法。



查找耗时最长的


query


vert ica


内置的系统视图中,有些用于监控


query

< p>


session


的运行状态。例如:

< p>
QUERY_PROFILES



query_r equests


等。我们可以通过这些视图统计出


query< /p>


的时长,次数等信息,借此找出耗时最长或者执行最频繁的


que ry


。比如


QUERY_PROFILES

视图:



#


统计最耗时的


query top10


SELECT query,count(*) as times,avg(query_duration_us)/1000000 as


avg_duration_s,sum(query_duration_us)/1000000 as total_duration_s FROM QUERY_PROFILES WHERE


query_type = 'QUERY' and query_start>='2015-02-13' group by query ORDER BY avg_duration_s


DESC limit 10;

分析


query


的执行计划



使用


profile


工具,分析具体的


sql


语句



#


假设


sql


语句是:

< br>select * from t


profile select * from t;


得到这个语句的


transcation_i d



statement_id


,然后通过查询系统表



query_ plan_profiles


获得语句实际的执行计划和各个阶段的执行时间。



#


查询这个


sql


语句的执行计划



select cast(g_time as varchar),t.* from query_plan_profiles t where


transaction_id='45893' and statement_id =1 order by path_id,path_line_index


上述结 果会将


sql


语句的每个阶段的执行耗时和执行过程呈现出来。 通过这个


结果,我们可以知道语句中的哪些操作是最影响性能的,然后针对这些问题尝< /p>


试一些优化。



使用辅助工具进行调优



vertic a


提供了一些辅助工具,能向用户提供一些优化建议,用户可参考这些建


议,实施相关优化调整。这里介绍几个比较好的工具:



Database Designer


DBD = Database Designer


,是


Vertica


数据库优化中最主要的原生工具。主要


用于帮助用户创建全面设计, 为数据库中的表创建投射,分析指定的


query


< p>
更新统计信息等。



首先运行

admintools


工具


,


按下 面步骤依次执行:



1.


2.


3.


4.


5.


6.


选择



选 择




选择需要分析的数据库




输入


dbd


的输出目录




输入


dbd


的名字,随意起




选择


dbd


的设计类型,

< p>
有两个单选项,根据实际需求选择



7.



选择需要设计的


shema(s)


8.



design]


这里有三个复选项,推荐先去掉


Deploy design

< br>,之后可以手工


应用


dbd


的建 议



9.



输 入业务常用到的


sql


查询语句,使



dbd


的分析更有针对性



10.



这里默认即可



11.



performance|Query performance(larger footprint)|Load


performance(smaller


footprin t)]


这里有三个单选项,根据实际需求选择,


一般选择第一项 ,均衡兼顾查询和加载性能



12.



执行


dbd


13.



完成之后,可根据屏幕提示执行



xxx_


脚本进行部署。



当我们需要针对


query


进行优化时,可以使 用


DBD


进行物理设计。



Workload Analyzer


WA

< br>是一个智能监控


query


性能的工具。通过分析


query


执行时的资源使用、


负载等,为用 户提供优化建议。



#table


为< /p>


query


所引用的库表



select analyze_workload('');


#


优化建议在


tuning_command




当我们需要对库表进行优化时,则可以使用


Workload Analyzer


内置的性能评测工具


硬件也是影响性能的一个重要因素,我们需要对服务器硬件的性能有清楚的了


解,以 确定是是否存在系统瓶颈。


vertica


内置了一些测试工具 用于检测硬件资


源的性能。使用如下工具启动相关的测试工具



#


每个节点都执行如下测试



/opt/vertica/bin/vioperf --


磁盘性能评估



/opt/vertica/bin/vnetperf --


网络性能评估



/opt/vertica/bin/vcpuperf --


处理器性能评估


2213-定位板


2213-定位板


2213-定位板


2213-定位板


2213-定位板


2213-定位板


2213-定位板


2213-定位板



本文更新与2021-01-28 00:56,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/575727.html

Vertica实施与运维最佳实践的相关文章