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

【GaussDB(DWS)】数仓部署架构与物理结构分析

数仓架构与物理结构分析

  • 一、部署架构
  • 二、物理结构
  • 三、测试验证

一、部署架构

  1. 华为数据仓库服务DWS,集群版本8.1.3.x

  2. 集群拓扑结构:
    在这里插入图片描述
    上述拓扑结构为DWS单AZ高可靠部署架构,为减少硬件故障对系统可用性的影响,建议集群部署方案遵循如下原则:

    • 对于每组实例,其主、备部署在不同的节点上。例如:GTM的主、备分别部署在不同的节点上。DN的主、备、从备部署在不同的节点上。
    • 建议节点内存大于等于512G,每个节点部署4个DN。
    • 低并发场景下,整个集群部署2~4个CN即可以满足使用要求。
    • 建议GTM、CM部署在没有CN的节点上。如此部署,既减少某节点故障带来的损失,还可以避免集群运行压力集中在个别节点上。
    • 安全环是集群组网的基本单元,普通安全环内包含至少3个服务器,各服务器的DN形成完备的主备关系。系统默认会根据Datanode进程数据目录的个数加1确定环节点数,也可以配置环节点列表和环节点数参数指定成环规则,建议使用小环,环节点数不宜过大。

    为保证负载均衡和资源的有效利用,在遵循上述原则的基础上,建议部署模式如下

    • 主GTM和备CMServer部署在同一个节点上,备GTM和主CMServer部署在同一个节点上。
    • 根据需要在部分节点上部署CN。
    • 对于DN的部署模式:
      • 一个服务器上的主DN对应的备节点和从备节点会按照上图所示自动依照安全环中节点的顺序依次分散部署在其他节点上,DN分布均衡。
      • 各个节点上的DN数要求相同。
      • DN的主、备、从备部署在不同的节点上。
      • 特别说明从备DN不占用实际存储空间,仅在主、备DN故障时才起作用,且只存储数据日志,不存储数据页面。

二、物理结构

