首页 > 数据库 >hhdb数据库介绍(9-25)

hhdb数据库介绍(9-25)

时间:2024-11-29 11:38:13浏览次数:11  
标签:25 JOIN 是否 数据库 参数值 参数 hhdb 默认值 节点

计算节点参数说明

idcId & idcNodeHost

参数说明:

Property Value
参数值 idcId
是否可见
参数说明 机房ID, 1:中心机房,2:容灾机房
默认值 0
Reload是否生效
Property Value
参数值 idcNodeHost
是否可见
参数说明 另一个机房的连接信息
默认值 192.168.200.1:3325,192.168.200.1:3325
Reload是否生效

参数作用:
当开启容灾模式后,则需要配置参数idcId和idcNodeHost。idcId配置机房ID,当前默认设置为1表示中心机房,设置为2表示容灾机房。idcNodeHost填写另一个机房的所有计算节点连接信息,配置格式为IP:PORT,计算节点之间以英文逗号分隔,例:192.168.200.186:3325,192.168.200.187:3325。

例如,在中心机房server.xml中设置idcId为1,idcNodeHost填写容灾机房所有计算节点信息;在容灾机房server.xml中设置idcId为2,idcNodeHost填写中心机房所有计算节点信息。

<property name="idcId">2</property><!-- 机房ID, 1:中心机房,2:容灾机房 -->
<property name="idcNodeHost">192.168.220.188:3325,192.168.220.189:3325</property><!-- 另一个机房的连接信息(Computer node info in the other IDC)-->

idleTimeout

参数说明:

Property Value
参数值 idleTimeout
是否可见
参数说明 前端空闲连接超时时间
默认值 28800(s)
最小值 0
最大值 31536000
Reload是否生效

参数设置:
server.xml中idleTimeout参数配置如下:

<property name="idleTimeout">28800</property><!-- 前端空闲连接超时时间,单位:秒-->

参数作用:
此参数为检测前端空闲连接超时时间,当前端连接处于"sleep"状态的"Time"超过设定值,计算节点会关闭该空闲连接。当参数设置为0时,代表当前前端空闲连接永不超市。

为方便演示,测试中设定该值为60秒。

mysql > show processlist;
+----+------+-----------------------+--------------------+---------+------+-----------+------------------+
| Id | User | Host                  | db                 | Command | Time | State     | Info             |
+----+------+-----------------------+--------------------+---------+------+-----------+------------------+
| 9  | root | 192.168.220.211:26568 | NULL               | Query   | 0    | executing | show processlist |
| 7  | ztm  | 192.168.220.211:26470 | INFORMATION_SCHEMA | Sleep   | 59   |           | NULL             |
+----+------+-----------------------+--------------------+---------+------+-----------+------------------+
2 rows in set (0.00 sec)

mysql > show processlist;
+----+------+-----------------------+--------------------+---------+------+-----------+------------------+
| Id | User | Host                  | db                 | Command | Time | State     | Info             |
+----+------+-----------------------+--------------------+---------+------+-----------+------------------+
| 9  | root | 192.168.220.211:26568 | NULL               | Query   | 0    | executing | show processlist |
| 7  | ztm  | 192.168.220.211:26470 | INFORMATION_SCHEMA | Sleep   | 60   |           | NULL             |
+----+------+-----------------------+--------------------+---------+------+-----------+------------------+
2 rows in set (0.00 sec)

mysql > show processlist;
+----+------+-----------------------+------+---------+------+-----------+------------------+
| Id | User | Host                  | db   | Command | Time | State     | Info             |
+----+------+-----------------------+------+---------+------+-----------+------------------+
| 9  | root | 192.168.220.211:26568 | NULL | Query   | 0    | executing | show processlist |
+----+------+-----------------------+------+---------+------+-----------+------------------+
1 row in set (0.00 sec)

此时前端连接会话超时输入SQL会提示已断开连接,并尝试重连,最终重连成功:

msyql> show databases;
+--------------------+
| DATABASE           |
+--------------------+
| INFORMATION_SCHEMA |
+--------------------+
1 row in set (0.00 sec)

mysql> show databases;
ERROR 2013 (HY000): Lost connection to MySQL server during query
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 10
Current database: INFORMATION_SCHEMA

