当前位置: 首页 > news >正文

SAP HANA Scale-out 01:表分布

基础信息

节点内存

--查询节点信息
SELECT HOST AS "节点",TO_VARCHAR(VALUE/1024/1024/1024,'0') || 'G' AS "物理内存"
FROM M_HOST_INFORMATION
WHERE KEY = 'mem_phys'

示例

 节点类型

--查询节点类型
SELECT 
HOST
,SERVICE_NAME
,COORDINATOR_TYPE AS "节点类型"
FROM M_SERVICES
WHERE ACTIVE_STATUS = 'YES'
AND SERVICE_NAME IN ('nameserver','indexserver')

示例

系统拓扑

--查询系统工作组
SELECTHOST,WORKER_CONFIG_GROUPS AS "配置工作组",WORKER_ACTUAL_GROUPS AS "实际工作组"
FROM M_LANDSCAPE_HOST_CONFIGURATION
WHERE HOST_ACTIVE = 'YES' AND HOST_STATUS = 'OK'

示例

--查询卷
SELECT * FROM M_VOLUMES
--查询卷大小
SELECT * FROM M_VOLUME_SIZES

 表分组 

表分组结构

Column

Description

SCHEMA_NAME

The schema name.

TABLE_NAME

表名

GROUP_NAME

组名

GROUP_TYPE

组类型,BW内预定的类型有: sap.bw.cube, sap.bw.dso, sap.bw.psa and so on.

SUBTYPE

The subtype. This is required for some group types, for example in SAP BW:

  • a table belonging to an InfoCube (group type sap.bw.cube) can be a fact table (subtype FACT_IMO) or a dimension table (subtype DIM)
  • a table belonging to a DataStore Object (group type sap.bw.dso) can be an active table (subtype ACTIVE), an activation queue (subtype QUEUE), or a Changelog (subtype CHANGE_LOG)

IS_GROUP_LEAD

Determines the leading table within a group. If none is set, the largest, partitioned, non-replicated column store table is used as leading table.

配置表分组

--建表时指定
CREATE COLUMN TABLE ZFIGL00 (A INT) 
GROUP NAME ZFIGL
GROUP TYPE GP_T1
GROUP SUBTYPE ST_01
;
-后期修改
ALTER TABLE ZFIGL00 SET GROUP NAME "GP_T2";

示例

Table Name

Group Type (GROUP_TYPE)

Subtype (SUBTYPE)

Group Name (GROUP_NAME)

/BIC/AZFIGL00

sap.bw.dso

ACTIVE

ZFIGL

/BIC/AZFIGL40

sap.bw.dso

QUEUE

ZFIGL

/BIC/B0000197000

sap.bw.dso

CHANGE_LOG

ZFIGL

查询表分组

--查询数据表的分组信息
SELECTSCHEMA_NAME --,TABLE_NAME --表名,GROUP_TYPE --组类型,SUBTYPE --子组,GROUP_NAME --组名,IS_GROUP_LEAD --是否组内主表
FROM SYS.TABLE_GROUPS
WHERE TABLE_NAME LIKE '%%'

位置分布

位置信息

位置可以使用系统预定义位置、用户自定义工作组、用户自定义位置。

系统预定义位置

Location

Description

default

'default' is the name of a worker group and it used as the default location for hosts if no other locations are defined. This value can be seen in the WORKER_CONFIG_GROUPS field in system view M_LANDSCAPE_HOST_CONFIGURATION.

master

This is the master location node. The value 'MASTER' is set as coordinator_type for the indexserver in system view M_SERVICES.

slave

Other pre-defined locations are slaves, that is, any coordinator_type value for the indexserver in system view M_SERVICES which is not MASTER.

all

The 'all' location includes both masters and slaves.

用户自定义工作组

--配置工作组
call SYS.UPDATE_LANDSCAPE_CONFIGURATION( 'SET WORKERGROUPS','<hostname>','<name1> <name2> <name3>' )
--查询工作组
call SYS.UPDATE_LANDSCAPE_CONFIGURATION( 'GET WORKERGROUPS','<hostname>')
--工作组
SELECT HOST --主机,WORKER_CONFIG_GROUPS --配置的工作组,WORKER_ACTUAL_GROUPS --实际工作组
FROM M_LANDSCAPE_HOST_CONFIGURATION

用户自定义位置

