开发者社区 问答 正文

如何创建和修改表组?



在第一章中,我们已经介绍了如何通过DMS界面创建和修改表组,本节中,我们详细描述如何通过DDL来创建和修改表组以及表组各属性的含义。
创建表组时,我们提交如下SQL:<PRE prettyprinted? linenums>

  1. create tablegroup db_name.tablegroup_name options(minRedundancy=2 executeTimeout=30000);

其中db_name为数据库名称,tablegroup_name为表组名称(不能和现有表组重叠)。
options部分为可选项:minRedundancy表示该表组的副本数,默认为2,可配置为1、2、4、8。需要注意的是,如果将一个表组配置为1副本,那么这个表组中的表在数据导入时会有不可用的时间。而将表组副本数配置为4或更高,可以一定程度的增加分析型数据库的最大承受的QPS,但是数据存储费用也会相应增加。在绝大部分情况下,不推荐修改任何表组默认配置。
executeTimeout表示该表组的全局Query超时时间,默认为30000,单位毫秒。
当我们需要删除一个表组时,我们可以提交如下SQL:<PRE prettyprinted? linenums>
  1. drop tablegroup db_name.tablegroup_name;

注意,仅允许删除没有任何表的空表组,维度表组不允许删除。
当我们需要修改表组的两个属性中的任何一个时,我们可以提交如下SQL:<PRE prettyprinted? linenums>
  1. alter tablegroup db_name.tablegroup_name key=value;

其中key为属性名,value为新的属性值。需要注意的是,minRedundancy修改后需要下次装载数据时才会生效。
<A href="http://service.weibo.com/share/share.php?title=%E6%8E%A8%E8%8D%90%E4%B8%80%E7%AF%87%E9%98%BF%E9%87%8C%E4%BA%91%E6%96%87%E6%A1%A3%E3%80%8A3.2%20%E5%88%9B%E5%BB%BA%E5%92%8C%E4%BF%AE%E6%94%B9%E8%A1%A8%E7%BB%84%E3%80%8B%EF%BC%88%E6%9D%A5%E8%87%AA%20%E9%98%BF%E9%87%8C%E4%BA%91%E6%96%87%E6%A1%A3%20-%20%E5%88%86%E6%9E%90%E5%9E%8B%E6%95%B0%E6%8D%AE%E5%BA%93%20-%20%E7%94%A8%E6%88%B7%E6%8C%87%E5%8D%97%20-%20%E7%AC%AC%E4%B8%89%E7%AB%A0%20DDL%EF%BC%89&url=" target=_blank tooltipstered? weibo-btn><I dbl-icon-base-sina?> <A href="javascript:void(0);" data-tooltip-content="#tooltip_content" tooltipstered? weixin-btn><I dbl-icon-base-weixin?> <A tooltipstered? favorite-btn><I dbl-icon-base-wujiaoxing?>

展开
收起
nicenelly 2017-10-26 15:12:29 1935 分享 版权
阿里云 AI 助理回答

在数据管理服务(DMS)中,通过DDL语句创建和修改表组是一项高级操作,它允许您更精细地控制数据库的组织结构与性能。以下是使用DDL命令进行表组管理的详细说明:

创建表组

CREATE TABLEGROUP db_name.tablegroup_name OPTIONS(minRedundancy=2, executeTimeout=30000);
  • db_name:指定数据库名称。
  • tablegroup_name:为新表组指定的名称,需确保该名称未被其他表组使用。
  • OPTIONS
    • minRedundancy:设置表组的副本数,默认为2,可选值为1、2、4、8。副本数直接影响数据的可靠性和查询性能,以及存储成本。
    • executeTimeout:定义表组全局Query超时时间,默认30000毫秒。

删除表组

DROP TABLEGROUP db_name.tablegroup_name;
  • 只有当表组内没有任何表时,此操作才被允许。维度表组(若存在)不能被删除。

修改表组属性

ALTER TABLEGROUP db_name.tablegroup_name KEY=value;
  • KEY:要修改的属性名,例如minRedundancyexecuteTimeout
  • value:新的属性值。注意,调整minRedundancy后,更改将在下一次数据装载时生效。

表组属性含义

  • minRedundancy

    • 1副本:可能导致数据导入期间表不可用。
    • 2/4/8副本:提高系统的可用性和读取性能,特别是配置为4或更高时,能增加分析型数据库处理QPS的能力,但会增加存储费用。
  • executeTimeout:控制SQL执行的最大等待时间,单位为毫秒,有助于防止长时间运行的查询消耗过多资源。

注意事项

  • 在调整表组配置前,请评估对现有业务的影响,尤其是更改minRedundancy可能带来的数据不可用风险及成本变化。
  • 确保在删除表组前,该表组为空,避免数据丢失。

以上操作均需具备相应的数据库管理权限,并且建议在执行DDL操作前做好数据库的备份工作,以应对可能出现的意外情况。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答