如果设置成0,则前端空闲连接永不超时,sleep状态的连接Time时间会一直增加。

instanceReadOnly

参数说明:

Property Value
参数值 instanceReadOnly
是否可见
参数说明 是否开启计算节点实例级别只读
默认值 0(不开启)
Reload是否生效

参数设置:
server.xml中instanceReadOnly参数配置:

<property name="instanceReadOnly">0</property><!-- 是否开启只读实例,默认不开启(Enable instance readonly or not) -->

参数作用:
此参数控制是否开启计算节点实例级别只读,开启后服务端可提供只读服务,一般用于备计算节点类型,使其承担部分只读服务以作抽取数据分析所用。计算节点正常运行的情况下,可直接在管理端执行online_readonly命令开启只读服务,也可直接执行online_readwrite命令关闭只读开启可读写操作(计算节点实例只读在主备模式下等同offline,集群模式下可使其释放可写操作),开启instanceReadOnly后的计算节点只能执行DQL、set会话级参数以及show等非写操作。

例如:计算节点开启instanceReadOnly后的DDL操作:

root@192.168.240.161:(none) 5.7.24 04:21:23> create database test;
ERROR 1289 (HY000): Command CREATE_DATABASE not allowed in Read-Only mode.

inplaceOnlineDdlTakesPrecedence

参数说明:

Property Value
参数值 inplaceOnlineDdlTakesPrecedence
是否可见
参数说明 是否onlineDDL语句均优先按照inplace的模式执行
默认值 1
Reload是否生效

参数设置:

<property name="inplaceOnlineDdlTakesPrecedence">1</property><!--      是否onlineDDL语句均优先按照inplace的模式执行(Whether onlineDDL statements are executed on inplace mode first)      -->

参数作用:
控制onlineDDL语句是否优先使用inplace方式执行(若存储节点为8.0版本,则优先使用instant属性执行)。配置为0时,均按原语句执行。配置为1时,所有执行onlineDDL都优先使用inplace的模式执行(即原语句添加algorithm=inplace属性执行),inplace方式不支持的情况下,再自动转换为原有的onlineDDL模式执行。

例如:
1.设置“inplaceOnlineDdlTakesPrecedence”为1。
2.执行onlineDDL,下发到存储节点的SQL如下:

onlineDDL “alter table tablea add column c int;”
通过存储节点的general.log可查看下发到存储节点中的SQL如下:
存储节点版本为5.7时:
ALTER TABLE TABLEA ADD COLUMN C INT, ALGORITHM=INPLACE
存储节点版本为8.0时:
ALTER TABLE TABLEA ADD COLUMN C INT, ALGORITHM=INSTANT

ignoreSetGlobalVariables

参数说明:

Property Value
参数值 ignoreSetGlobalVariables
是否可见
参数说明 开启后,设置全局参数直接返回OK
默认值 false
Reload是否生效

参数设置:

<property name="ignoreSetGlobalVariables">false</property><!--   忽略设置全局参数(ignore set global variables)   -->

参数作用:
ignoreSetGlobalVariables参数开启,通过计算节点修改全局表参数,直接返回OK,但实际未生效。

参数为false时禁止设置全局变量:
在这里插入图片描述

参数为true时设置全局变量执行成功,但不生效(当前兼容命令可以执行):
在这里插入图片描述

ignoreXaRu

参数说明:

Property Value
参数值 ignoreXaRu
是否可见
参数说明 设置为true时忽略XA模式下READ-UNCOMMITTED隔离级别的设置报错
默认值 false
Reload是否生效

参数设置:

<property name="ignoreXaRu">false</property><!-- 设置为true时忽略XA模式下READ-UNCOMMITTED隔离级别的设置报错, 默认为false(Ignore unsupported error message of READ-UNCOMMITTED isolation setting in XA mode when the parameter is set to true, default is false) -->

参数作用:
ignoreXaRu默认为false,设置为true时忽略XA模式下READ-UNCOMMITTED隔离级别的设置报错。

当参数设置为false时,在计算节点服务端执行如下命令,报错:
在这里插入图片描述
参数设置为true时,在计算节点服务端执行如下命令,可以执行,但隔离级别的修改实际未生效:
在这里插入图片描述