--自定义位置MyLocation 
ALTER SYSTEM ALTER TABLE PLACEMENT LOCATION MyLocation SET (INCLUDE => '2,3',
EXCLUDE => 'SLAVE');
--调整自定义位置MyLocation 
ALTER SYSTEM ALTER TABLE PLACEMENT LOCATION MyLocation SET (INCLUDE => '2,3',
EXCLUDE => '');
--删除自定义位置
ALTER SYSTEM ALTER TABLE PLACEMENT LOCATION MyLocation UNSET;

位置分布规则 

--位置分布表
SELECTLOCATION_NAME --位置名称,INCLUDE --包含的位置,EXCLUDE --排除的位置
FROM SYS.TABLE_PLACEMENT_LOCATIONS

默认表数据如下:

LOCATION_NAME

INCLUDE

EXCLUDE

ALL

WORKER_DT

SLAVE

WORKER_DT

MY_GROUP

WORKER_DT, MASTER

OLTP_PROCESSOR

2,3

myLocation

5

Note that the worker group worker_dt is a special worker group required for handling warm data in the extension node (see section on Extension Node and following example).

位置与卷对照关系

New locations and volume assignments are only effective after the next reconfiguration of the indexserver,当前有效的对照关系在表M_TABLE_PLACEMENT_LOCATIONS

--查看当前有效的位置与卷的对照关系
SELECTLOCATION_NAME --组名,SYSTEM_DEFINED_VOLUME_IDS --,INCLUDE --,EXCLUDE --EFFECTIVE_VOLUME_IDS --有效的卷ID
FROM M_TABLE_PLACEMENT_LOCATIONS

示例数据

LOCATION_NAMESYSTEM_DEFINED_VOLUME_IDSINCLUDEEXCLUDEEFFECTIVE_VOLUME_IDS
all3,4,5,63,4,5,6
coordinator33
default3,4,5,63,4,5,6
workerallcoordinator4,5,6

表分布规则

配置【表分布规则】

可以按表分组内的字段值配置表分布

--配置表分布规则
ALTER SYSTEM ALTER TABLE PLACEMENT (
SCHEMA_NAME => 'MY_APPLICATION') SET (LOCATION=>'all_without_worker_dt');ALTER SYSTEM ALTER TABLE PLACEMENT (
SCHEMA_NAME => 'MY_APPLICATION',GROUP_TYPE=>'WARM_DATA') SET (LOCATION=>'worker_dt');

建表时使用分布规则

--建表时,根据配置的分布规则进行分布
CREATE TABLE "MY_APPLICATION"."TABLE_A" (INT A);
CREATE TABLE "MY_APPLICATION"."TABLE_B" (INT A);
CREATE TABLE "MY_APPLICATION"."TABLE_C" (INT A) GROUP TYPE "WARM_DATA";

分布规则如何应用

按以下内容从上到下,1是最高优先级

查询表的分布规则

SYS.TABLE_PLACEMENT

#

Column

Description

1

SCHEMA_NAME

The schema name (as for table groups).

2

TABLE_NAME

The table name.

3

GROUP_NAME

The group name.

4

GROUP_TYPE

The group type.

5

SUBTYPE

The subtype.

6

MIN_ROWS_FOR_PARTITIONING

Partitioning rule: the number of records that must exist in the table before the number of first-level partitions is increased above 1.

7

INITIAL_PARTITIONS

Partitioning rule: determines the number of initial partitions to create, for example, HASH 1, HASH 3,

经测试只有在表内实际数据大于MIN_ROWS_FOR_PARTITIONING后会生成此数目的分区,而不是刚建表就生成此数目的分区

8

REPARTITIONING_THRESHOLD

Partitioning rule: if the row count exceeds this value then further split iterations are considered.

9

DYNAMIC_RANGE_THRESHOLD

Applies to tables that use the dynamic range partitioning feature. Overwrites the system default value defined in indexserver.ini   [partitioning]   dynamic_range_default_threshold (10,000,000) for that specific combination of schema / table / group characteristics.

10

SAME_PARTITION_COUNT

Specifies that all partitions of the tables in a group will contain the same number of partitions.

Globally maintained in global.ini   [table_placement]   same_num_partitions but in case of several applications with deviating settings, it can be maintained on a more granular level.

11

LOCATION

Location rule: master, slave, all (see following topic on Locations).

12