本小节内容主要查看DWS数仓按照上述部署架构完成部署后,其服务器上数仓的物理结构是什么样子的,以及当发生DDL、DML等操作后,CN和DN各自发生了什么变化等,并查看表的数据文件存储情况等。以下是通过实操来演示整个过程:

  1. 以root用户,利用SSH工具登录到dws数仓后台服务器。
  2. 切换到omm用户,然后source一下环境变量,例如执行如下命令:
    source /opt/huawei/Bigdata/mppdb/.mppdbgs_profile
    
  3. 查看集群状态信息,两种方式
    第一种方式:gs_om -t status --detail
    omm@host-192-168-5-204:~> gs_om -t status --detail
    [  CMServer State   ]node     node_ip         instance                                    state
    ----------------------------------------------------------------------------
    1  dws03 192.168.5.203    1    /opt/huawei/Bigdata/mppdb/cm/cm_server Standby
    3  dws05 192.168.5.205    2    /opt/huawei/Bigdata/mppdb/cm/cm_server Primary[   Cluster State   ]cluster_state   : Normal
    redistributing  : No
    balanced        : Yes[ Coordinator State ]node     node_ip         instance                                   state
    ---------------------------------------------------------------------------
    1  dws03 192.168.5.203    5001 /srv/BigData/mppdb/data1/coordinator Normal
    2  dws04 192.168.5.204    5002 /srv/BigData/mppdb/data1/coordinator Normal
    3  dws05 192.168.5.205    5003 /srv/BigData/mppdb/data1/coordinator Normal[ Central Coordinator State ]node     node_ip         instance                                  state
    --------------------------------------------------------------------------
    2  dws04 192.168.5.204    5002 /srv/BigData/mppdb/data1/coordinator Normal[     GTM State     ]node     node_ip         instance                           state                    sync_state
    ----------------------------------------------------------------
    3  dws05 192.168.5.205    1001 /opt/huawei/Bigdata/mppdb/gtm P Primary Connection ok  Sync
    1  dws03 192.168.5.203    1002 /opt/huawei/Bigdata/mppdb/gtm S Standby Connection ok  Sync[  Datanode State   ]  主备从架构node     node_ip         instance                                  state            | node     node_ip         instance                                  state            | node     node_ip         instance                                  state
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    1  dws03 192.168.5.203    6001 /srv/BigData/mppdb/data1/master1     P Primary Normal | 2  dws04 192.168.5.204    6002 /srv/BigData/mppdb/data1/slave1      S Standby Normal | 3  dws05 192.168.5.205    3002 /srv/BigData/mppdb/data1/dummyslave1 R Secondary Normal
    2  dws04 192.168.5.204    6003 /srv/BigData/mppdb/data1/master1     P Primary Normal | 3  dws05 192.168.5.205    6004 /srv/BigData/mppdb/data1/slave1      S Standby Normal | 1  dws03 192.168.5.203    3003 /srv/BigData/mppdb/data1/dummyslave1 R Secondary Normal
    3  dws05 192.168.5.205    6005 /srv/BigData/mppdb/data1/master1     P Primary Normal | 1  dws03 192.168.5.203    6006 /srv/BigData/mppdb/data1/slave1      S Standby Normal | 2  dws04 192.168.5.204    3004 /srv/BigData/mppdb/data1/dummyslave1 R Secondary Normal
    
    第二种方式:cm_ctl query -v -c
    omm@host-192-168-5-204:~> cm_ctl query -v -C
    [  CMServer State   ]node     instance state
    -------------------------
    1  dws03 1        Standby
    3  dws05 2        Primary[   Cluster State   ]cluster_state   : Normal
    redistributing  : No
    balanced        : Yes[ Coordinator State ]node     instance  state
    --------------------------
    1  dws03 5001     Normal
    2  dws04 5002     Normal
    3  dws05 5003     Normal[ Central Coordinator State ]node     instance state
    -------------------------
    2  dws04 5002     Normal[     GTM State     ]node     instance state                    sync_state
    ------------------------------------------------
    3  dws05 1001     P Primary Connection ok  Sync
    1  dws03 1002     S Standby Connection ok  Sync[  Datanode State   ]node     instance state            | node     instance state            | node     instance state
    --------------------------------------------------------------------------------------------------------------
    1  dws03 6001     P Primary Normal | 2  dws04 6002     S Standby Normal | 3  dws05 3002     R Secondary Normal
    2  dws04 6003     P Primary Normal | 3  dws05 6004     S Standby Normal | 1  dws03 3003     R Secondary Normal
    3  dws05 6005     P Primary Normal | 1  dws03 6006     S Standby Normal | 2  dws04 3004     R Secondary Normal
    omm@host-192-168-5-204:~>
  4. 查看dws数据仓库安装目录的结构
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/core> ll
    total 16
    drwx------ 4 omm wheel 4096 Oct 31  2023 bin
    drwx------ 2 omm wheel   58 Oct 26  2023 etc
    drwx------ 3 omm wheel   24 Aug 17  2023 include
    drwx------ 4 omm wheel   95 Mar  1  2022 jre
    drwx------ 6 omm wheel 8192 Oct 26  2023 lib
    drwx------ 6 omm wheel   68 Oct 26  2023 share
    drwx------ 2 omm wheel   20 Oct 26  2023 utilslib
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/core>
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/core/bin> ls
    alarmItem.conf          diagcollect.sh                                gds         gs_guc      gs_running_xacts  pg_config            runsessionstat.sh
    cluster_dynamic_config  drop_caches.sh                                getDEK.jar  gs_initcm   gs_upgrade        pg_controldata       script
    cluster_guc.conf        etcd                                          gs_cgroup   gs_initdb   gtm_ctl           pg_format_cu         seq_query
    cluster_static_config   etcdctl                                       gs_clean    gs_initgtm  initdb_param      pg_recvlogical       server.key.cipher
    cm_agent                gaussdb                                       gs_ctl      gs_log      jeprof            pg_resetxlog         server.key.rand
    cm_agent.lock           GaussDB-8.1.3-SUSE11-x86_64bit-symbol.tar.gz  gs_dump     gsql        om_monitor        pg_xlogdump        total_database_size
    cm_ctl                  gaussdb.license                               gs_dumpall  gs_redis    om_monitor.lock   result               transfer.py
    cm_server               gaussdb.version                               gs_encrypt  gs_restore  openssl           retry_errcodes.conf  upgrade_version
    dfx_tool                gaussmaster                                   gs_gtm      gs_roach    pagehack          run_drop_cache.sh    version.cfg
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/core/bin>
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/core/include/postgresql> cd server/
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/core/include/postgresql/server> ll
    total 324
    drwx------ 3 omm wheel   128 Aug 17  2023 access
    drwx------ 2 omm wheel    61 Aug 17  2023 catalog
    drwx------ 8 omm wheel   180 Oct 26  2023 cfunction
    -rw------- 1 omm wheel 37130 Aug 17  2023 c.h
    drwx------ 2 omm wheel    22 Aug 17  2023 common
    drwx------ 2 omm wheel    25 Aug 17  2023 datatype
    drwx------ 2 omm wheel    24 Aug 17  2023 executor
    -rw------- 1 omm wheel 38382 Aug 17  2023 extension_dependency.h
    -rw------- 1 omm wheel 24767 Aug 17  2023 fmgr.h
    -rw------- 1 omm wheel  2376 Aug 17  2023 gs_thread.h
    -rw------- 1 omm wheel   632 Aug 17  2023 gs_threadlocal.h
    drwx------ 2 omm wheel    42 Aug 17  2023 lib
    -rw------- 1 omm wheel 40469 Aug 17  2023 libpq-fe.h
    drwx------ 2 omm wheel    24 Aug 17  2023 mb
    drwx------ 2 omm wheel   145 Aug 17  2023 nodes
    -rw------- 1 omm wheel 28705 Aug 17  2023 pg_config.h
    -rw------- 1 omm wheel 10722 Aug 17  2023 pg_config_manual.h
    -rw------- 1 omm wheel  1051 Aug 17  2023 pg_config_os.h
    -rw------- 1 omm wheel  1841 Aug 17  2023 pgtime.h
    drwx------ 2 omm wheel    23 Aug 17  2023 pgxc
    drwx------ 2 omm wheel    43 Aug 17  2023 port
    -rw------- 1 omm wheel 14190 Aug 17  2023 port.h
    -rw------- 1 omm wheel  2054 Aug 17  2023 postgres_ext.h
    -rw------- 1 omm wheel 26454 Aug 17  2023 postgres.h
    -rw------- 1 omm wheel  8483 Aug 17  2023 securec_check.h
    -rw------- 1 omm wheel 28973 Apr 21  2023 securec.h
    -rw------- 1 omm wheel 17751 Apr 21  2023 securectype.h
    drwx------ 2 omm wheel   198 Aug 17  2023 storage
    drwx------ 2 omm wheel    20 Aug 17  2023 tcop
    drwx------ 3 omm wheel  4096 Aug 17  2023 utils
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/core/include/postgresql/server>omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/core/share> ll
    total 4
    drwx------ 2 omm wheel   29 Aug 17  2023 llvmir
    drwx------ 2 omm wheel   32 Aug 17  2023 postgis
    drwx------ 7 omm wheel 4096 Oct 26  2023 postgresql
    drwx------ 6 omm wheel   55 Oct 26  2023 sslcertomm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/core/share> cd postgis/
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/core/share/postgis> ll
    total 4
    -rw------- 1 omm wheel 3469 Aug 17  2023 PostGIS_install.shomm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/core/share/postgresql> ll
    total 1300
    -rw-------  1 omm wheel   5440 Aug 17  2023 cm.conf.sample
    -rw-------  1 omm wheel  76384 Aug 17  2023 conversion_create.sql
    drwx------  2 omm wheel   4096 Aug 17  2023 extension
    -rw-------  1 omm wheel   3093 Aug 17  2023 gtm.conf.sample
    -rw-------  1 omm wheel 107038 Aug 17  2023 information_schema.sql
    -rw-------  1 omm wheel     72 Aug 17  2023 pg_cast_oid.txt
    -rw-------  1 omm wheel   4446 Aug 17  2023 pg_hba.conf.sample
    -rw-------  1 omm wheel   1636 Aug 17  2023 pg_ident.conf.sample
    -rw-------  1 omm wheel    604 Aug 17  2023 pg_service.conf.sample
    -rw-------  1 omm wheel 122640 Oct 26  2023 pmk_schema_bak.sql
    -rw-------  1 omm wheel 122586 Aug 17  2023 pmk_schema_single_inst.sql
    -rw-------  1 omm wheel 122592 Aug 17  2023 pmk_schema.sql
    -rw-------  1 omm wheel 236646 Aug 17  2023 postgres.bki
    -rw-------  1 omm wheel  32948 Aug 17  2023 postgres.description
    -rw-------  1 omm wheel  35156 Aug 17  2023 postgresql.conf.sample
    -rw-------  1 omm wheel     49 Aug 17  2023 postgres.shdescription
    -rw-------  1 omm wheel    220 Aug 17  2023 psqlrc.sample
    -rw-------  1 omm wheel   4814 Aug 17  2023 recovery.conf.sample
    -rw-------  1 omm wheel  13359 Aug 17  2023 snowball_create.sql
    -rw-------  1 omm wheel  33329 Aug 17  2023 sql_features.txt
    -rw-------  1 omm wheel 347311 Aug 17  2023 system_views.sql
    drwx------ 18 omm wheel   4096 Aug 17  2023 timezone
    drwx------  2 omm wheel    237 Aug 17  2023 timezonesets
    drwx------  2 omm wheel     25 Aug 17  2023 tmp
    drwx------  2 omm wheel   4096 Aug 17  2023 tsearch_data
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/core/share/postgresql>omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/core/share/postgresql/tsearch_data> ll
    total 27004
    -rw------- 1 omm wheel      424 Aug 17  2023 danish.stop
    -rw------- 1 omm wheel 13245765 Aug 17  2023 dict.gbk.xdb
    -rw------- 1 omm wheel 14315393 Aug 17  2023 dict.utf8.xdb
    -rw------- 1 omm wheel      453 Aug 17  2023 dutch.stop
    -rw------- 1 omm wheel      622 Aug 17  2023 english.stop
    -rw------- 1 omm wheel     1579 Aug 17  2023 finnish.stop
    -rw------- 1 omm wheel      805 Aug 17  2023 french.stop
    -rw------- 1 omm wheel     1349 Aug 17  2023 german.stop
    -rw------- 1 omm wheel     1227 Aug 17  2023 hungarian.stop
    -rw------- 1 omm wheel      242 Aug 17  2023 hunspell_sample.affix
    -rw------- 1 omm wheel      465 Aug 17  2023 ispell_sample.affix
    -rw------- 1 omm wheel       81 Aug 17  2023 ispell_sample.dict
    -rw------- 1 omm wheel     1654 Aug 17  2023 italian.stop
    -rw------- 1 omm wheel      851 Aug 17  2023 norwegian.stop
    -rw------- 1 omm wheel     1267 Aug 17  2023 portuguese.stop
    -rw------- 1 omm wheel     3714 Aug 17  2023 rules.gbk.ini
    -rw------- 1 omm wheel     4396 Aug 17  2023 rules.utf8.ini
    -rw------- 1 omm wheel     1235 Aug 17  2023 russian.stop
    -rw------- 1 omm wheel     2178 Aug 17  2023 spanish.stop
    -rw------- 1 omm wheel      559 Aug 17  2023 swedish.stop
    -rw------- 1 omm wheel       73 Aug 17  2023 synonym_sample.syn
    -rw------- 1 omm wheel      473 Aug 17  2023 thesaurus_sample.ths
    -rw------- 1 omm wheel      260 Aug 17  2023 turkish.stop
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/core/share/postgresql/tsearch_data>omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/cm> ll
    total 0
    drwx------ 2 omm wheel 60 Aug  7 15:15 cm_agent
    drwx------ 2 omm wheel 27 Aug  7 15:17 cm_server
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/cm>omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/cm> cd cm_server/
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/cm/cm_server> ll
    total 4
    -rw------- 1 omm wheel 46 Aug  7 15:17 cm_server.pid
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/cm/cm_server> cd ../cm_agent/
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/cm/cm_agent> ll
    total 20
    -rw------- 1 omm wheel   45 Aug  7 15:15 cm_agent.pid
    -rw------- 1 omm wheel 5580 Oct 26  2023 cm.conf
    -rw------- 1 omm wheel 5580 Oct 26  2023 cm.conf.bak
  5. 在dws安装路径下,查看gtm.conf和cm.conf,了解下两者的内容大概是什么
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/gtm> cat gtm.conf
    # ----------------------
    # GTM configuration file
    # ----------------------
    #
    # This file must be placed on gtm working directory
    # specified by -D command line option of gtm or gtm_ctl.  The
    # configuration file name must be "gtm.conf"
    #
    #
    # This file consists of lines of the form
    #
    #  name = value
    #
    # (The "=" is optional.) Whitespace may be used.   Comments are
    # introduced with "#" anywhere on a line.  The complete list of
    # parameter names and allowed values can be found in the
    # Postgres-XC documentation.
    #
    # The commented-out settings shown in this file represent the default
    # values.
    #
    # Re-commenting a setting is NOT sufficient to revert it to the default
    # value.
    #
    # You need to restart the server.#------------------------------------------------------------------------------
    # GENERAL PARAMETERS
    #------------------------------------------------------------------------------nodename = 'gtm_1002' # Specifies the node name.# (changes requires restart)
    listen_addresses = 'localhost,192.168.5.203' # Listen addresses of this GTM.# (changes requires restart)
    port = 25306 # Port number of this GTM.# (changes requires restart)#------------------------------------------------------------------------------
    # ERROR REPORTING AND LOGGING
    #------------------------------------------------------------------------------log_directory = '/var/log/Bigdata/mpp/omm/pg_log/gtm' # directory where log files are written,# can be absolute or relative.
    #log_file = 'gtm-%Y-%m-%d_%H%M%S.log'   # Log file name
    #log_min_messages = WARNING             # log_min_messages.  Default WARNING.# Valid value: DEBUG, DEBUG5, DEBUG4, DEBUG3,# DEBUG2, DEBUG1, INFO, NOTICE, WARNING,# ERROR, LOG, FATAL, PANIC.#------------------------------------------------------------------------------
    # GTM STANDBY PARAMETERS
    #------------------------------------------------------------------------------#Those parameters are effective when GTM is activated as a standby server
    active_host = '192.168.5.205' # Listen address of active GTM.# (changes requires restart)
    active_port =                           25305# (changes requires restart)local_host = '192.168.5.203' # Listen address of HA local host.# (changes requires restart)
    local_port =                            25307# (changes requires restart)#---------------------------------------
    # OTHER OPTIONS
    #---------------------------------------enable_alarm = on
    enable_connect_control = true   # check ip.
    #standby_connection_timeout = 7 # standby connect timeout.
    #keepalives_idle = 0                    # Keepalives_idle parameter.
    #keepalives_interval = 0                # Keepalives_interval parameter.
    #keepalives_count = 0                   # Keepalives_count internal parameter.
    #synchronous_backup = auto              # If backup to standby is synchronous# off, on or auto.
    #wlm_max_mem = 2048             # Maximum memory an instance can use for its executions, unit: MB.# (changes requires restart)
    #query_memory_limit = 0.25      # Sets the percentage limit of memory a query can use.# (changes requires restart)alarm_component = '/opt/huawei/Bigdata/mppdb/snas_cm_cmd'
    
    查看cm.conf
    omm@host-192-168-5-203:/opt/huawei/Bigdata/mppdb/cm/cm_agent> cat cm.conf
    #--------------------------------------------------------------------------------------------------
    # LOG
    #--------------------------------------------------------------------------------------------------# Default: cm_agent data dir.
    cm_agent_log_dir = '/var/log/Bigdata/mpp/omm/cm/cm_agent'
    #
    # Default: cm_server data dir.
    cm_server_log_dir = '/var/log/Bigdata/mpp/omm/cm/cm_server'# Valid values: DEBUG5, DEBUG1, WARNING, ERROR, LOG, FATAL.
    # Default: WARNING
    log_min_messages = WARNING# Only support MB.
    # Default: 16MB.
    log_file_size = 16MB#--------------------------------------------------------------------------------------------------
    # ALARM
    #--------------------------------------------------------------------------------------------------alarm_component = '/opt/huawei/Bigdata/mppdb/snas_cm_cmd'# Default: 3
    alarm_report_interval = 3#--------------------------------------------------------------------------------------------------
    # TIMEOUT
    #--------------------------------------------------------------------------------------------------# Default: 30
    # Minimum:  8
    instance_heartbeat_timeout = 30# Default: 600
    coordinator_heartbeat_timeout = 600#--------------------------------------------------------------------------------------------------
    # THREAD POOL
    #--------------------------------------------------------------------------------------------------# Default: 10
    # Range  : [2, 255]
    thread_count = 10#--------------------------------------------------------------------------------------------------
    # ABNORMAL CHECK
    #--------------------------------------------------------------------------------------------------# Default: on
    enable_abnormal_check = onabnormal_check_memory_usage = '{ "_name" : "libac_memory_usage.so", "check_interval" : "60", "usage_threshold" : "70", "check_count" : "10" }'
    abnormal_check_general_task = '{ "_name" : "libac_general_task.so", "check_interval" : "3600" }'
    abnormal_check_create_table = '{ "_name" : "libac_create_table.so", "check_interval" : "150", "check_count" : "6" }'
    abnormal_check_phony_dead = '{ "_name" : "libac_phony_dead.so", "check_interval" : "180", "phony_dead_effective_time" : "5", "cmserver_phony_dead_restart_interval" : "21600" }'#--------------------------------------------------------------------------------------------------
    # STORAGE
    #--------------------------------------------------------------------------------------------------# Default: on
    enable_transaction_read_only = on# Default: 600
    datastorage_threshold_check_interval = 600# Default: 90
    datastorage_threshold_value_check = 90# Default: 43200
    max_datastorage_threshold_check = 43200#--------------------------------------------------------------------------------------------------
    # AUTH
    #--------------------------------------------------------------------------------------------------# Default: trust
    cm_auth_method = trustcm_krb_server_keyfile = /opt/huawei/Bigdata/mppdb/auth_config/mppdb.keytab#--------------------------------------------------------------------------------------------------
    # LOG COMPRESS
    #--------------------------------------------------------------------------------------------------# Default: on
    enable_log_compress = on# Default: 1800
    log_threshold_check_interval = 1800# Default: 1024
    log_max_size                 = 1024# Default: 10000
    log_max_count                = 10000# Default: 90
    log_saved_days               = 90log_pattern_cm_agent         = cm_agent-
    log_pattern_cm_ctl           = cm_ctl-
    log_pattern_cm_server        = cm_server-
    log_pattern_gs_backup        = gs_backup-
    log_pattern_gs_check         = gs_check-
    log_pattern_gs_checkos       = gs_checkos-
    log_pattern_gs_checkperf     = gs_checkperf-
    log_pattern_gs_clean         = gs_clean-
    log_pattern_gs_collector     = gs_collector-
    log_pattern_gs_ctl           = gs_ctl-
    log_pattern_gs_dump          = gs_dump-
    log_pattern_gs_dumpall       = gs_dumpall-
    log_pattern_gs_expand        = gs_expand-
    log_pattern_gs_guc           = gs_guc-
    log_pattern_gs_initcm        = gs_initcm-
    log_pattern_gs_initdb        = gs_initdb-
    log_pattern_gs_initgtm       = gs_initgtm-
    log_pattern_gs_install       = gs_install-
    log_pattern_gs_local         = gs_local-
    log_pattern_gs_om            = gs_om-
    
  6. 查看dws数据目录结构
    omm@host-192-168-5-204:/srv/BigData/mppdb/data1> ll
    total 16
    drwx------ 20 omm wheel 4096 Aug  7 17:45 coordinator  # 协调节点CN数据目录
    drwx------ 20 omm wheel 4096 Aug  7 17:45 dummyslave1  # 数据节点DN的从备
    drwx------ 20 omm wheel 4096 Aug  7 17:45 master1      # 数据节点DN主
    drwx------ 20 omm wheel 4096 Aug  7 17:45 slave1       # 数据节点DN从
    omm@host-192-168-5-204:/srv/BigData/mppdb/data1>
    
    查看CN节点数据目录,如下:
    omm@host-192-168-5-204:/srv/BigData/mppdb/data1/coordinator> ll
    total 160
    drwx------ 7 omm wheel    71 Oct 31  2023 base
    -rw------- 1 omm wheel  4403 Aug 17  2023 cacert.pem
    -rw------- 1 omm wheel    72 Aug  7 15:16 gaussdb.state
    drwx------ 2 omm wheel  4096 Aug  7 16:37 global
    drwx------ 2 omm wheel    26 Oct 26  2023 pg_clog
    drwx------ 2 omm wheel     6 Oct 26  2023 pg_clog_restore
    drwx------ 2 omm wheel    26 Oct 26  2023 pg_csnlog
    -rw------- 1 omm wheel     0 Oct 26  2023 pg_ctl.lock
    drwx------ 2 omm wheel     6 Nov  9  2023 pg_errorinfo
    -rw------- 1 omm wheel  4627 Oct 26  2023 pg_hba.conf
    -rw------- 1 omm wheel  4627 Oct 26  2023 pg_hba.conf.bak
    -rw------- 1 omm wheel  1024 Oct 26  2023 pg_hba.conf.lock
    -rw------- 1 omm wheel  1636 Oct 26  2023 pg_ident.conf
    drwx------ 4 omm wheel    39 Oct 26  2023 pg_llog
    drwx------ 4 omm wheel    37 Aug  7 16:36 pg_location
    drwx------ 4 omm wheel    36 Oct 26  2023 pg_multixact
    drwx------ 2 omm wheel     6 Oct 26  2023 pg_notify
    drwx------ 2 omm wheel     6 Oct 26  2023 pg_replslot
    drwx------ 2 omm wheel    32 Aug  7 15:16 pg_residualfiles
    drwx------ 2 omm wheel     6 Oct 26  2023 pg_serial
    drwx------ 2 omm wheel     6 Oct 26  2023 pg_snapshots
    drwx------ 2 omm wheel    25 Aug  7 15:16 pg_stat_tmp
    drwx------ 2 omm wheel    85 Aug  7 16:36 pg_tblspc
    drwx------ 2 omm wheel     6 Oct 26  2023 pg_twophase
    -rw------- 1 omm wheel     4 Oct 26  2023 PG_VERSION
    drwx------ 3 omm wheel  4096 Aug  7 16:31 pg_xlog
    -rw------- 1 omm wheel 35362 Aug  7 15:26 postgresql.conf
    -rw------- 1 omm wheel 35362 Aug  7 15:26 postgresql.conf.bak
    -rw------- 1 omm wheel  1024 Oct 26  2023 postgresql.conf.lock
    -rw------- 1 omm wheel   103 Aug  7 15:16 postmaster.opts
    -rw------- 1 omm wheel   125 Aug  7 15:16 postmaster.pid
    -rw------- 1 omm wheel  4405 Aug 17  2023 server.crt
    -rw------- 1 omm wheel  1766 Aug 17  2023 server.key
    -rw------- 1 omm wheel    40 Aug 17  2023 server.key.cipher
    -rw------- 1 omm wheel    24 Aug 17  2023 server.key.rand
    omm@host-192-168-5-204:/srv/BigData/mppdb/data1/coordinator> pwd
    /srv/BigData/mppdb/data1/coordinator
    
    查看DN节点数据目录,如下:
    omm@host-192-168-5-205:/srv/BigData/mppdb/data1/master1> ll
    total 132
    drwx------ 7 omm wheel    71 Oct 31  2023 base
    -rw------- 1 omm wheel    72 Aug  7 15:17 gaussdb.state
    drwx------ 2 omm wheel  4096 Aug  7 16:37 global
    drwx------ 2 omm wheel    26 Oct 26  2023 pg_clog
    drwx------ 2 omm wheel     6 Oct 26  2023 pg_clog_restore
    drwx------ 2 omm wheel    26 Oct 26  2023 pg_csnlog
    -rw------- 1 omm wheel     0 Nov 15  2023 pg_ctl.lock
    drwx------ 2 omm wheel     6 Nov  9  2023 pg_errorinfo
    -rw------- 1 omm wheel  4627 Oct 26  2023 pg_hba.conf
    -rw------- 1 omm wheel  4627 Oct 26  2023 pg_hba.conf.bak
    -rw------- 1 omm wheel  1024 Oct 26  2023 pg_hba.conf.lock
    -rw------- 1 omm wheel  1636 Oct 26  2023 pg_ident.conf
    drwx------ 4 omm wheel    39 Oct 26  2023 pg_llog
    drwx------ 4 omm wheel    37 Aug  7 16:36 pg_location
    drwx------ 4 omm wheel    36 Oct 26  2023 pg_multixact
    drwx------ 2 omm wheel     6 Oct 26  2023 pg_notify
    drwx------ 4 omm wheel    46 Oct 26  2023 pg_replslot
    drwx------ 2 omm wheel    32 Aug  7 15:17 pg_residualfiles
    drwx------ 2 omm wheel     6 Oct 26  2023 pg_serial
    drwx------ 2 omm wheel     6 Oct 26  2023 pg_snapshots
    drwx------ 2 omm wheel    25 Aug  7 15:16 pg_stat_tmp
    drwx------ 2 omm wheel    85 Aug  7 16:36 pg_tblspc
    drwx------ 2 omm wheel     6 Oct 26  2023 pg_twophase
    -rw------- 1 omm wheel     4 Oct 26  2023 PG_VERSION
    drwx------ 3 omm wheel  4096 Aug  7 15:23 pg_xlog
    -rw------- 1 omm wheel 35575 Oct 26  2023 postgresql.conf
    -rw------- 1 omm wheel 35575 Oct 26  2023 postgresql.conf.bak
    -rw------- 1 omm wheel  1024 Oct 26  2023 postgresql.conf.lock
    -rw------- 1 omm wheel   111 Aug  7 15:17 postmaster.opts
    -rw------- 1 omm wheel   124 Aug  7 15:16 postmaster.pid
    omm@host-192-168-5-205:/srv/BigData/mppdb/data1/master1>
    
    CN和DN数据目录结构不同点如下图所示:
    在这里插入图片描述
    进入CN某个表空间目录下查看下数据库下的数据文件:
    omm@host-192-168-5-203:/srv/BigData/mppdb/data1/master1/pg_tblspc> ll
    total 0
    lrwxrwxrwx 1 omm wheel 52 Aug  7 16:36 135423 -> /srv/BigData/mppdb/data1/master1/pg_location/ts/ts01
    lrwxrwxrwx 1 omm wheel 77 Nov  2  2023 55632 -> /srv/BigData/mppdb/data1/master1/pg_location/tb_tablespace/tb_tablespace_tbs1
    lrwxrwxrwx 1 omm wheel 77 Nov  7  2023 83846 -> /srv/BigData/mppdb/data1/master1/pg_location/tb_tablespace/tb_tablespace_tbs2
    lrwxrwxrwx 1 omm wheel 77 Nov  7  2023 83847 -> /srv/BigData/mppdb/data1/master1/pg_location/tb_tablespace/tb_tablespace_tbs3
    lrwxrwxrwx 1 omm wheel 77 Nov  7  2023 83848 -> /srv/BigData/mppdb/data1/master1/pg_location/tb_tablespace/tb_tablespace_tbs4
    lrwxrwxrwx 1 omm wheel 77 Nov  7  2023 83849 -> /srv/BigData/mppdb/data1/master1/pg_location/tb_tablespace/tb_tablespace_tbs5omm@host-192-168-5-203:/srv/BigData/mppdb/data1/master1/pg_tblspc>omm@host-192-168-5-204:/srv/BigData/mppdb/data1/coordinator/pg_tblspc/135737/PG_9.2_201611171_cn_5002/135744> ls
    15112      15130_vm  15181      15206_vm   15234      15255_fsm  15283      15307_fsm  15361      15420_vm   15477_fsm  15507
    15112_fsm  15132     15183      15208      15234_fsm  15255_vm   15283_fsm  15307_vm   15362      15422      15477_vm   15509
    15112_vm   15133     15184      15210      15234_vm   15257      15283_vm   15309      15363      15423      15479      15511
    15114      15138     15184_fsm  15211      15236      15258      15285      15310      15363_fsm  15424      15481      15512
    15115      15140     15184_vm   15212      15237      15259      15287      15342      15363_vm   15424_fsm  15482      15514
    15116      15142     15186      15213      15238      15261      15288      15342_fsm  15365      15424_vm   15482_fsm  15516
    15116_fsm  15143     15186_fsm  15213_fsm  15238_fsm  15262      15289      15342_vm   15366      15426      15482_vm   15517
    15116_vm   15148     15186_vm   15213_vm   15238_vm   15262_fsm  15289_fsm  15344      15367      15435      15484      15519
    15118      15150     15188      15215      15240      15262_vm   15289_vm   15345      15369      15437      15486      15521
    15118_fsm  15152     15189      15217      15241      15264      15291      15346      15371      15438      15487      15522
    15118_vm   15153     15190      15218      15242      15265      15292      15346_fsm  15372      15439      15487_fsm  15524
    15120      15155     15191      15219      15242_fsm  15265_fsm  15293      15346_vm   15397      15441      15487_vm   15526
    15121      15157     15191_fsm  15220      15242_vm   15265_vm   15295      15348      15399      15442      15489      15527
    15122      15158     15191_vm   15221      15244      15267      15296      15349      15400      15447      15491      pg_filenode.map
    15122_fsm  15160     15193      15222      15245      15267_fsm  15297      15349_fsm  15402      15449      15492      pg_filenode.map.backup
    15122_vm   15162     15194      15224      15246      15267_vm   15298      15349_vm   15404      15450      15492_fsm  pg_internal.init.91635
    15124      15163     15195      15225      15246_fsm  15269      15298_fsm  15351      15405      15452      15492_vm   PG_VERSION
    15124_fsm  15165     15196      15226      15246_vm   15270      15298_vm   15352      15406      15453      15494
    15125      15167     15198      15226_fsm  15248      15271      15300      15353      15407      15456      15496
    15125_fsm  15168     15200      15226_vm   15249      15272      15301      15353_fsm  15409      15458      15497
    15126      15169     15201      15228      15250      15274      15302      15353_vm   15410      15459      15497_fsm
    15126_fsm  15171     15202      15229      15251      15276      15302_fsm  15355      15411      15472      15497_vm
    15126_vm   15173     15203      15230      15251_fsm  15277      15302_vm   15356      15413      15472_fsm  15499
    15128      15174     15204      15230_fsm  15251_vm   15278      15304      15357      15415      15472_vm   15501
    15129      15176     15205      15230_vm   15253      15279      15305      15359      15416      15474      15502
    15130      15178     15206      15232      15254      15280      15306      15359_fsm  15420      15476      15504
    15130_fsm  15179     15206_fsm  15233      15255      15282      15307      15359_vm   15420_fsm  15477      15506
    omm@host-192-168-5-204:/srv/BigData/mppdb/data1/coordinator/pg_tblspc/135737/PG_9.2_201611171_cn_5002/135744>
    进入DN某个表空间目录下查看下数据库下的数据文件:
    omm@host-192-168-5-205:/srv/BigData/mppdb/data1/master1/pg_tblspc> ll
    total 0
    lrwxrwxrwx 1 omm wheel 52 Aug  7 16:36 135423 -> /srv/BigData/mppdb/data1/master1/pg_location/ts/ts01
    lrwxrwxrwx 1 omm wheel 77 Nov  2  2023 55653 -> /srv/BigData/mppdb/data1/master1/pg_location/tb_tablespace/tb_tablespace_tbs1
    lrwxrwxrwx 1 omm wheel 77 Nov  7  2023 83868 -> /srv/BigData/mppdb/data1/master1/pg_location/tb_tablespace/tb_tablespace_tbs2
    lrwxrwxrwx 1 omm wheel 77 Nov  7  2023 83869 -> /srv/BigData/mppdb/data1/master1/pg_location/tb_tablespace/tb_tablespace_tbs3
    lrwxrwxrwx 1 omm wheel 77 Nov  7  2023 83870 -> /srv/BigData/mppdb/data1/master1/pg_location/tb_tablespace/tb_tablespace_tbs4
    lrwxrwxrwx 1 omm wheel 77 Nov  7  2023 83871 -> /srv/BigData/mppdb/data1/master1/pg_location/tb_tablespace/tb_tablespace_tbs5omm@host-192-168-5-205:/srv/BigData/mppdb/data1/master1/pg_tblspc>omm@host-192-168-5-205:/srv/BigData/mppdb/data1/master1/pg_tblspc/135423/PG_9.2_201611171_dn_6005_6006/135430> ls
    15112      15130_vm  15181      15206_vm   15234      15255_fsm  15283      15307_fsm  15361      15420_vm   15477_fsm  15507
    15112_fsm  15132     15183      15208      15234_fsm  15255_vm   15283_fsm  15307_vm   15362      15422      15477_vm   15509
    15112_vm   15133     15184      15210      15234_vm   15257      15283_vm   15309      15363      15423      15479      15511
    15114      15138     15184_fsm  15211      15236      15258      15285      15310      15363_fsm  15424      15481      15512
    15115      15140     15184_vm   15212      15237      15259      15287      15342      15363_vm   15424_fsm  15482      15514
    15116      15142     15186      15213      15238      15261      15288      15342_fsm  15365      15424_vm   15482_fsm  15516
    15116_fsm  15143     15186_fsm  15213_fsm  15238_fsm  15262      15289      15342_vm   15366      15426      15482_vm   15517
    15116_vm   15148     15186_vm   15213_vm   15238_vm   15262_fsm  15289_fsm  15344      15367      15435      15484      15519
    15118      15150     15188      15215      15240      15262_vm   15289_vm   15345      15369      15437      15486      15521
    15118_fsm  15152     15189      15217      15241      15264      15291      15346      15371      15438      15487      15522
    15118_vm   15153     15190      15218      15242      15265      15292      15346_fsm  15372      15439      15487_fsm  15524
    15120      15155     15191      15219      15242_fsm  15265_fsm  15293      15346_vm   15397      15441      15487_vm   15526
    15121      15157     15191_fsm  15220      15242_vm   15265_vm   15295      15348      15399      15442      15489      15527
    15122      15158     15191_vm   15221      15244      15267      15296      15349      15400      15447      15491      pg_filenode.map
    15122_fsm  15160     15193      15222      15245      15267_fsm  15297      15349_fsm  15402      15449      15492      pg_filenode.map.backup
    15122_vm   15162     15194      15224      15246      15267_vm   15298      15349_vm   15404      15450      15492_fsm  pg_internal.init.91635
    15124      15163     15195      15225      15246_fsm  15269      15298_fsm  15351      15405      15452      15492_vm   PG_VERSION
    15124_fsm  15165     15196      15226      15246_vm   15270      15298_vm   15352      15406      15453      15494
    15125      15167     15198      15226_fsm  15248      15271      15300      15353      15407      15456      15496
    15125_fsm  15168     15200      15226_vm   15249      15272      15301      15353_fsm  15409      15458      15497
    15126      15169     15201      15228      15250      15274      15302      15353_vm   15410      15459      15497_fsm
    15126_fsm  15171     15202      15229      15251      15276      15302_fsm  15355      15411      15472      15497_vm
    15126_vm   15173     15203      15230      15251_fsm  15277      15302_vm   15356      15413      15472_fsm  15499
    15128      15174     15204      15230_fsm  15251_vm   15278      15304      15357      15415      15472_vm   15501
    15129      15176     15205      15230_vm   15253      15279      15305      15359      15416      15474      15502
    15130      15178     15206      15232      15254      15280      15306      15359_fsm  15420      15476      15504
    15130_fsm  15179     15206_fsm  15233      15255      15282      15307      15359_vm   15420_fsm  15477      15506
    omm@host-192-168-5-205:/srv/BigData/mppdb/data1/master1/pg_tblspc/135423/PG_9.2_201611171_dn_6005_6006/135430>
    
    通过对比CN和DN表空间下数据库数据文件对比,并未发现有和区别,说明两者数据组织方式是一样的。