joinable

参数说明:

Property Value
参数值 joinable
是否可见
参数说明 是否允许JOIN查询,是:true,否:false
默认值 true
Reload是否生效

参数作用:
该参数可以控制分片表之间的JOIN等,通过关联条件与分片字段的信息,可判断出不是可以直接下发的单库JOIN查询时,相关的JOIN语句是否可执行。在全局表JOIN和垂直分片表JOIN的情况下,这个参数开启不会有对应限制。

将joinable设置为false,在该环境下执行语句,报错ERROR 1064 (HY000): joinable is not configured.

mysql> select * from join_cross_a_jwy a inner join join_cross_b_jwy b on a.adnid between 108 and 110;

ERROR 1064 (HY000): joinable is not configured.

mysql> select a.adept from join_a_jwy a join join_b_jwy b on a.adept=b.bdept limit 5;

ERROR 1064 (HY000): joinable is not configured.

将joinable设置为true,在该环境下执行语句:

mysql> select a.adept from join_a_jwy a join join_b_jwy b on a.adept=b.bdept limit 5;
+-------+
| adept |
+-------+
| aa    |
| bb    |
| cc    |
+-------+
3 rows in set (0.03 sec)

joinBatchSize

参数说明:

Property Value
参数值 joinBatchSize
是否可见
参数说明 JOIN等值查询时每批量转成IN查询的记录数
默认值 1000
最小值 100
最大值 100000
Reload是否生效

参数作用:
跨库有交叉结果集的JOIN等值查询,批量转成IN查询的每批次的最大值,需查询的行数超过设置的值会分多次转成IN。该参数属于JOIN查询优化参数,可以提升JOIN查询速度。例如:

<property name="joinBatchSize">3</property><!---JOIN等值查询时每批量转成IN查询的记录数 -->

此时执行:

select b.* from customer_auto_1 a join customer_auto_3 b on a.id=b.id where a.postcode=123456;

查看general_log实际执行效果如下:

1993 Query SELECT B.`ID`, B.`name`, B.`telephone`, B.`provinceid`, B.`province`, B.`city`, B.`address`, B.`postcode`, B.`birthday`, b.id AS `hotdb_tmp_col_alias_1` FROM customer_auto_3 AS b WHERE B.ID IN **(4064622, 4068449, 4071461)**
1993 Query SELECT B.`ID`, B.`name`, B.`telephone`, B.`provinceid`, B.`province`, B.`city`, B.`address`, B.`postcode`, B.`birthday`, b.id AS `hotdb_tmp_col_alia s_1` FROM customer_auto_3 AS b WHERE B.ID IN **(4043006, 4053408, 4056542)**
...省略更多...

注意
参数值仅作举例说明,不做实际参考。

joinCacheSize

参数说明:

Property Value
参数值 joinCacheSize
是否可见
参数说明 JOIN缓存的堆外内存占用大小(M)
默认值 32
最小值 0
最大值 128
Reload是否生效

参数作用:
JOIN操作可使用的直接内存大小,可影响大中间结果集的JOIN的速度。

当JOIN使用的直接内存超过设置值时,将会被临时存放到本地磁盘, JOIN语句执行完后临时文件自动删除。

root> pwd

/usr/local/hhdb-14.0.0/hgdb-server/HHDB-TEMP
You have mail in /var/spool/mail/root

root> ll

-rw-r--r-- 1 root root 8778410 May 9 17:28 positions_5302007528422328273.tmp
-rw-r--r-- 1 root root 141868981 May 9 17:28 row_411809270296834018.tmp
-rw-r--r-- 1 root root 26113612 May 9 18:01 row_4342139033645193593.tmp

joinLoopSize

参数说明:

Property Value
参数值 joinLoopSize
是否可见
参数说明 使用BNL算法做JOIN时各节点每批次查询数量
默认值 1000
最小值 100
最大值 10000
Reload是否生效

参数作用:
使用BNL算法执行JOIN时各节点每批次下发查询的数量。该参数属于JOIN查询优化参数,可提升JOIN查询速度。

<property name="joinLoopSize">1000</property><!-- 使用BNL算法做JOIN时各节点每批次查询数量 -->

