华为云用户手册

  • 共享版及企业版对比 容器镜像服务目前有共享版和企业版。差异如下: 表1 容器镜像服务共享版和容器镜像服务企业版对比表 大类 功能项 共享版 企业版 通用 页面入口 登录华为云控制台,单击服务列表,搜索“容器镜像服务”,单击进入的是共享版容器镜像服务。 在共享版容器镜像服务页面单击“企业版”链接,进入的则是企业版容器镜像服务 是否收费 否 是 制品托管 容器镜像 √ √ 镜像管理 标签管理 × √ 单个镜像老化 √ √ 批量镜像老化 × √ 触发器支持触发用户自定义的请求(http/https) × √ 镜像分发 共享私有镜像 √ × 自动同步单个镜像 √ √ 自动同步批量镜像 × √ 镜像安全 镜像签名 × √ 镜像版本不可变 × √ 访问管理 网络访问控制 × √ 自定义域名 × √ 企业版目前仅支持“华北-乌兰察布一”区域。
  • 修订记录 发布日期 修订记录 2024-06-06 新增如何配置采集Azure容器资源所需权限? 2024-05-25 新增支持规格评估的数据库类型 新增MgC主机工作流资源与SMS迁移服务器列表之间的映射关系 新增如何获取Azure对象存储深度采集所需凭证? 2024-05-15 新增转换CSV文件编码为UTF-8 2024-04-12 新增VMware主机迁移时,出现报错如何处理? 2024-03-11 新增如何获取添加Azure凭证所需的信息? 2024-03-08 错误码描述和处理方法新增存储工作流错误码。 2024-02-05 更新错误码描述和处理方法。 2023-11-30 更新错误码描述和处理方法。 2023-10-30 第一次发布
  • 操作步骤 登录Azure控制台,进入主页。 在页面上方的搜索框中输入“资源组”,选择“资源组”服务,进入资源组页面。 在资源组列表中找到购买AKS的资源组,单击资源组名称,进入该资源组概述页面。 在左侧导航栏,选择“访问控制(标识和访问管理)”,在检查访问页签,单击“添加角色分配”,进入添加角色分配页面。 角色选择“读者”,单击“下一步”。 单击“选择成员”,在右侧弹出的对话框中,搜索应用名称(采集凭证所属的应用),单击应用名称,将其加入所选成员中。 单击“选择”,加入成员列表中。 单击“审阅和分配”,进入审阅和分配页签。 确认角色和成员无误后,单击“审阅和分配”,在资源组中对应用完成权限配置。 在页面上方的搜索框中输入“订阅”,选择“订阅”服务,进入订阅页面。 在订阅列表,单击购买AKS资源的订阅名称,进入该订阅的概述页面。 参考步骤4.~步骤9.,在订阅中对应用完成权限配置。
  • SMS权限 默认情况下,华为云账号(管理员账号)创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 管理员账号拥有SMS迁移所需要的所有权限,使用管理员账号进行迁移时,不需要进行授权。 SMS部署时不区分物理区域,为全局级服务。授权时,在全局项目中设置策略,访问SMS时,不需要切换区域。 如表1所示,包括了主机迁移服务 (SMS)的所有系统角色。由于华为云各服务之间存在业务交互关系,主机迁移服务的角色依赖其他服务的角色实现功能。因此给用户主机迁移服务的角色时,需要同时授予依赖的角色,主机迁移服务的权限才能生效。 表1 常用操作与系统策略的关系 操作 SMS FullAccess(全局项目) OBS OperateAccess(对象存储服务项目) EVS FullAccess ECS FullAccess VPC FullAccess 创建迁移任务 √ x √ √ √ 查看迁移进度 √ x x x x IAM支持以下两种形式的策略: 系统策略:如果IAM用户需要拥有主机迁移服务(SMS)的所有操作权限,则为IAM用户授予系统策略。 自定义策略:如果IAM用户只需要拥有主机迁移服务(SMS)的部分操作权限,则采用自定义策略。 具体操作请参见创建用户并授权使用SMS。 自定义策略相比于系统策略,粒度更细,更安全。
  • 依赖服务的权限设置 如果IAM用户需要在SMS Console控制台拥有相应功能的查看或使用权限,请确认已经对该用户所在的用户组设置了SMS FullAccess或SMS ReadOnlyAccess策略的集群权限,再按如下表2增加依赖服务的角色或策略。 表2 SMS Console依赖服务的角色或策略 控制台功能 依赖服务 需配置角色/策略 创建迁移任务 弹性云服务器 ECS 弹性公网IP EIP 虚拟私有云 VPC 镜像服务 IMS 云硬盘 EVS IAM用户设置了SMS FullAccess权限后,需要增加ECS FullAccess、VPC FullAccess、IMS FullAccess、EVS FullAccess、EIP FullAccess权限后才能创建迁移任务。 查看迁移进度 / 无需其他依赖权限。SMS ReadOnlyAccess权限即可查看迁移任务进度。 创建迁移参数模板 / 无需其他依赖权限。SMS FullAccess权限后即可创建迁移参数模板。 创建虚拟机配置模板 虚拟私有云 VPC 云硬盘 EVS 弹性云服务器 ECS IAM用户设置了SMS FullAccess权限后,需要增加ECSReadOnlyAccess、VPC ReadOnlyAccess、EVS ReadOnlyAccess权限后才能创建虚拟机配置模板。 迁移代理配置 弹性云服务器 ECS 弹性公网IP EIP 虚拟私有云 VPC 镜像服务 IMS 云硬盘 EVS IAM用户设置了SMS FullAccess权限后,需要增加ECS FullAccess、VPC FullAccess、IMS FullAccess、EVS FullAccess、EIP FullAccess权限后才能进行迁移代理配置。
  • 源端Windows系统服务器 登录SMS控制台,在左侧导航树中,单击“迁移Agent”,进入“迁移Agent”页面。 在Windows服务器Agent安装区域,单击Windows Agent下载窗格中的“链接”,仔细阅读并同意服务声明后,单击“是”,下载相应的迁移Agent。 您也可以通过以下链接下载迁移Agent: Windows Agent(Python3): https://sms-agent-2-0-cn-north-1.obs.cn-north-1.myhuaweicloud.com/SMS-Agent-Py3.exe Windows Agent(Python2): https://sms-agent-2-0-cn-north-1.obs.cn-north-1.myhuaweicloud.com/SMS-Agent-Py2.exe 通过以上链接下载的迁移Agent,需要您前往SMS控制台阅读并同意服务声明后,才可以使用迁移Agent。 单击对应Agent的“SHA256链接”,下载SHA256校验码。对迁移Agent进行软件完整性校验,具体参见如何对迁移Agent进行软件完整性校验?。 您也可以通过执行如下命令链接下载SHA256: Windows Agent(Python3): https://sms-agent-2-0-cn-north-1.obs.cn-north-1.myhuaweicloud.com/SMS-Agent-Py3.exe.sha256 Windows Agent(Python2): https://sms-agent-2-0-cn-north-1.obs.cn-north-1.myhuaweicloud.com/SMS-Agent-Py2.exe.sha256 一致性校验完成后,请参考安装Windows版的SMS-Agent进行安装。
  • 源端Linux系统服务器 登录SMS控制台,在左侧导航树中,单击“迁移Agent”,进入“迁移Agent”页面。 在Linux服务器Agent安装区域,单击Linux Agent下载窗格中的“链接”,仔细阅读并同意服务声明后,复制Agent的下载命令,前往源端服务器下载迁移Agent。 您也可以通过以下任意命令,下载迁移Agent: wget -t 3 -T 15 https://sms-agent-2-0-cn-north-1.obs.cn-north-1.myhuaweicloud.com/SMS-Agent.tar.gz curl -O https://sms-agent-2-0-cn-north-1.obs.cn-north-1.myhuaweicloud.com/SMS-Agent.tar.gz 通过以上命令下载的迁移Agent,需要您前往SMS控制台阅读并同意服务声明后,才可以使用迁移Agent。 复制“SHA256校验码”的下载命令,下载SHA256校验码。对迁移Agent进行软件完整性校验,具体参见如何对迁移Agent进行软件完整性校验?。 您也可以通过如下命令,下载SHA256检验码: wget -t 3 -T 15 https://sms-agent-2-0-cn-north-1.obs.cn-north-1.myhuaweicloud.com/SMS-Agent.tar.gz.sha256 一致性校验完成后,执行以下命令,解压Agent软件包。 tar -zxvf SMS-Agent.tar.gz 执行以下命令,进入源端服务器的SMS-Agent目录。 cd SMS-Agent 若使用HTTPS代理服务器,请执行步骤7。 若不使用HTTPS代理服务器,请执行步骤8。 代理服务器为一种特殊网络服务,当您的源端无法通过公网访问华为云时,可以通过代理服务器访问华为云,代理服务器需用户自行配置。 代理仅用于专线/VPN场景下源端到服务端的注册,不用于数据迁移过程。 配置HTTP/HTTPS代理服务器(可选)。 执行如下命令,进入config目录。 cd SMS-Agent/agent/config 执行如下命令,打开并编辑auth.cfg文件。若迁移过程中不使用HTTP/HTTPS代理,禁止修改auth.cfg文件。 vi auth.cfg 示例:(以下仅为示例说明,具体代理服务器信息,请根据实际情况填写。) [proxy-config] enable = true proxy_addr = https://your-proxy-addr.com proxy_port = 3128 proxy_user = root use_password = true enable:使用代理时,设置为true。 proxy_addr:代理服务器地址,允许源端服务器通过代理服务器访问主机迁移服务,非目的端地址。your-proxy-addr.com需要更换为您代理服务器的地址,协议需要根据代理服务器的实际情况配置,建议您将代理服务器协议配置为https。 proxy_user:代理有用户名的话,就填写用户名,如root;没有则不填。 use_password:代理有密码的话设置为true,否则false。 执行如下命令,保存auth.cfg文件并退出。 :wq 执行以下命令,启动迁移Agent。 ./startup.sh 请您仔细阅读显示的内容并输入“y”,按“Enter”。 图1 输入y 根据提示,输入目的端服务器所在华为云账号的AK、SK,以及目的端服务器所在区域的SMS域名。SMS域名可在SMS控制台的“迁移Agent”页面获取,如图3所示。 图2 输入AK/SK 图3 获取SMS域名 如果您的账号已经开通企业项目,输入AK/SK后,Agent会查询有主机迁移权限的企业项目并罗列,供您选择。选择具体的企业项目后,主机迁移服务会将主机迁移到您指定的企业项目中。实现迁移时权限、资源和财务的隔离。更多详细介绍和操作步骤请参见将主机迁移至企业项目最佳实践。 当出现如下界面时,表示Linux版的SMS-Agent启动成功,开始给主机迁移服务上传源端服务器信息。您可以前往SMS控制台的迁移服务器列表页面查看上报的源端服务器。 图4 Agent启动成功
  • 操作步骤 创建用户组并授权 系统策略:如果IAM用户需要主机迁移服务(SMS)的所有操作权限,则为IAM用户授予系统策略。在IAM控制台创建用户组,并授予“SMS FullAccess”、"OBS OperateAccess"、“ECS FullAccess”、“VPC FullAccess”、“EVS FullAccess”。 自定义策略:如果IAM用户只需要拥有主机迁移服务(SMS)的部分操作权限,则使用自定义策略,参见SMS自定义策略。 自定义策略相比于系统策略,粒度更细,更安全。 在IAM控制台创建IAM用户。 给IAM用户授权。 将创建的IAM用户,加入步骤1中创建的用户组。 使用创建的IAM用户登录华为云控制台。 参考访问密钥,获取IAM用户的AK/SK。
  • 产品架构和优势 DWS是基于Shared-nothing架构的分布式、并行数据库集群,其产品架构请参见下图。 图1 产品架构图 该架构保证DWS具有以下关键优势: DWS服务可以在多种云形态下使用,支持华为公有云形态、混合云本地运维HCS形态、混合云长期连线HCSO形态,以及边缘小站IES形态,为不同类型用户对部署形态和运维模式的差异化提供选择。 DWS数据库内核统一使用华为自主研发的GaussDB数据库,兼容PostgreSQL的数据库内核引擎,从单机OLTP数据库改造为企业级MPP(大规模并行处理)架构的OLAP分布式数据库,其主要面向海量数据分析场景。 DWS产品提供标准数仓、IoT数仓和实时数仓三种产品形态,与传统数据仓库相比,主要有以下特点与显著优势,可解决多行业超大规模数据处理与通用平台管理问题: 易使用 一站式可视化便捷管理 DWS让您能够轻松完成从项目概念到生产部署的整个过程。通过使用DWS管理控制台,您不需要安装数据仓库软件,也不需要部署数据仓库服务器,就可以在几分钟之内获得高性能、高可靠的企业级数据仓库集群。 您只需点击几下鼠标,就可以轻松完成应用程序与数据仓库的连接、数据备份、数据恢复、数据仓库资源和性能监控等运维管理工作。 提供一键式异构数据库迁移工具 DWS提供配套的迁移工具,可支持Oracle和Teradata的SQL脚本迁移到DWS。 高性能 云化分布式架构 DWS采用全并行的MPP架构数据库,业务数据被分散存储在多个节点上,数据分析任务被推送到数据所在位置就近执行,并行地完成大规模的数据处理工作,实现对数据处理的快速响应。 查询高性能,万亿数据秒级响应 DWS后台通过算子多线程并行执行、向量化计算引擎实现指令在寄存器并行执行,以及LLVM动态编译减少查询时冗余的条件逻辑判断,助力数据查询性能提升。 DWS支持行列混合存储,可以同时为用户提供更优的数据压缩比(列存)、更好的索引性能(列存)、更好的点更新和点查询(行存)性能。 数据加载快 DWS提供了GDS极速并行大规模数据加载工具。 高扩展 按需扩展:Shared-Nothing开放架构,可随时根据业务情况增加节点,扩展系统的数据存储能力和查询分析性能,最高支持2048节点规模。 扩容后性能线性提升:容量和性能随集群规模线性提升,线性比0.8。 扩容不中断业务:扩容过程中支持数据增、删、改、查,及DDL操作(DROP/TRUNCATE/ALTER TABLE),表级别在线扩容技术,扩容期间业务不中断、无感知。 高可靠 ACID 支持分布式事务ACID(Atomicity,Consistency,Isolation,Durability),数据强一致保证。 全方位HA设计 DWS所有的软件进程均有主备保证,集群的协调节点(CN)、数据节点(DN)等逻辑组件全部有主备保证,能够保证在任意单点物理故障的情况下系统依然能够保证数据可靠、一致,同时还能对外提供服务。 安全 DWS支持数据透明加密,同时可与数据库安全服务(DBSS)对接,基于网络隔离及安全组规则,保护系统和用户隐私及数据安全。DWS还支持自动数据全量、增量备份,提升数据可靠性。 融合分析 多模融合:支持流、时序、GIS、全文、AI等类型数据在库内直接计算,融合分析。 多源融合:与大数据无缝融合,您可以使用标准SQL查询HDFS、OBS上的数据,数据无需搬迁。 加速集群:基于OBS数据访问,共享Express加速集群,提供更高效的融合计算分析能力。 高安全 透明加密:对数据库的数据文件进行加密,可以避免恶意攻击者在OS层面绕过数据库权限控制机制或窃取磁盘直接访问用户数据的情况。 数据脱敏:内置数值、字符、时间类型脱敏函数,并提供可自定义的脱敏规则,实现在大数据高效互访的同时,对敏感数据进行有效保护。 父主题: DWS产品简介
  • 生态对接 数据库备份的存储介质目前支持NBU、爱数、A8000、OBS以及磁盘存储介质,本地磁盘存储将会和数据库数据共同占用磁盘,所以一般都是远程存储介质,由外部的存储服务管理备份数据,比如NBU、爱数、A8000,且这些存储服务还会对进行数据重删等技术操作,提供备份的空间使用率。OBS为对象存储服务,是华为提供的数据存储服务,使用方式性对比较简单,备份时直接由备份进程将数据发送给OBS进行存储,不需要再备份本地先建立一个中间客户端。目前主流的备份软件就是使用这种架构如下图3所示,每个节点有一个备份客户端Client,当有备份任务时将给每个客户端下发备份任务,每个客户端将创建一个eefproc进程,该进程将调用数据库的备份命令,产生备份数据后存入管道由该进程读取并发送给备份服务器。 对于备份恢复的生态对接,DWS侧使用标准的XBSA接口进行备份,各备份厂商将实现XBSA协议实现接口并使用DWS侧的roach client非侵入式的方式对接数据库的备份存储服务。 图3 备份恢复生态对接架构 了解更多请参见管理快照。
  • 快照功能 快照是DWS集群在某一时间点的完整备份,记录了这一时刻指定集群的所有配置数据和业务数据,用于还原创建快照时的集群数据。快照存储在OBS中。 DWS提供了部分免费存储空间,用于存放您的快照数据。当快照数据存储空间超过免费空间大小时,超出部分按照OBS的计费规则进行计费。 免费空间大小是您的集群的总存储空间大小,即单节点存储空间大小 * 节点数。 快照管理功能依赖OBS服务。 快照中包含集群上运行的数据库的数据以及集群的相关信息,其中包括节点数量、节点规格和管理员用户名称等。如果您需要从快照恢复集群,DWS会使用这些集群信息创建新的集群,然后从快照数据中还原所有数据库。DWS从快照创建的新集群与制作快照的原始集群具有相同的配置(包括节点的数量和规格)。当您将快照恢复为新集群时,如果您没有指定其他值,则参数默认与快照中的备份信息保持一致。 快照有两种类型:手动快照和自动快照。
  • 自动快照的备份与恢复策略 自动快照采用差异增量备份,第一次创建自动快照为全量备份,并且以后每间隔一段时间就会做一次全量备份,全量备份作为基础版本。两次全量备份之间都是做增量备份,增量备份记录基于前一次备份所发生的更改。在恢复快照时,DWS会将最近一次的全量备份到本次备份之间的所有备份一起用于恢复集群,因此不会产生数据丢失。为了保证每个增量快照都能够正常进行数据恢复,如果增量快照的保存时间超过了保留天数,DWS不会立即删除过期的增量快照,而是仍然会保留这部分快照,以便提供给后续其他增量快照恢复集群时使用。直到下一次做全量快照为止,DWS才会一并删除已过期的上一次的全量自动快照和相关的增量快照。如果对已有集群关闭自动快照功能,则会删除该集群所有的自动快照,但手动快照不会被删除。 图2 自动快照的备份与恢复策略
  • 技术原理 集群管理模块由CMServer,CMAgent和Monitor组件组成,并提供集群状态查询、集群起停、主备切换、实例重建等工具。CMServer只部署在主备CM上,作为整个GaussDB(DWS)集群的大脑,负责处理CMAgent上报的各种状态信息,并决定是否需要状态变更。CMAgent部署于所有节点,作为实例代理进程,负责上报CN/DN/GTM等实例状态至CMServer,并接收和执行CMServer下发的命令。Monitor部署于所有节点,作为定时任务,在CMAgent停止的情况下将其重启。 图1 集群管理模块架构
  • 数据分布式存储 DWS采用水平分表的方式,将业务数据表的元组分散存储到各个节点内,该优势在于,查询中通过查询条件过滤不必要的数据,快速定位到数据存储位置,可极大提升数据库性能。 水平分表方式将一个数据表内的数据,按合适分布策略分散存储在多个节点内,DWS支持如表1所示的数据分布策略。用户可在CREATE TABLE时增加DISTRIBUTE BY参数,对指定的表应用数据分布功能。 表1 分布式策略 策略 描述 适用场景 优势与劣势 复制表(Replication) 集群中每一个DN实例上都有一份全量表数据。 小表、维度表。 Replication优点是每个DN上都有此表的全量数据,在join操作中可以避免数据重分布操作,从而减小网络开销,同时减少了plan segment(每个plan segment都会起对应的线程)。 Replication缺点是每个DN都保留了表的完整数据,造成数据的冗余。一般情况下只有较小的维度表才会定义为Replication表。 哈希表(Hash) 表数据通过hash方式散列到集群中的所有DN实例上。 数据量较大的事实表。 在读/写数据时可以利用各个节点的IO资源,大大提升表的读/写速度。 一般情况下大表(1000000条记录以上)定义为Hash表。 轮询表(Roundrobin) 8.1.2及以上版本支持 表的每一行被轮番地发送给各个DN,数据会被均匀地分布在各个DN中。 数据量较大的事实表,且使用Hash分布时找不到合适的分布列。 Roundrobin优点是保证了数据不会发生倾斜,从而提高了集群的空间利用率。 Roundrobin缺点是无法像Hash表一样进行DN本地化优化,查询性能通常不如Hash表。 一般在大表无法找到合适的分布列时,定义为Roundrobin表,若大表能够找到合适的分布列,优先选择性能更好的Hash分布。 父主题: 分布式环境的数据布局
  • 产品性能 DWS的产品性能指标如表2所示。 表2 产品性能指标 性能项 支持指标 服务器配置 数据导入能力 单节点80MB/s(行存表),150MB/s(列存表) CPU: 2路12核 E5-2690 内存:256GB 硬盘:20块 600GB SAS盘 网络:10GE 数据导出能力 单节点100MB/s 全表扫能力 单节点3亿条/s 点查询能力 万亿条精确查询秒级响应 分组能力(group by) 单节点2000万条/s 连接能力(join) 单节点500万条/s 排序能力(order by) 单节点300万条/s
  • 技术原理 图1 SQL自诊断技术原理 CN端对SQL进行查询编译生成计划树,通过诊断分析器对执行计划树诊断出查询模式下可识别的问题(包括统计信息未收集和SQL不下推的告警)。 DN端执行SQL语句,在运行时将有关统计信息写入DN共享内存。如果当前SQL运行是算子模式(可以诊断所有支持的告警场景),则在SQL运行过程中收集算子执行统计信息。 DN端完成SQL的执行,向CN返回运行结果。如果是算子模式,则DN向CN端返回收集的运行时状态,并由诊断分析器对其内容进行分析,将有关分析结果进行记录。 内存中统计信息3分钟会被清理一次。如果需要记录所有历史信息,打开GUC参数enable_resource_record,内存中统计信息每3分钟会被持久化到特定系统表中。
  • 技术背景 业务中包含大量查询,这些查询在执行计划、执行层面有什么样的问题,比如估算是否不准确、是否存在数据倾斜、是否存在统计信息未收集并且如何收集统计信息等。SQL自诊断为用户提供了一种更为高效易用的性能问题定位方法。主要帮助用户对批处理作业的SQL调优过程进行简化,希望输入SQL之后能够方便的批量得到SQL所存在的问题和针对问题给出的调优建议,而不是让用户依次去把作业集中的SQL单独提取出来改写,重现有性能问题的SQL语句并且通过查看Explain Performance依次排查问题,改写SQL,调整参数等复杂的调优。
  • 效果收益 场景描述 收益 多列/单列统计信息未收集 通过analyze收集统计信息,生成更好的执行计划。 SQL不下推 上报导致不下推的原因。通过SQL调优尽量将SQL下推。 HashJoin中大表做内表 数据量较大并且产生了下盘,对性能影响较大。通过SQL调优避免这种情况。 大表等值连接使用Nestloop Nestloop在数据量较大时对性能影响较大。通过SQL调优避免这种情况。 大表Broadcast 在网络上发送大量数据,对性能影响较大。通过SQL调优避免这种情况。 数据倾斜 造成某些节点成为系统瓶颈。 索引不合理 索引不合理,导致扫描行数过多。修改索引。 估算不准 估算与实际执行行数偏差较大,导致选取计划不是最优。
  • 技术特点 支持标准SQL查询语法 完全继承GaussDB(DWS)的SQL查询语法的支持,实现HDFS分布式文件系统上的结构化数据分析查询,支持连接、聚合、字符日期等系统函数,支持子查询以及HDFS结构化数据和GaussDB(DWS)本地数据的联合访问,支持窗口函数等。 针对HDFS数据的代价估算模型 在GaussDB(DWS)基于代价估算(Cost-based)的SQL优化器中,增加了针对HDFS分布式文件系统上结构化数据访问的代价估算模型,从而可以制定HDFS数据的最优执行计划。 智能扫描 GaussDB(DWS)可以将适用的谓词条件直接下推到存储在HDFS上的Hadoop原生数据上,在压缩数据上进行谓词过滤,且针对Hadoop ORC(Optimized Row Columnar)列式存储实现后期物化(Late-materialization),从而显著减少HDFS数据读取。 LLVM(Low Level Virtual Machine)优化 基于智能扫描,将下推到Hadoop原生数据上的适用谓词进行LLVM优化,使其谓词条件生成中间表示IR,最终生成与平台相关的机器码,进而提高谓词过滤及查询性能。 支持信息约束(Informational Constraint) 若表上的列具有唯一性特征,则在数据库中创建该表时指定对应列具有信息约束属性,在执行阶段利用该属性提供查询性能。 向量引擎 针对HDFS上存储的ORC列式结构化数据,直接对接GaussDB(DWS)已有成熟的向量化执行引擎,提升分析查询性能。 支持分区表 适配HDFS上依据Hive语法定义的分区表数据,由GaussDB(DWS) SQL优化器来实现自动的分区表访问的剪枝操作,提高分析查询性能。 分布式高效读取HDFS数据 GaussDB(DWS) SQL编译器引入Scheduler组件,来达到GaussDB(DWS) Data Nodes的HDFS数据访问负载均衡,并可以通过HDFS组件的本地读特性(short-circuit)来提升数据读取性能。 了解更多:请参见CREATE FOREIGN TABLE (SQL on Hadoop or OBS)
  • 技术架构 DWS将HDFS上存储的结构化数据映射为外部表,从而重用已有的成熟数据库SQL编译器和向量化执行引擎,对外提供标准SQL接口,完成HDFS上Hadoop原生数据的分析查询。 DWS的SQL编译器中引入了新的Scheduler(调度器)组件。在SQL编译时,如果有针对HDFS外表的访问,Scheduler组件会访问HDFS Name Node元数据信息,获得外表文件在HDFS上的存储路径。CN的SQL引擎在编译查询语句时,将会调用Scheduler获得并指定每个DN将要访问的HDFS文件的具体路径。 HDFS外表数据文件在DN间的分配原则是: 首先以本地读为主任务分配策略。 其次考虑DN之间的任务负载均衡。 图1 逻辑架构
  • 数据仓库迁移 数据仓库是企业的重要数据分析系统,随着业务量的增长,自建数仓性能逐渐不能满足实际要求,同时扩展性差、成本高,导致扩容极为困难。DWS作为云上企业级数据仓库,具备高性能、低成本、易扩展等特性,满足大数据时代企业数据仓库业务诉求。 图1 数据仓库迁移 优势 平滑迁移 DWS提供配套的迁移工具,可支持Teradata、Oracle、MySQL、SQL Server、PostgreSQL、Greenplum、Impala等常用数据分析系统的平滑迁移。 兼容传统数据仓库 DWS支持SQL 2003标准,兼容Oracle的部分语法和数据结构,支持存储过程,可与常用BI(business intelligence)工具无缝对接,业务迁移修改量极小。 安全可靠 DWS支持数据加密,同时可与数据库安全服务对接,保证云上数据安全。同时DWS支持数据自动全量、增量备份,提升数据可靠性。
  • 增强型ETL和实时BI分析 数据仓库在整个BI系统中起到了支柱的作用,更是海量数据收集、存储、分析的核心。为IoT(Internet of things)、金融、教育、移动互联网、O2O(Online to Offline)等行业提供强大的商业决策分析支持。 优势 数据迁移 多数据源,高效批量、实时数据导入。 高性能 PB级数据低成本的存储与万亿级数据关联分析秒级响应。 实时 业务数据流实时整合,及时对经营决策进行优化与调整。 图3 增强型ETL+实时BI分析
  • 实时数据分析 移动互联网、IoT场景下会产生大量实时数据,为了快速获取数据价值,需要对数据进行实时分析,DWS通过+时序、+流、+AI引擎,实现快速入库和查询能力,可支持实时数据分析。 图4 实时数据分析 优势 流式数据实时入库 IoT、互联网等数据经过流计算及AI服务处理后,可实时写入DWS。 实时监控与预测 围绕数据进行分析和预测,对设备进行监控,对行为进行预测,实现控制和优化。 AI融合分析 AI服务对图像、文本等数据的分析结果可在DWS中与其他业务数据进行关联分析,实现融合数据分析。 IoT场景 图5 IoT场景 物联网(IoT)所产生的数据,通过构建GaussDB(DWS) ,围绕海量的数据进行实时分析并进行反馈优化。应用在工业IoT、O2O业务系统、车联网等解决方案。 优势如下: 流式数据实时入库:IoT设备及网关汇集的流式数据经华为云DIS导入至GaussDB(DWS) 。 设备监控与预测:围绕数据,进行分析和预测,对设备进行监视、控制和优化补给,以及自我诊断和修复。 信息推荐:结合围绕在用户周围的联网设备汇集的数据,为用户进行定向的信息推荐。
  • 大数据融合分析 随着IT、信息技术的发展和进步,数据资源已经成为企业的核心资源。整合数据资源,构建大数据平台,发现数据价值,成为企业经营的新趋势和迫切诉求。而如何从海量数据中快速挖掘“价值”,成为助力客户实现预测性分析的关键要素。 图2 大数据融合分析 优势 统一分析入口 以DWS的SQL作为上层应用的统一入口,应用开发人员使用熟悉的SQL语言即可访问所有数据。 实时交互分析 针对即时的分析需求,分析人员可实时从大数据平台中获取信息。 弹性伸缩 增加节点,即可扩展系统的数据存储能力和查询分析的性能,可支持PB级数据的存储和计算。
  • 技术背景 在分布式share nothing架构下,表的数据分布在不同的节点上。客户端的一条或多条语句可能会同时修改多个节点上的数据,这种情况下,会产生分布式事务。分布式事务需要关注: 在各个节点上事务的原子性,分布式事务在所有节点上要么全部成功要么全部失败。 事务的一致性,查询在各个节点上返回一致的数据。当节点出现故障时,是否会返回不一致的数据。 其中,分布式事务的原子性是必须要满足的,分布式事务的一致性根据CAP理论会有不同的标准,常见的是支持强一致2pc、3pc协议等的CP系统,或者支持最终一致性TCC、消息表等的AP系统。
  • SQL13 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 select c_count, count(*) as custdist from ( select c_custkey, count(o_orderkey) from customer left outer join orders on c_custkey = o_custkey and o_comment not like '%special%requests%' group by c_custkey ) as c_orders (c_custkey, c_count) group by c_count order by custdist desc, c_count desc;
  • SQL8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 select o_year, sum(case when nation = 'BRAZIL' then volume else 0 end) / sum(volume) as mkt_share from ( select extract(year from o_orderdate) as o_year, l_extendedprice * (1 - l_discount) as volume, n2.n_name as nation from part, supplier, lineitem, orders, customer, nation n1, nation n2, region where p_partkey = l_partkey and s_suppkey = l_suppkey and l_orderkey = o_orderkey and o_custkey = c_custkey and c_nationkey = n1.n_nationkey and n1.n_regionkey = r_regionkey and r_name = 'AMERICA' and s_nationkey = n2.n_nationkey and o_orderdate between date '1995-01-01' and date '1996-12-31' and p_type = 'ECONOMY ANODIZED STEEL' ) as all_nations group by o_year order by o_year;
  • SQL7 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 select supp_nation, cust_nation, l_year, sum(volume) as revenue from ( select n1.n_name as supp_nation, n2.n_name as cust_nation, extract(year from l_shipdate) as l_year, l_extendedprice * (1 - l_discount) as volume from supplier, lineitem, orders, customer, nation n1, nation n2 where s_suppkey = l_suppkey and o_orderkey = l_orderkey and c_custkey = o_custkey and s_nationkey = n1.n_nationkey and c_nationkey = n2.n_nationkey and ( (n1.n_name = 'FRANCE' and n2.n_name = 'GERMANY') or (n1.n_name = 'GERMANY' and n2.n_name = 'FRANCE') ) and l_shipdate between date '1995-01-01' and date '1996-12-31' ) as shipping group by supp_nation, cust_nation, l_year order by supp_nation, cust_nation, l_year;
  • SQL9 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 select nation, o_year, sum(amount) as sum_profit from ( select n_name as nation, extract(year from o_orderdate) as o_year, l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity as amount from part, supplier, lineitem, partsupp, orders, nation where s_suppkey = l_suppkey and ps_suppkey = l_suppkey and ps_partkey = l_partkey and p_partkey = l_partkey and o_orderkey = l_orderkey and s_nationkey = n_nationkey and p_name like '%green%' ) as profit group by nation, o_year order by nation, o_year desc;
  • SQL2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 select s_acctbal, s_name, n_name, p_partkey, p_mfgr, s_address, s_phone, s_comment from part, supplier, partsupp, nation, region where p_partkey = ps_partkey and s_suppkey = ps_suppkey and p_size = 15 and p_type like '%BRASS' and s_nationkey = n_nationkey and n_regionkey = r_regionkey and r_name = 'EUROPE' and ps_supplycost = ( select min(ps_supplycost) from partsupp, supplier, nation, region where p_partkey = ps_partkey and s_suppkey = ps_suppkey and s_nationkey = n_nationkey and n_regionkey = r_regionkey and r_name = 'EUROPE' ) order by s_acctbal desc, n_name, s_name, p_partkey limit 100;
共100000条