PERSISTENT MEMORY

Whether or not the data is loaded in persistent memory.

13

PAGE LOADABLE

Whether or not the data is page loadable.

14

NUMA_NODE_INDEXES

The allowed NUMA nodes.

15

REPLICA COUNT

The required number of replicas.

16

REPLICA TYPE

The replication type. The default type is ASYNCHRONOUS.

示例

查询分布规则匹配的位置

根据分布规则匹配到的分布位置

SELECT
*
FROM M_EFFECTIVE_TABLE_PLACEMENT

表重分布

使用以下工具进行表重分布

  • SAP HANA Cockpit

  • SQL Console

  • SAP HANA Studio (deprecated)

表的实际分布

--表的逻辑分布:M_TABLE_LOCATIONS
SELECT * FROM  M_TABLE_LOCATIONS
--表的物理分布:M_TABLE_PERSISTENCE_LOCATIONS
SELECT * FROM M_TABLE_PERSISTENCE_LOCATIONS


文章转载自:

http://CdcMJ6oE.Ltspm.cn
http://HZVKXVf7.Ltspm.cn
http://XCQMtwOa.Ltspm.cn
http://zSAce99q.Ltspm.cn
http://J7A6ZdFV.Ltspm.cn
http://KoUclbjY.Ltspm.cn
http://DcaW18AW.Ltspm.cn
http://1G3LJ2qs.Ltspm.cn
http://Vm6IdRuM.Ltspm.cn
http://eJW7RX3L.Ltspm.cn
http://WRNrD7jj.Ltspm.cn
http://h0UFdUt7.Ltspm.cn
http://13k1wW9h.Ltspm.cn
http://IksO0A1B.Ltspm.cn
http://kFTtIrlK.Ltspm.cn
http://MUnsw2m1.Ltspm.cn
http://gu8uZz3a.Ltspm.cn
http://I7FPKhDs.Ltspm.cn
http://0tK8LXlX.Ltspm.cn
http://Q4Xblrl8.Ltspm.cn
http://vNMvBVNu.Ltspm.cn
http://G1TerUiJ.Ltspm.cn
http://K0eRXlz5.Ltspm.cn
http://BX0PBhLa.Ltspm.cn
http://ctw8U7ge.Ltspm.cn
http://AX4tyAEm.Ltspm.cn
http://9ZaI0MiE.Ltspm.cn
http://vHzqX42c.Ltspm.cn
http://hXEzPJnx.Ltspm.cn
http://1oj0JKBF.Ltspm.cn
http://www.dtcms.com/a/367359.html

相关文章:

  • KSZ8081寄存器介绍
  • C52单片机独立按键模块,中断系统,定时器计数器以及蜂鸣器
  • CBrush 和 HBRUSH画笔的创建使用及常见的错误使用示例。
  • 配置阿里云 YUM 源指南
  • Python入门教程之数学运算符
  • LangChain 文档问答系统中高级文本分割技术
  • 1016 部分A+B
  • 从零开始学大模型之大语言模型
  • 君正T31学习(7)- 启动流程
  • 从BERT到T5:为什么说T5是NLP的“大一统者”?
  • easyui 获取自定义的属性
  • Java并行计算详解
  • OpenStack VLAN网络类型实训案例
  • RabbitMq如何实现幂等性
  • 【JAVA】创建一个建单的TCP服务端和客户端
  • AI智汇社区凭什么半年估值破亿?这家公司让普通人也能玩转AI开发
  • WebSocket简述与网络知识回顾
  • 揭秘23种设计模式的艺术与技巧之行为型
  • 【LeetCode每日一题】94. 二叉树的中序遍历 104. 二叉树的最大深度
  • 渗透测试与网络安全审计的关系
  • Qwen2.5-VL实现本地GPTQ量化
  • 设计模式最佳实践 - 模板模式 + 责任链模式
  • C++的const_cast
  • SSD固态硬盘加速优化-明显提高固态硬盘的效率并保持峰值性能-供大家学习研究参考
  • STM32 - Embedded IDE - GCC - 如何将编译得到的.bin固件添加CRC32校验码
  • VSCode中的扩展Extension说明
  • 《IC验证必看|semaphore与mailbox的核心区别》
  • Web与Nginx
  • JS 可迭代对象详解:从概念到实践的全方位剖析
  • 同城酒水推广算法怎么做?