例如: joinLoopSize设置为1000。bn_a_jwy为auto分片表,分片字段为id,bn_b_jwy为match分片表,分片字段为a,bn_c_jwy为auto分片表,分片字段为a,三张表的数据量都为2w。

select * from bn_a_Jwy as a inner join bn_b_jwy as b on a.a=b.a limit 9000;

查看实际general_log执行效果:

1187022 Query SELECT A.id, A.a, A.bchar, A.cdeci, A.dtime FROM bn_a_jwy AS a ORDER BY A.ID LIMIT 1001
1187022 Query SELECT C.id, C.a, C.bchar, C.cdeci, C.dtime FROM bn_c_jwy AS c WHERE C.id IN (0) ORDER BY C.ID LIMIT 0 , 1001
1187022 Query SELECT B.id, B.a, B.bchar, B.cdeci, B.dtime FROM bn_b_jwy AS b WHERE B.a COLLATE utf8_general_ci IN ('d') ORDER BY B.ID LIMIT 0 , 1001 ...省略更多...

joinThreadConcurrency

参数说明:

Property Value
参数值 joinThreadConcurrency
是否可见
参数说明 大数据量count from innerjoin时的并发处理线程个数
默认值 5
最小值 1
最大值 128
Reload是否生效

参数设置:

<property name="joinThreadConcurrency">5</property><!-- 大数据量count from innerjoin时的并发处理线程个数 -->

参数作用:
应用于count from innerjoin的场景。控制大数据量count from innerjoin时的并发处理线程个数。

keyStore

参数说明:

Property Value
参数值 keyStore
是否可见
参数说明 用于TLS连接的数据证书.jks文件的路径
默认值 /server.jks
Reload是否生效

参数设置:

<property name="keyStore">/server.jks</property><!-- 指定用于TLS连接的数据证书.jks文件的路径 -->

参数作用:
用于设置计算节点是允许使用SSL安全认证方式连接时,其使用的证书存放的位置,需要配合enableSSL、keyStorePass参数一起使用。

keyStorePass

参数说明:

Property Value
参数值 keyStorePass
是否可见
参数说明 指定用于TLS连接的数据证书.jks文件的密码
默认值 BB5A70F75DD5FEB214A5623DD171CEEB
Reload是否生效

参数设置:

<property name="keyStorePass">BB5A70F75DD5FEB214A5623DD171CEEB</property><!-- 指定用于TLS连接的数据证书.jks文件的密码 -->

参数作用:
用于设置计算节点是允许使用SSL安全认证方式连接时,其使用TLS连接的数据证书.jks文件的密码,需要配合配合enableSSL、keyStore参数一起使用。

lockWaitTimeout

参数说明:

Property Value
参数值 lockWaitTimeout
是否可见
参数说明 获取元数据锁的超时时间(s)
默认值 31536000
Reload是否生效
最大值 31536000
最小值 1

参数设置:
lockWaitTimeout此参数指获取元数据锁的超时时间(s),允许值1-31536000s,默认值31536000s,即365天,代表发生元数据锁超时超过365天,则客户端提示锁超时。

<property name="lockWaitTimeout">31536000</property> <!-- 元数据锁超时时间 -->

session A执行:
在这里插入图片描述
session B执行:等待超过lockWaitTimeout设置参数值,则给出如下提示:
在这里插入图片描述

loginRetryTimes

参数说明:

Property Value
参数值 loginRetryTimes
是否可见
参数说明 账户登录失败重试次数限制
默认值 0
最小值 0
最大值 100
Reload是否生效

参数设置:

<property name="loginRetryTimes">0</property><!--账户登录失败重试次数限制(Account login failure retry limit) -->

参数作用:
为防止数据库访问账号被暴力破解,可通过该参数限制同一账户短时间内登录失败重试次数,默认为0不限制。当30S内,同一用户,在user@ip中ip范围之内的主机,连续登录失败次数超过设置的次数后,则账号禁用5分钟,禁用期间不增加计数,5分钟之后自动解除限制重新计数。禁用时计算节点会返回错误提示:

ERROR 1045 (HY000): Account is locked for user '<当前用户名>'