三、测试验证

  1. 利用gsql登录到postgres数据库下,例如执行如下命令:

    omm@host-192-168-5-203: ~> gsql -d postgres -p 25308
    
  2. 查看dws集群节点信息,可查两张系统视图

    postgres=# select * from pgxc_node_env order by node_name;																			node_name   |     host     | process | port  |          installpath           |               datapath               |              log_directory																			
    --------------+--------------+---------+-------+--------------------------------+--------------------------------------+-----------------------------------------																			cn_5001      | localhost    |    6951 | 25308 | /opt/huawei/Bigdata/mppdb/core | /srv/BigData/mppdb/data1/coordinator | /var/log/Bigdata/mpp/omm/pg_log/cn_5001																			cn_5002      | 192.168.5.204 |    6071 | 25308 | /opt/huawei/Bigdata/mppdb/core | /srv/BigData/mppdb/data1/coordinator | /var/log/Bigdata/mpp/omm/pg_log/cn_5002																			cn_5003      | 192.168.5.205 |    6863 | 25308 | /opt/huawei/Bigdata/mppdb/core | /srv/BigData/mppdb/data1/coordinator | /var/log/Bigdata/mpp/omm/pg_log/cn_5003																			dn_6001_6002 | 192.168.5.203 |    6959 | 25330 | /opt/huawei/Bigdata/mppdb/core | /srv/BigData/mppdb/data1/master1     | /var/log/Bigdata/mpp/omm/pg_log/dn_6001																			dn_6003_6004 | 192.168.5.204 |    6214 | 25330 | /opt/huawei/Bigdata/mppdb/core | /srv/BigData/mppdb/data1/master1     | /var/log/Bigdata/mpp/omm/pg_log/dn_6003																			dn_6005_6006 | 192.168.5.205 |    6879 | 25330 | /opt/huawei/Bigdata/mppdb/core | /srv/BigData/mppdb/data1/master1     | /var/log/Bigdata/mpp/omm/pg_log/dn_6005																			
    (6 rows)postgres=# select * from pgxc_node;	node_name   | node_type | node_port |  node_host   | node_port1 |  node_host1  | hostis_primary | nodeis_primary | nodeis_preferred |   node_id   | sctp_port | control_port | sctp_port1 | control_port1 | nodeis_central	
    --------------+-----------+-----------+--------------+------------+--------------+----------------+----------------+------------------+-------------+-----------+--------------+------------+---------------+----------------	cn_5003      | C         |     25308 | 192.168.5.205 |      25308 | 192.168.5.205 | t              | f              | f                |  -125853378 |     25310 |        25311 |          0 |             0 | f	cn_5001      | C         |     25308 | localhost    |      25308 | localhost    | t              | f              | f                |  1120683504 |     25310 |        25311 |          0 |             0 | f	cn_5002      | C         |     25308 | 192.168.5.204 |      25308 | 192.168.5.204 | t              | f              | f                | -1736975100 |     25310 |        25311 |          0 |             0 | t	dn_6001_6002 | D         |     25330 | 192.168.5.203 |      25490 | 192.168.5.204 | t              | f              | f                |  1644780306 |     25332 |        25333 |      25492 |         25493 | f	dn_6003_6004 | D         |     25330 | 192.168.5.204 |      25490 | 192.168.5.205 | t              | f              | f                |  -966646068 |     25332 |        25333 |      25492 |         25493 | f	dn_6005_6006 | D         |     25330 | 192.168.5.205 |      25490 | 192.168.5.203 | t              | f              | f                |   868850011 |     25332 |        25333 |      25492 |         25493 | f	
    (6 rows)																	
    
  3. 创建用户自定义表空间、database和用户表

    create tablespace ts01 relative location 'ts/ts01';
    create database db01 tablespace ts01;
    create table t1(id int) tablespace ts01;
    
  4. 切换到db01数据库下,查看表空间、数据库、表的oid

    db01=# select oid, * from pg_tablespace where spcname='ts01';								oid   | spcname | spcowner | spcacl | spcoptions | spcmaxsize | relative								
    --------+---------+----------+--------+------------+------------+----------								135738 | ts01    |       10 |        |            |            | t								
    (1 row)								db01=# select oid,datname,dattablespace from pg_database where datname='db01';								oid   | datname | dattablespace								
    --------+---------+---------------								135745 | db01    |        135738								
    (1 row)												db01=# select oid,* from pg_class where relname='t1';								oid   | relname | relnamespace | reltype | reloftype | relowner | relam | relfilenode | reltablespace | relpages | reltuples | relallvisible | reltoastrelid | reltoastidxid | reldeltarelid | reldeltaidx | relcudescrelid | relcudescidx | relhasindex | relisshared | relpersistence | relkind | relnatts | relchecks | relhasoids | relhaspkey | relhasrules | relhastriggers | relhassubclass | relcmprs | relhasclusterkey | relrowmovement | parttype | relfrozenxid | relacl |            reloptions            | relreplident | relfrozenxid64								
    --------+---------+--------------+---------+-----------+----------+-------+-------------+---------------+----------+-----------+---------------+---------------+---------------+---------------+-------------+----------------+--------------+-------------+-------------+----------------+---------+----------+-----------+------------+------------+-------------+----------------+----------------+----------+------------------+----------------+----------+--------------+--------+----------------------------------+--------------+----------------								136277 | t1      |         2200 |  136279 |         0 |       10 |     0 |      136277 |             0 |        0 |         0 |             0 |             0 |             0 |             0 |           0 |              0 |            0 | f           | f           | p              | r       |        1 |         0 | f          | f          | f           | f              | f              | 1        | f                | f              | n        | 1654215      |        | {orientation=row,compression=no} | d            |        1654215								
    (1 row)								
    

    上述查看到表空间和数据库的关系可以通过oid进行关联,但是所查的表oid只看到了表oid和schema(relnamespace字段)的oid进行关联,relnamespace等于2200的是名为public的schema。

  5. 根据前一个步骤所查到的oid,查看物理目录及文件
    查看当前gsql客户端所连接的CN节点dws03(192.168.5.203))上的数据目录及数据文件,经查看和上述所查到表空间、数据库及表的oid保持一一对应,如下:

    omm@host-192-168-5-203:/srv/BigData/mppdb/data1/coordinator/pg_location/ts/ts01/PG_9.2_201611171_cn_5001/135745> ls																
    136277     15130_fsm  15179      15206_fsm  15233      15255      15282      15307      15359_vm   15420_fsm  15477      15506																
    15112      15130_vm   15181      15206_vm   15234      15255_fsm  15283      15307_fsm  15361      15420_vm   15477_fsm  15507																
    15112_fsm  15132      15183      15208      15234_fsm  15255_vm   15283_fsm  15307_vm   15362      15422      15477_vm   15509																
    15112_vm   15133      15184      15210      15234_vm   15257      15283_vm   15309      15363      15423      15479      15511																
    15114      15138      15184_fsm  15211      15236      15258      15285      15310      15363_fsm  15424      15481      15512																
    15115      15140      15184_vm   15212      15237      15259      15287      15342      15363_vm   15424_fsm  15482      15514																
    15116      15142      15186      15213      15238      15261      15288      15342_fsm  15365      15424_vm   15482_fsm  15516																
    15116_fsm  15143      15186_fsm  15213_fsm  15238_fsm  15262      15289      15342_vm   15366      15426      15482_vm   15517																
    15116_vm   15148      15186_vm   15213_vm   15238_vm   15262_fsm  15289_fsm  15344      15367      15435      15484      15519																
    15118      15150      15188      15215      15240      15262_vm   15289_vm   15345      15369      15437      15486      15521																
    15118_fsm  15152      15189      15217      15241      15264      15291      15346      15371      15438      15487      15522																
    15118_vm   15153      15190      15218      15242      15265      15292      15346_fsm  15372      15439      15487_fsm  15524																
    15120      15155      15191      15219      15242_fsm  15265_fsm  15293      15346_vm   15397      15441      15487_vm   15526																
    15121      15157      15191_fsm  15220      15242_vm   15265_vm   15295      15348      15399      15442      15489      15527																
    15122      15158      15191_vm   15221      15244      15267      15296      15349      15400      15447      15491      pg_filenode.map																
    15122_fsm  15160      15193      15222      15245      15267_fsm  15297      15349_fsm  15402      15449      15492      pg_filenode.map.backup																
    15122_vm   15162      15194      15224      15246      15267_vm   15298      15349_vm   15404      15450      15492_fsm  pg_internal.init.91635																
    15124      15163      15195      15225      15246_fsm  15269      15298_fsm  15351      15405      15452      15492_vm   PG_VERSION																
    15124_fsm  15165      15196      15226      15246_vm   15270      15298_vm   15352      15406      15453      15494																
    15125      15167      15198      15226_fsm  15248      15271      15300      15353      15407      15456      15496																
    15125_fsm  15168      15200      15226_vm   15249      15272      15301      15353_fsm  15409      15458      15497																
    15126      15169      15201      15228      15250      15274      15302      15353_vm   15410      15459      15497_fsm																
    15126_fsm  15171      15202      15229      15251      15276      15302_fsm  15355      15411      15472      15497_vm																
    15126_vm   15173      15203      15230      15251_fsm  15277      15302_vm   15356      15413      15472_fsm  15499																
    15128      15174      15204      15230_fsm  15251_vm   15278      15304      15357      15415      15472_vm   15501																
    15129      15176      15205      15230_vm   15253      15279      15305      15359      15416      15474      15502																
    15130      15178      15206      15232      15254      15280      15306      15359_fsm  15420      15476      15504																
    omm@host-192-168-5-203:/srv/BigData/mppdb/data1/coordinator/pg_location/ts/ts01/PG_9.2_201611171_cn_5001/135745>																
    

    其中:135745文件db01oid136277为表t1的oid
    查看 dws04(192.168.5.204 ) 节点上CN的数据目录及其数据文件,其中数据库目录的名称(oid)不一样(目录名称为:135744,而db01的oid是135745),但是表文件的名称是和表的oid一样的

    omm@host-192-168-5-204:/srv/BigData/mppdb/data1/coordinator/pg_location/ts/ts01/PG_9.2_201611171_cn_5002/135744> ls															
    136277     15130_fsm  15179      15206_fsm  15233      15255      15282      15307      15359_vm   15420_fsm  15477      15506															
    15112      15130_vm   15181      15206_vm   15234      15255_fsm  15283      15307_fsm  15361      15420_vm   15477_fsm  15507															
    15112_fsm  15132      15183      15208      15234_fsm  15255_vm   15283_fsm  15307_vm   15362      15422      15477_vm   15509															
    15112_vm   15133      15184      15210      15234_vm   15257      15283_vm   15309      15363      15423      15479      15511															
    15114      15138      15184_fsm  15211      15236      15258      15285      15310      15363_fsm  15424      15481      15512															
    15115      15140      15184_vm   15212      15237      15259      15287      15342      15363_vm   15424_fsm  15482      15514															
    15116      15142      15186      15213      15238      15261      15288      15342_fsm  15365      15424_vm   15482_fsm  15516															
    15116_fsm  15143      15186_fsm  15213_fsm  15238_fsm  15262      15289      15342_vm   15366      15426      15482_vm   15517															
    15116_vm   15148      15186_vm   15213_vm   15238_vm   15262_fsm  15289_fsm  15344      15367      15435      15484      15519															
    15118      15150      15188      15215      15240      15262_vm   15289_vm   15345      15369      15437      15486      15521															
    15118_fsm  15152      15189      15217      15241      15264      15291      15346      15371      15438      15487      15522															
    15118_vm   15153      15190      15218      15242      15265      15292      15346_fsm  15372      15439      15487_fsm  15524															
    15120      15155      15191      15219      15242_fsm  15265_fsm  15293      15346_vm   15397      15441      15487_vm   15526															
    15121      15157      15191_fsm  15220      15242_vm   15265_vm   15295      15348      15399      15442      15489      15527															
    15122      15158      15191_vm   15221      15244      15267      15296      15349      15400      15447      15491      pg_filenode.map															
    15122_fsm  15160      15193      15222      15245      15267_fsm  15297      15349_fsm  15402      15449      15492      pg_filenode.map.backup															
    15122_vm   15162      15194      15224      15246      15267_vm   15298      15349_vm   15404      15450      15492_fsm  pg_internal.init.91635															
    15124      15163      15195      15225      15246_fsm  15269      15298_fsm  15351      15405      15452      15492_vm   PG_VERSION															
    15124_fsm  15165      15196      15226      15246_vm   15270      15298_vm   15352      15406      15453      15494															
    15125      15167      15198      15226_fsm  15248      15271      15300      15353      15407      15456      15496															
    15125_fsm  15168      15200      15226_vm   15249      15272      15301      15353_fsm  15409      15458      15497															
    15126      15169      15201      15228      15250      15274      15302      15353_vm   15410      15459      15497_fsm															
    15126_fsm  15171      15202      15229      15251      15276      15302_fsm  15355      15411      15472      15497_vm															
    15126_vm   15173      15203      15230      15251_fsm  15277      15302_vm   15356      15413      15472_fsm  15499															
    15128      15174      15204      15230_fsm  15251_vm   15278      15304      15357      15415      15472_vm   15501															
    15129      15176      15205      15230_vm   15253      15279      15305      15359      15416      15474      15502															
    15130      15178      15206      15232      15254      15280      15306      15359_fsm  15420      15476      15504															
    

    查看dws05(192.168.5.205) 节点上CN的数据目录及其数据文件,其中数据库目录的名称(oid)不一样(目录名称为:135741,而db01的oid是135745),表文件的名称是和表的oid也不一样的

    omm@host-192-168-5-205:/srv/BigData/mppdb/data1/coordinator/pg_location/ts/ts01/PG_9.2_201611171_cn_5003/135741> ls						
    136273     15129      15176      15205      15230_vm   15253      15279      15305      15359      15416      15474      15502						
    15130      15178      15206      15232      15254      15280      15306      15359_fsm  15420      15476      15504						
    15130_fsm  15179      15206_fsm  15233      15255      15282      15307      15359_vm   15420_fsm  15477      15506						
    15112      15130_vm   15181      15206_vm   15234      15255_fsm  15283      15307_fsm  15361      15420_vm   15477_fsm  15507						
    15112_fsm  15132      15183      15208      15234_fsm  15255_vm   15283_fsm  15307_vm   15362      15422      15477_vm   15509						
    15112_vm   15133      15184      15210      15234_vm   15257      15283_vm   15309      15363      15423      15479      15511						
    15114      15138      15184_fsm  15211      15236      15258      15285      15310      15363_fsm  15424      15481      15512						
    15115      15140      15184_vm   15212      15237      15259      15287      15342      15363_vm   15424_fsm  15482      15514						
    15116      15142      15186      15213      15238      15261      15288      15342_fsm  15365      15424_vm   15482_fsm  15516						
    15116_fsm  15143      15186_fsm  15213_fsm  15238_fsm  15262      15289      15342_vm   15366      15426      15482_vm   15517						
    15116_vm   15148      15186_vm   15213_vm   15238_vm   15262_fsm  15289_fsm  15344      15367      15435      15484      15519						
    15118      15150      15188      15215      15240      15262_vm   15289_vm   15345      15369      15437      15486      15521						
    15118_fsm  15152      15189      15217      15241      15264      15291      15346      15371      15438      15487      15522						
    15118_vm   15153      15190      15218      15242      15265      15292      15346_fsm  15372      15439      15487_fsm  15524						
    15120      15155      15191      15219      15242_fsm  15265_fsm  15293      15346_vm   15397      15441      15487_vm   15526						
    15121      15157      15191_fsm  15220      15242_vm   15265_vm   15295      15348      15399      15442      15489      15527						
    15122      15158      15191_vm   15221      15244      15267      15296      15349      15400      15447      15491      pg_filenode.map						
    15122_fsm  15160      15193      15222      15245      15267_fsm  15297      15349_fsm  15402      15449      15492      pg_filenode.map.backup						
    15122_vm   15162      15194      15224      15246      15267_vm   15298      15349_vm   15404      15450      15492_fsm  pg_internal.init.91635						
    15124      15163      15195      15225      15246_fsm  15269      15298_fsm  15351      15405      15452      15492_vm   PG_VERSION						
    15124_fsm  15165      15196      15226      15246_vm   15270      15298_vm   15352      15406      15453      15494						
    15125      15167      15198      15226_fsm  15248      15271      15300      15353      15407      15456      15496						
    15125_fsm  15168      15200      15226_vm   15249      15272      15301      15353_fsm  15409      15458      15497						
    15126      15169      15201      15228      15250      15274      15302      15353_vm   15410      15459      15497_fsm						
    15126_fsm  15171      15202      15229      15251      15276      15302_fsm  15355      15411      15472      15497_vm						
    15126_vm   15173      15203      15230      15251_fsm  15277      15302_vm   15356      15413      15472_fsm  15499						
    15128      15174      15204      15230_fsm  15251_vm   15278      15304      15357      15415      15472_vm   15501						
    
  6. 查看数据节点DN的变化(todo)

  7. 创建表继续测试

    db01=# SELECT node_name,node_type,node_host FROM pgxc_node where node_type='D';												dn_6001_6002 | D         | 192.168.5.203												dn_6003_6004 | D         | 192.168.5.204												dn_6005_6006 | D         | 192.168.5.205												db01=# insert into t1 values(1),(2),(3),(4),(5),(6);												
    db01=# execute direct on(dn_6005_6006) 'select * from t1';												
    3												
    6												db01=# execute direct on(dn_6003_6004) 'select * from t1';												
    2												
    5												db01=# execute direct on(dn_6001_6002) 'select * from t1';												
    1												
    4												db01=# create table t2(id int,name varchar(50)) distribute by replication;												
    db01=# insert into t2 values(1,'suben'),(2,'zhangsan'),(3,'lisi');												db01=# execute direct on(dn_6001_6002) 'select * from t2';												1 | suben												2 | zhangsan												3 | lisi												db01=# execute direct on(dn_6003_6004) 'select * from t2';												1 | suben												2 | zhangsan												3 | lisi												db01=# execute direct on(dn_6005_6006) 'select * from t2';												1 | suben												2 | zhangsan												3 | lisi												db01=# create table t3(id int,name varchar(50)) distribute by hash(id);												db01=# insert into t3 values(1,'suben'),(2,'zhangsan'),(3,'lisi'),(4,'wuhang'),(5,'wangwu'),(6,'zhangfei');												db01=# execute direct on(dn_6001_6002) 'select * from t3';												3 | lisi												db01=# execute direct on(dn_6003_6004) 'select * from t3';												1 | suben												2 | zhangsan												4 | wuhang												5 | wangwu												db01=# execute direct on(dn_6005_6006) 'select * from t3';												6 | zhangfei												db01=# select oid,relname from pg_class where relname='part01';												140801 | part01												db01=# select relname,parttype,parentid,relfilenode,boundaries from pg_partition where parentid=140801;												part01  | r        |   140801 |           0 |												p1      | p        |   140801 |      140805 | {3}												p2      | p        |   140801 |      140806 | {5}												p3      | p        |   140801 |      140807 | {7}												p4      | p        |   140801 |      140808 | {NULL}												
    

    查看CN节点数据目录的变化:

    omm@host-192-168-5-203:/srv/BigData/mppdb/data1/coordinator/pg_tblspc/135738/PG_9.2_201611171_cn_5001/135745> ls -l 1408*													
    -rw------- 1 omm wheel 0 Aug  8 13:58 140801													
    -rw------- 1 omm wheel 0 Aug  8 13:58 140805													
    -rw------- 1 omm wheel 0 Aug  8 13:58 140806													
    -rw------- 1 omm wheel 0 Aug  8 13:58 140807													
    -rw------- 1 omm wheel 0 Aug  8 13:58 140808													omm@host-192-168-5-204:/srv/BigData/mppdb/data1/coordinator/pg_location/ts/ts01/PG_9.2_201611171_cn_5002/135744> ls -l 14080*					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140801					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140805					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140806					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140807					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140808					omm@host-192-168-5-205:/srv/BigData/mppdb/data1/coordinator/pg_location/ts/ts01/PG_9.2_201611171_cn_5003/135741> ls -l 1408*						
    -rw------- 1 omm wheel 0 Aug  8 13:58 140801						
    -rw------- 1 omm wheel 0 Aug  8 13:58 140802						
    -rw------- 1 omm wheel 0 Aug  8 13:58 140803						
    -rw------- 1 omm wheel 0 Aug  8 13:58 140804						
    

    继续插入数据:

    db01=# insert into part01 values(1,'test1'),(2,'test2'),(3,'test3'),(4,'test4'),(5,'test5'),(6,'test6');					db01=# execute direct on(dn_6001_6002) 'select * from part01 partition (p1)';					db01=# execute direct on(dn_6001_6002) 'select * from part01 partition (p2)';					3 | test3					db01=# execute direct on(dn_6001_6002) 'select * from part01 partition (p3)';					db01=# execute direct on(dn_6001_6002) 'select * from part01 partition (p4)';					db01=# execute direct on(dn_6003_6004) 'select * from part01 partition (p1)';					1 | test1					2 | test2					db01=# execute direct on(dn_6003_6004) 'select * from part01 partition (p2)';					4 | test4					db01=# execute direct on(dn_6003_6004) 'select * from part01 partition (p3)';					5 | test5					db01=# execute direct on(dn_6003_6004) 'select * from part01 partition (p4)';					db01=# execute direct on(dn_6005_6006) 'select * from part01 partition (p1)';					db01=# execute direct on(dn_6005_6006) 'select * from part01 partition (p2)';					db01=# execute direct on(dn_6005_6006) 'select * from part01 partition (p3)';					6 | test6					db01=# execute direct on(dn_6005_6006) 'select * from part01 partition (p4)';					db01=# select * from part01 partition (p1);					1 | test1					2 | test2					db01=# select * from part01 partition (p2);					3 | test3					4 | test4					db01=# select * from part01 partition (p3);					5 | test5					6 | test6					
    

    可看到查询分区表时,并行从各个分区所在的DN节点中检索数据,并汇总到CN,由CN返回给客户端。
    查看CN节点数据目录的文件变化,发现并没有将上述内容写入对下的文件,文件的大小依然是0字节:

    omm@host-192-168-5-203:/srv/BigData/mppdb/data1/coordinator/pg_tblspc/135738/PG_9.2_201611171_cn_5001/135745> ls -l 1408*					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140801					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140805					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140806					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140807					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140808omm@host-192-168-5-204:/srv/BigData/mppdb/data1/coordinator/pg_location/ts/ts01/PG_9.2_201611171_cn_5002/135744> ls -l 14080*					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140801					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140805					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140806					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140807					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140808					omm@host-192-168-5-205:/srv/BigData/mppdb/data1/coordinator/pg_location/ts/ts01/PG_9.2_201611171_cn_5003/135741> ls -l 1408*						
    -rw------- 1 omm wheel 0 Aug  8 13:58 140801						
    -rw------- 1 omm wheel 0 Aug  8 13:58 140802						
    -rw------- 1 omm wheel 0 Aug  8 13:58 140803						
    -rw------- 1 omm wheel 0 Aug  8 13:58 140804						
    

    查看默认的checkpoint_time时间是15分钟

    db01=# show checkpoint_timeout;			
    15min			
    

    手动执行checkpoint,让数据落盘:

    db01=# checkpoint;		
    

    继续查看CN节点对应的数据目录下的文件变化,发现相关文件的大小依然是0,说明CN节点并不会记录真实的数据到对应的表文件中

    omm@host-192-168-5-203:/srv/BigData/mppdb/data1/coordinator/pg_tblspc/135738/PG_9.2_201611171_cn_5001/135745> ls -l 1408*					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140801					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140805					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140806					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140807					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140808omm@host-192-168-5-204:/srv/BigData/mppdb/data1/coordinator/pg_location/ts/ts01/PG_9.2_201611171_cn_5002/135744> ls -l 14080*					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140801					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140805					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140806					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140807					
    -rw------- 1 omm wheel 0 Aug  8 13:58 140808					omm@host-192-168-5-205:/srv/BigData/mppdb/data1/coordinator/pg_location/ts/ts01/PG_9.2_201611171_cn_5003/135741> ls -l 1408*						
    -rw------- 1 omm wheel 0 Aug  8 13:58 140801						
    -rw------- 1 omm wheel 0 Aug  8 13:58 140802						
    -rw------- 1 omm wheel 0 Aug  8 13:58 140803						
    -rw------- 1 omm wheel 0 Aug  8 13:58 140804	
    

    到此的问题:到底数据是写入到哪个文件去了呢?
    该表的数据已经被写入到/srv/BigData/mppdb/data1/master1/

  8. 继续测试,创建的新的数据库和表,这次只查看DN节点上数据目录的变化

    postgres=# create database testdb encoding 'utf8' template template0;							
    postgres=# select oid,datname from pg_database where datname='testdb';									oid   | datname									
    --------+---------									141047 | testdb									postgres=# \c testdb									testdb=# create table t1(id int,name varchar(50)) distribute by hash(id);			
    testdb=# select oid,* from pg_class where relname='t1';		oid   | relname | relnamespace | reltype | reloftype | relowner | relam | relfilenode | reltablespace | relpages | reltuples | relallvisible | reltoastrelid | reltoastidxid | reldeltarelid | reldeltaidx | relcudescrelid | relcudescidx | relhasindex | relisshared | relpersistence | relkind | relnatts | relchecks | relhasoids | relhaspkey | relhasrules | relhastriggers | relhassubclass | relcmprs | relhasclusterkey | relrowmovement | parttype | relfrozenxid | relacl |            reloptions            | relreplident | relfrozenxid64		
    --------+---------+--------------+---------+-----------+----------+-------+-------------+---------------+----------+-----------+---------------+---------------+---------------+---------------+-------------+----------------+--------------+-------------+-------------+----------------+---------+----------+-----------+------------+------------+-------------+----------------+----------------+----------+------------------+----------------+----------+--------------+--------+----------------------------------+--------------+----------------		141315 | t1      |         2200 |  141317 |         0 |       10 |     0 |      141315 |             0 |        0 |         0 |             0 |             0 |             0 |             0 |           0 |              0 |            0 | f           | f           | p              | r       |        2 |         0 | f          | f          | f           | f              | f              | 1        | f                | f              | n        | 1703460      |        | {orientation=row,compression=no} | d            |        1703460		
    

    查看DN节点对应的数据目录及其文件大小的变化:
    dws03 DN节点

    omm@host-192-168-5-203:/srv/BigData/mppdb/data1/master1/base/140755> ls																				
    141025     15126      15160      15188      15210      15230_fsm  15246_vm   15265_fsm  15288      15307      15353_vm   15402      15437      15479      15501																				
    15112      15126_fsm  15162      15189      15211      15230_vm   15248      15265_vm   15289      15307_fsm  15355      15404      15438      15481      15502																				
    15112_fsm  15126_vm   15163      15190      15212      15232      15249      15267      15289_fsm  15307_vm   15356      15405      15439      15482      15504																				
    15112_vm   15128      15165      15191      15213      15233      15250      15267_fsm  15289_vm   15309      15357      15406      15441      15482_fsm  15506																				
    15114      15129      15167      15191_fsm  15213_fsm  15234      15251      15267_vm   15291      15310      15359      15407      15442      15482_vm   15507																				
    15115      15130      15168      15191_vm   15213_vm   15234_fsm  15251_fsm  15269      15292      15342      15359_fsm  15409      15447      15484      15509																				
    15116      15130_fsm  15169      15193      15215      15234_vm   15251_vm   15270      15293      15342_fsm  15359_vm   15410      15449      15486      15511																				
    15116_fsm  15130_vm   15171      15194      15217      15236      15253      15271      15295      15342_vm   15361      15411      15450      15487      15512																				
    15116_vm   15132      15173      15195      15218      15237      15254      15272      15296      15344      15362      15413      15452      15487_fsm  15514																				
    15118      15133      15174      15196      15219      15238      15255      15274      15297      15345      15363      15415      15453      15487_vm   15516																				
    15118_fsm  15138      15176      15198      15220      15238_fsm  15255_fsm  15276      15298      15346      15363_fsm  15416      15456      15489      15517																				
    15118_vm   15140      15178      15200      15221      15238_vm   15255_vm   15277      15298_fsm  15346_fsm  15363_vm   15420      15458      15491      15519																				
    15120      15142      15179      15201      15222      15240      15257      15278      15298_vm   15346_vm   15365      15420_fsm  15459      15492      15521																				
    15121      15143      15181      15202      15224      15241      15258      15279      15300      15348      15366      15420_vm   15472      15492_fsm  15522																				
    15122      15148      15183      15203      15225      15242      15259      15280      15301      15349      15367      15422      15472_fsm  15492_vm   15524																				
    15122_fsm  15150      15184      15204      15226      15242_fsm  15261      15282      15302      15349_fsm  15369      15423      15472_vm   15494      15526																				
    15122_vm   15152      15184_fsm  15205      15226_fsm  15242_vm   15262      15283      15302_fsm  15349_vm   15371      15424      15474      15496      15527																				
    15124      15153      15184_vm   15206      15226_vm   15244      15262_fsm  15283_fsm  15302_vm   15351      15372      15424_fsm  15476      15497      pg_filenode.map																				
    15124_fsm  15155      15186      15206_fsm  15228      15245      15262_vm   15283_vm   15304      15352      15397      15424_vm   15477      15497_fsm  pg_filenode.map.backup																				
    15125      15157      15186_fsm  15206_vm   15229      15246      15264      15285      15305      15353      15399      15426      15477_fsm  15497_vm   pg_internal.init.91635																				
    15125_fsm  15158      15186_vm   15208      15230      15246_fsm  15265      15287      15306      15353_fsm  15400      15435      15477_vm   15499      PG_VERSION																				
    omm@host-192-168-5-203:/srv/BigData/mppdb/data1/master1/base/140755> ls -l 141025																				
    -rw------- 1 omm wheel 0 Aug  8 15:06 141025																				
    

    dws04 DN节点

    omm@host-192-168-5-204:/srv/BigData/mppdb/data1/master1/base/140763> ls																		
    141035     15129      15173      15201      15226_fsm  15246_fsm  15267_fsm  15295      15346_fsm  15369      15426      15482      15511																		
    15112      15130      15174      15202      15226_vm   15246_vm   15267_vm   15296      15346_vm   15371      15435      15482_fsm  15512																		
    15112_fsm  15130_fsm  15176      15203      15228      15248      15269      15297      15348      15372      15437      15482_vm   15514																		
    15112_vm   15130_vm   15178      15204      15229      15249      15270      15298      15349      15397      15438      15484      15516																		
    15114      15132      15179      15205      15230      15250      15271      15298_fsm  15349_fsm  15399      15439      15486      15517																		
    15115      15133      15181      15206      15230_fsm  15251      15272      15298_vm   15349_vm   15400      15441      15487      15519																		
    15116      15138      15183      15206_fsm  15230_vm   15251_fsm  15274      15300      15351      15402      15442      15487_fsm  15521																		
    15116_fsm  15140      15184      15206_vm   15232      15251_vm   15276      15301      15352      15404      15447      15487_vm   15522																		
    15116_vm   15142      15184_fsm  15208      15233      15253      15277      15302      15353      15405      15449      15489      15524																		
    15118      15143      15184_vm   15210      15234      15254      15278      15302_fsm  15353_fsm  15406      15450      15491      15526																		
    15118_fsm  15148      15186      15211      15234_fsm  15255      15279      15302_vm   15353_vm   15407      15452      15492      15527																		
    15118_vm   15150      15186_fsm  15212      15234_vm   15255_fsm  15280      15304      15355      15409      15453      15492_fsm  pg_filenode.map																		
    15120      15152      15186_vm   15213      15236      15255_vm   15282      15305      15356      15410      15456      15492_vm   pg_filenode.map.backup																		
    15121      15153      15188      15213_fsm  15237      15257      15283      15306      15357      15411      15458      15494      pg_internal.init.91635																		
    15122      15155      15189      15213_vm   15238      15258      15283_fsm  15307      15359      15413      15459      15496      PG_VERSION																		
    15122_fsm  15157      15190      15215      15238_fsm  15259      15283_vm   15307_fsm  15359_fsm  15415      15472      15497																		
    15122_vm   15158      15191      15217      15238_vm   15261      15285      15307_vm   15359_vm   15416      15472_fsm  15497_fsm																		
    15124      15160      15191_fsm  15218      15240      15262      15287      15309      15361      15420      15472_vm   15497_vm																		
    15124_fsm  15162      15191_vm   15219      15241      15262_fsm  15288      15310      15362      15420_fsm  15474      15499																		
    15125      15163      15193      15220      15242      15262_vm   15289      15342      15363      15420_vm   15476      15501																		
    15125_fsm  15165      15194      15221      15242_fsm  15264      15289_fsm  15342_fsm  15363_fsm  15422      15477      15502																		
    15126      15167      15195      15222      15242_vm   15265      15289_vm   15342_vm   15363_vm   15423      15477_fsm  15504																		
    15126_fsm  15168      15196      15224      15244      15265_fsm  15291      15344      15365      15424      15477_vm   15506																		
    15126_vm   15169      15198      15225      15245      15265_vm   15292      15345      15366      15424_fsm  15479      15507																		
    15128      15171      15200      15226      15246      15267      15293      15346      15367      15424_vm   15481      15509																		
    omm@host-192-168-5-204:/srv/BigData/mppdb/data1/master1/base/140763> ls -l 141035																		
    -rw------- 1 omm wheel 0 Aug  8 15:06 141035																		
    

    dws05 DN节点

    omm@host-192-168-5-205:/srv/BigData/mppdb/data1/master1/base/140753> ls
    141021     15129      15173      15201      15226_fsm  15246_fsm  15267_fsm  15295      15346_fsm  15369      15426      15482      15511
    15112      15130      15174      15202      15226_vm   15246_vm   15267_vm   15296      15346_vm   15371      15435      15482_fsm  15512
    15112_fsm  15130_fsm  15176      15203      15228      15248      15269      15297      15348      15372      15437      15482_vm   15514
    15112_vm   15130_vm   15178      15204      15229      15249      15270      15298      15349      15397      15438      15484      15516
    15114      15132      15179      15205      15230      15250      15271      15298_fsm  15349_fsm  15399      15439      15486      15517
    15115      15133      15181      15206      15230_fsm  15251      15272      15298_vm   15349_vm   15400      15441      15487      15519
    15116      15138      15183      15206_fsm  15230_vm   15251_fsm  15274      15300      15351      15402      15442      15487_fsm  15521
    15116_fsm  15140      15184      15206_vm   15232      15251_vm   15276      15301      15352      15404      15447      15487_vm   15522
    15116_vm   15142      15184_fsm  15208      15233      15253      15277      15302      15353      15405      15449      15489      15524
    15118      15143      15184_vm   15210      15234      15254      15278      15302_fsm  15353_fsm  15406      15450      15491      15526
    15118_fsm  15148      15186      15211      15234_fsm  15255      15279      15302_vm   15353_vm   15407      15452      15492      15527
    15118_vm   15150      15186_fsm  15212      15234_vm   15255_fsm  15280      15304      15355      15409      15453      15492_fsm  pg_filenode.map
    15120      15152      15186_vm   15213      15236      15255_vm   15282      15305      15356      15410      15456      15492_vm   pg_filenode.map.backup
    15121      15153      15188      15213_fsm  15237      15257      15283      15306      15357      15411      15458      15494      pg_internal.init.91635
    15122      15155      15189      15213_vm   15238      15258      15283_fsm  15307      15359      15413      15459      15496      PG_VERSION
    15122_fsm  15157      15190      15215      15238_fsm  15259      15283_vm   15307_fsm  15359_fsm  15415      15472      15497
    15122_vm   15158      15191      15217      15238_vm   15261      15285      15307_vm   15359_vm   15416      15472_fsm  15497_fsm
    15124      15160      15191_fsm  15218      15240      15262      15287      15309      15361      15420      15472_vm   15497_vm
    15124_fsm  15162      15191_vm   15219      15241      15262_fsm  15288      15310      15362      15420_fsm  15474      15499
    15125      15163      15193      15220      15242      15262_vm   15289      15342      15363      15420_vm   15476      15501
    15125_fsm  15165      15194      15221      15242_fsm  15264      15289_fsm  15342_fsm  15363_fsm  15422      15477      15502
    15126      15167      15195      15222      15242_vm   15265      15289_vm   15342_vm   15363_vm   15423      15477_fsm  15504
    15126_fsm  15168      15196      15224      15244      15265_fsm  15291      15344      15365      15424      15477_vm   15506
    15126_vm   15169      15198      15225      15245      15265_vm   15292      15345      15366      15424_fsm  15479      15507
    15128      15171      15200      15226      15246      15267      15293      15346      15367      15424_vm   15481      15509
    omm@host-192-168-5-205:/srv/BigData/mppdb/data1/master1/base/140753> ls -l 141021
    -rw------- 1 omm wheel 0 Aug  8 15:06 141021
    

    注意DN节点上的数据库oid、表的oid与物理目录名称和物理数据文件名称不同,特别需要注意。只有gsql客户端所连接的CN节点上的数据目录下才相同。

    执行插入数据操作:

    insert into t1 values(1,'zhangsan'),(2,'LiSi'),(3,'WangWu'),(4,'zhangfei'),(5,'GuanYu'),(6,'Zhaoyun');
    

    继续查看上述刚刚查看的数据文件,发现这些文件大小已经发生了变化,每个数据文件大小为8192字节(8KB)

    omm@host-192-168-5-203:/srv/BigData/mppdb/data1/master1/base/140755> ls -l 141025									
    -rw------- 1 omm wheel 8192 Aug  8 15:13 141025	omm@host-192-168-5-204:/srv/BigData/mppdb/data1/master1/base/140763> ls -l 141035										
    -rw------- 1 omm wheel 8192 Aug  8 15:13 141035			omm@host-192-168-5-205:/srv/BigData/mppdb/data1/master1/base/140753> ls -l 141021			
    -rw------- 1 omm wheel 8192 Aug  8 15:13 141021			
    

    查看这三个文件的内容,发现确实是我们刚刚插入的内容:

    omm@host-192-168-5-203:/srv/BigData/mppdb/data1/master1/base/140755> cat 141025\"G▒]@,▒  [▒؟F									WangWuomm@host-192-168-5-203:/srv/BigData/mppdb/data1/master1/base/140755>									omm@host-192-168-5-204:/srv/BigData/mppdb/data1/master1/base/140763> cat 141035														
    8;E\{@8`  [▒؟J▒▒B▒▒J`▒F														GuanYu														zhangfei														LiSi														zhangsanomm@host-192-168-5-204:/srv/BigData/mppdb/data1/master1/base/140763> 														omm@host-192-168-5-205:/srv/BigData/mppdb/data1/master1/base/140753> cat 141021				
    ▒▒▒F:▒@,▒  [▒؟H				Zhaoyunomm@host-192-168-5-205:/srv/BigData/mppdb/data1/master1/base/140753>				
    

    由此说明
    从上述文件内容变化来看,141025文件大小由0变成了8192字节,说明刚刚的insert操作已经写入数据文件中。 从上述查看结果来看,大概可以看出来了,三个DN Master节点个有部分数据,因其是hash分布的表。

    通过系统函数查看t1文件路径

    testdb=# select pg_relation_filepath(141315);		pg_relation_filepath		
    ----------------------		base/141047/141315		
    

    通过查看系统表查看t1文件路径

    SELECT 							n.nspname AS schema_name, 							c.relname AS table_name,							pg_relation_filepath(c.oid) AS file_path							
    FROM 							pg_class c							
    JOIN 							pg_namespace n ON c.relnamespace = n.oid							
    WHERE 							c.relkind = 'r' AND							n.nspname NOT IN ('pg_catalog', 'information_schema') AND							c.relname = 't1';						
    

    查询结果如下:

     schema_name | table_name |     file_path					
    -------------+------------+--------------------					public      | t1         | base/141047/141315					
    (1 row)					
    

    注意: base/141047/141315 和系统函数查询到的结果是一样的。这个路径其实就是数据文件所被保存再CN节点上的元数据了。

    继续查看CN节点下的数据目录及其文件:

    omm@host-192-168-5-203:/srv/BigData/mppdb/data1/coordinator/base> ll							
    total 88							
    drwx------ 2 omm wheel 12288 Oct 26  2023 1							
    drwx------ 2 omm wheel  8192 Aug  8 15:06 141047  # 就是这个数据库oid		 					
    drwx------ 2 omm wheel  8192 Oct 26  2023 15529							
    drwx------ 2 omm wheel 20480 Aug  8 15:50 15534							
    drwx------ 2 omm wheel  8192 Aug  7 15:17 47164							
    drwx------ 2 omm wheel     6 Nov  9  2023 pgsql_tmp# 进入141047目录下查看表t1的数据文件									
    omm@host-192-168-5-203:/srv/BigData/mppdb/data1/coordinator/base/141047> ls -l 141315									
    -rw------- 1 omm wheel 0 Aug  8 15:06 141315	# DN主		# 192-168-5-204			
    omm@host-192-168-5-204:/srv/BigData/mppdb/data1/coordinator/base/141047> ls -l 14131*										
    -rw------- 1 omm wheel 0 Aug  8 15:06 141316	# DN备			# DN从备
    omm@host-192-168-5-205:/srv/BigData/mppdb/data1/coordinator/base/141043> ls -l 1413*				
    -rw------- 1 omm wheel 0 Aug  8 15:06 141312								
    

    测试结论

    • 客户端所连接的CN节点:系统函数和系统表查询出来t1表的文件路径是在当前客户端所连接的CN节点下的数据目录下的coordinator/base目录下,也就是客户端连接的是哪个CN节点,那系统函数查询出来的该t1表的filepath就哪个路径下;
    • 客户端未连接的CN节点:如dws04服务器上的coordinator/base/141047/目录下存在一个141316文件,该文件是t1表的oid加1的结果。dws05服务器上的coordinator/base/141043/目录下存在一个141312文件,该文件是t1表的oid减少3的结果,但是这些文件都是0字节,没有存储真实的数据内容;
    • 数据节点DN:DN主节点和DN备节点都存储数据库表的数据,但DN从备不占用实际存储空间,仅在主、备DN故障时才起作用,且只存储数据日志,不存储数据页面。

相关文章:

【GaussDB(DWS)】数仓部署架构与物理结构分析

数仓架构与物理结构分析 一、部署架构二、物理结构三、测试验证 一、部署架构 华为数据仓库服务DWS,集群版本8.1.3.x 集群拓扑结构: 上述拓扑结构为DWS单AZ高可靠部署架构,为减少硬件故障对系统可用性的影响,建议集群部署方案遵…...

git做版本管理的时候,中途添加了新的内容在.gitignore中,怎么让git不再跟踪

当您在 .gitignore 文件中添加了新的路径模式后,Git 将不再跟踪这些路径下的新文件。但是,如果这些路径下的文件已经被 Git 跟踪(即它们已经被提交到仓库),您需要执行一些额外的步骤来让 Git 停止跟踪这些文件。 以下…...

Unity新输入系统 之 PlayerInput(真正的最后封装部分)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​ 首先你应该了解新输入系统的基本单位和输入配置文件 Unity新输入系统 之 InputAction(输入配置文件最基本的…...

跨部门协作:观测云在促进业务与技术团队合作中的作用

在当今的企业环境中,业务与技术团队之间的紧密合作对于推动创新和提升效率至关重要。观测云平台作为一个强大的数据监控和分析工具,在这方面发挥着至关重要的作用,它通过提供统一的数据视图和协作工具,促进了跨部门间的有效协作。…...

OceanBase V4.3 列存引擎之场景问题汇总

在OceanBase 4.3版本发布后(OceanBase社区版 V4.3 免费下载),其新增的列存引擎,及行列混存一体化的能力,可以支持秒级实时分析,引发了用户、开发者及业界人士的广泛讨论。本文选取了这些讨论中较为典型的一…...

Spring中的Aware接口及应用场景

Spring框架提供了一些Aware接口,例如ApplicationContextAware, BeanFactoryAware, EnvironmentAware等,这些接口允许你的Bean获取Spring容器的资源。 例如,如果你的Bean实现了ApplicationContextAware接口,那么Spring在启动的时候…...

设计模式 - 建造者模式

💝💝💝首先,欢迎各位来到我的博客!本文深入理解设计模式原理、应用技巧、强调实战操作,提供代码示例和解决方案,适合有一定编程基础并希望提升设计能力的开发者,帮助读者快速掌握并灵活运用设计模式。 💝💝💝如有需要请大家订阅我的专栏【设计模式】哟!我会定…...

MySQL数据分析进阶(十二)设计数据库——PART4

;※食用指南:文章内容为‘CodeWithMosh’SQL进阶教程系列学习笔记,笔记整理比较粗糙,主要目的自存为主,记录完整的学习过程。(图片超级多,慎看!) 【中字】SQL进阶教程 |…...

在 Spring Boot 中使用桥接模式实现灵活的报表生成服务

在软件开发中,桥接模式是一种结构型设计模式,用于将抽象部分与它的实现部分分离,使得这两部分可以独立变化。这种模式非常适合处理需要灵活配置和扩展的场景,比如报表生成服务。本文将详细介绍如何使用桥接模式来实现一个灵活的报…...

算法:外卖调度

题目 有N个餐厅和M个外卖员,每个餐厅在某个时间点会产生一个外卖订单,这些订单都有产生时间、所需送达时间和优先级。外卖员在空闲时会选择最优先的订单来配送,直到所有订单都被送达。具体规则如下: 对于每个餐厅的订单,优先级高…...

leetcode50. Pow(x, n),快速幂算法

leetcode50. Pow(x, n),快速幂算法 实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。 示例 1: 输入:x 2.00000, n 10 输出:1024.00000 示例 2: 输入&#xff…...

Xinstall神器来袭,轻松搞定CPA推广渠道统计!

在数字化营销日益盛行的今天,CPA(按行动付费)推广已成为众多企业营销的重要手段。然而,随着渠道流量和获客途径的不断变化,CPA推广渠道统计的痛点也日益凸显。别担心,Xinstall来帮你解决问题! …...

011 | efinance分析豆一主连期货

👉👉👉 《玩转Python金融量化专栏》👈👈👈 订阅本专栏的可以下载对应的代码和数据集 🚀 上一篇🌟 下一篇⬅️ 010 东方财富帖子标题情绪分析012 akshare分析NYBOT棉花历史数据 ➡️豆一主连期货(通常简称“豆一”)是指中国期货市场上以大豆为标的的期货合约…...

【Python】函数入门(下)

3))* ** ​​​​​​注意:也遵循位置传参在前面,按关键字传参在后面。 代码示例: def func(*args,**kwargs):print(args,kwargs) 该函数中的参数会自动根据传参的方式不同(即:按位置…...

git的基本概念和使用原理

Git是一个分布式版本控制系统,用于跟踪文件的更改并协调多个开发人员之间的工作。以下是Git的基本概念和使用原理及方式: 目录 基本概念 使用原理 基本操作示例 基本概念 版本库(Repository): 版本库是Git用来保存…...

手写简化版的vue-router

vue-router作为vue全家桶之一的重要插件,有必要去深究一下,今天我们就从0到1手写一个简化版本。 开始之前,我们使用路由插件时是先进行下载路由 npm i vue-router ,然后在main.js中使用app.use导入router插件。想要手写vue-rou…...

分享一个基于uni-app的蛋糕商城订购小程序的设计与实现(源码、调试、LW、开题、PPT)

💕💕作者:计算机源码社 💕💕个人简介:本人 八年开发经验,擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等,大家有这一块的问题可以一起交流&…...

Python绘图入门:使用Matplotlib绘制柱状图

Python绘图入门:使用Matplotlib绘制柱状图 柱状图是一种常见的数据可视化方式,能够直观地展示不同类别之间的数据差异。在Python中,Matplotlib是一个非常强大且灵活的绘图库,它不仅能绘制简单的图表,还能创建复杂的多…...

Qt5编译qmqtt库使用MQTT协议连接华为云IOT完成数据上传与交互

一、前言 随着物联网技术的发展,越来越多的设备通过网络互相连接,形成了庞大的智能系统。这些系统能够收集、分析并响应各种数据,从而实现自动化控制和智能化管理。在这个背景下,MQTT 成为了一个广泛使用的轻量级消息传输协议,特别适用于资源受限的环境,如移动应用或远程…...

mysql速起架子

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz 下载mysql tar xvJf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz 解压 mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql-8.0 改名 去到bin目录 cd bin mkdir data gr…...

云动态摘要 2024-08-14

给您带来云厂商的最新动态,最新产品资讯和最新优惠更新。 最新优惠与活动 注册阿里云免费领云服务器_云服务器ECS_阿里云 阿里云 2024-08-14 云上试用新玩法,个人享300元免费额度,企业享660元免费额度,多种规格随心试 [免费体验…...

Elasticsearch 桶(Bucket)聚合详解及示例

在 Elasticsearch 中,桶(Bucket)聚合是一种强大的工具,它允许我们对数据进行分组并统计每组的数量。这种聚合类型对于理解数据的分布和进行分组统计非常有用。本文将详细介绍 Elasticsearch 的桶聚合,并提供完整的示例…...

Django基础知识

文章目录 新建Django项目helloworld关联数据库admin 新建Django项目 创建django-admin startproject project_name 运行 python manage.py runserver 创建app: python manage.py startapp app_name 目录: 配置文件 settings.py 路由配置 urls.py 项目管理 manage.p…...

使用 nginx 搭建代理服务器(正向代理 https 网站)指南

简介 正向代理 简介 在企业开发环境中,局域网内的设备通常需要通过正向代理服务器访问互联网。正向代理服务器充当中介,帮助客户端请求外部资源并返回结果。局域网内也就是俗称的内网,局域网外的互联网就是外网,在一些特殊场景内…...

深入解析亚马逊数据采集工具选择:Data API/Scrape API/Pangolin采集器

引言 在当今电商领域,亚马逊已成为全球最大的在线零售平台之一。随着竞争的加剧和市场的多样化,商家和企业不仅需要优秀的产品和服务,还需要通过深入的数据分析来制定更加精准的市场策略。因此,采集亚马逊站点数据已成为企业实现…...

探索Linux多样性:主流发行版及其应用场景

目录 引言 Debian:稳定性的标杆 Ubuntu:易用性的代表 Red Hat Enterprise Linux (RHEL):企业的首选 Fedora:创新的前沿 CentOS:开源的稳定之选 Arch Linux:高级用户的定制天堂 Gentoo:性…...

CentOS7.6 HAproxy-7层负载均衡集群——实施方案

目录 1、前期环境准备 1.准备4台主机 1. 设置主机名 2. 设置IP地址然后重启网卡 3. 关闭防火墙和selinux 4. 全部的服务器完成时间统一 二、配置haproxy(192.168.200.11)服务器 1. 安装haproxy 2. haproxy 配置中分成五部分内容 3. 配置HAproxy(192.168.2…...

升级ubuntu22.10到24.04

将所有kinetic换成noble,noble是24.04源,sed或手动改。 cd /etc/aptgrep -nr kinetic将old-releases.ubuntu.com替换成国内的地址,因为2210国内源没找到,没有了,但是现在更新到24.04,国内是有的。 apt up…...

YOLO好像也没那么难?

“学YOLO的念头是想整个游戏外挂!” 目录 基本原理 模型推理 IOU交并比 NMS非极大值抑制 模型训练 损失函数LOSS 代码实现 YOLO学习渠道 基本原理 模型推理 学习一个新的神经网络结构,作者认为整明白输入和输出是怎么回事就OK了,至于…...

html编写贪吃蛇页面小游戏(可以玩)

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>贪吃蛇小游戏</title><style>body {…...

创建网站的过程/谷歌seo排名技巧

来源&#xff1a;游戏园日期&#xff1a;2019-06-18 04:03:52我的世界漏斗管道怎么做 教你连接漏斗箱子。在我的世界中的一些装置中经常会用到漏斗箱子&#xff0c;那下面就给大家分享一下这个漏斗管道要怎么制作吧&#xff01;希望大家喜欢。游戏园我的世界二群&#xff1a; 2…...

教育部网站新时代教师队伍建设/优化深圳seo

Linux下的防火墙软件Iptables发布1.4.17 2012-12-25 上一个版本是2012-10-08的1.4.16 此版本对ipv6做了一些扩展。 iptables 是与 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器&#xff0c; 则该系统有利于…...

做旅游宣传不错的网站/2023年第三波新冠9月

大家好我们今天研究的是Android中很重要也最为复杂的媒体播放器---MediaPlayer. Android的MediaPlayer包含了Audio和video的播放功能&#xff0c;在Android的界面上&#xff0c;Music和Video两个应用程序都是调用MediaPlayer实现的。 MediaPlayer在底层是基于OpenCore(PacketVi…...

做网站是不是要学编程/免费大数据网站

1、安装EPEL和Remi存储库 如果要安装PHP7&#xff0c;首先需要在Centos7系统上安装并启用EPEL和Remi存储库 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmyum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm 2、安装…...

物流公司做网站/永久免费个人网站申请注册

ajaxSuccess()方法只要AJAX请求成功完成&#xff0c;ajaxSuccess(callback)方法就会附加一个要执行的函数。这是一个Ajax事件。这是此方法使用的所有参数的描述-callback-要执行的功能。事件对象&#xff0c;XMLHttpRequest和用于该请求的设置将作为参数传递给回调。假设我们在…...

wordpress更换style/惠州网站关键词排名

文章目录1、git reset --soft命令介绍2、示例详解git reset命令可以实现Git版本回退&#xff0c;其有三个选项&#xff0c;可以完成三种不同效果的回退。1、git reset --soft命令介绍 git reset --soft commit-id命令&#xff1a;回退到指定版本。&#xff08;soft&#xff1a…...