目前仅限制3323端口,3325不做限制。可通过输入正确用户密码后,进入3325端,进行以下用户解除禁用的命令:

unlock account '当前用户名'@'用户名所对应的主机';

执行后立即解除账号的禁用,并重新计数。

标签:25,JOIN,是否,数据库,参数值,参数,hhdb,默认值,节点
From: https://www.cnblogs.com/henghuixinda/p/18576204

相关文章

  • hhdb数据库介绍(9-26)
    计算节点参数说明masterSourceInitWaitTimeout参数说明:PropertyValue参数值masterSourceInitWaitTimeout是否可见否参数说明启动时数据节点中主存储节点初始化超时时间默认值300最小值0最大值600Reload是否生效是参数作用:启动时,主存储......
  • P2597 [ZJOI2012] 灾难 —— LCA 拓扑排序
    [ZJOI2012]灾难题目背景阿米巴是小强的好朋友。阿米巴和小强在草原上捉蚂蚱。小强突然想,如果蚂蚱被他们捉灭绝了,那么吃蚂蚱的小鸟就会饿死,而捕食小鸟的猛禽也会跟着灭绝,从而引发一系列的生态灾难。学过生物的阿米巴告诉小强,草原是一个极其稳定的生态系统。如果蚂蚱灭绝了,小鸟......
  • hhdb数据库介绍(9-27)
    计算节点参数说明ndbSqlAddr&ndbSqlUser&ndbSqlPass参数说明:PropertyValue参数值ndbSqlAddr是否可见是参数说明NDBSQL端IP地址默认值localhost:3329Reload是否生效否PropertyValue参数值ndbSqlUser是否可见是参数说明NDB......
  • hhdb数据库介绍(9-19)
    Oracle兼容性说明数据类型兼容本节主要介绍HHDBServer与Oracle数据库中数据类型的详细兼容对比信息。比较项Oracle数据库数据类型HHDBServer数据类型对应项/替代项字符串/字符VARCHAR2(n)VARCHAR(n)字符串/字符NVARCHAR2(n)VARCHAR(n)character......
  • hhdb数据库介绍(9-20)
    计算节点参数说明计算节点使用过程中,维护了许多系统配置参数,本文描述这些参数如何使用以及对功能带来什么影响。每个参数都有一个默认值,可以在服务启动时在server.xml配置文件中修改,也可以登录管理平台在参数配置页面进行修改。这些参数大多数可以在运行时使用动态加载(reload@@c......
  • hhdb数据库介绍(9-21)
    计算节点参数说明checkClusterBeforeDnSwitch参数说明:PropertyValue参数值checkClusterBeforeDnSwitch是否可见否参数说明集群模式下触发数据节点高可用切换时,是否先判断集群所有成员正常再进行数据节点切换默认值falseReload是否生效是参数设置......
  • hhdb数据库介绍(9-22)
    计算节点特殊说明dataNodeIdleCheckPeriod参数说明:PropertyValue参数值dataNodeIdleCheckPeriod是否可见是参数说明数据节点默认空闲检查时间(秒)默认值120最小值1最大值3600Reload是否生效Y参数设置:<propertyname="dataNodeIdleCheckPe......
  • hhdb数据库介绍(9-23)
    计算节点参数说明enableCursor参数说明:PropertyValue参数值enableCursor是否可见是参数说明是否允许PREPARE语句通过CURSOR获取数据默认值falseReload是否生效是参数设置:server.xml的enableCursor参数:<propertyname="enableCursor">false</pr......
  • hhdb数据库介绍(9-24)
    计算节点参数说明failoverAutoresetslave参数说明:PropertyValue参数值failoverAutoresetslave是否可见是参数说明故障切换时,是否自动重置主从复制关系默认值falseReload是否生效否参数设置:<propertyname="failoverAutoresetslave">false</prop......
  • hhdb数据库介绍(9-16)
    SQL语法支持事务管理与锁语句语句类型事务语句语句参数状态说明事务管理STARTTRANSACTION无参数支持WITHCONSISTENTSNAPSHOT支持READWRITE支持READONLY支持BEGIN支持COMMIT支持COMMIT[AND[NO]CHAIN][[NO]RELE......