
# DWS最佳实践汇总
本文汇总了DWS服务的常见应用场景，并为每个场景提供详细的方案描述和操作指南，您可以根据本文查看适合您业务的实践教程文档。
#### 导入导出
表1DWS导入导出 
| 文档名                                                                                                          | 描述                                                             |
|:---|:---|
| [导入数据到DWS最佳实践](https://support.huaweicloud.com/bestpractice-dws/dws_05_0001.html)                            | 描述导入数据到DWS、从DWS导出数据的方法及使用工具的最佳实践方法论。                           |
| [导入OBS桶数据到DWS集群及从DWS导出数据到OBS桶](https://support.huaweicloud.com/bestpractice-dws/dws_05_0024.html)            | 将样例数据上传OBS，并通过OBS外表访问OBS桶内的数据或导入数据到DWS，同时也支持将DWS的某张表数据导出到OBS桶。 |
| [使用GDS从远端服务器上导入表数据到DWS集群](https://support.huaweicloud.com/bestpractice-dws/dws_05_0032.html)                 | 使用GDS工具将远端服务器上的数据导入DWS。                                        |
| [从MRS Hive导入表数据到DWS集群](https://support.huaweicloud.com/bestpractice-dws/dws_05_0056.html)                    | 通过建立HDFS外表实现DWS远端访问或读取MRS数据源。                                  |
| [使用EXTERNAL SCHEMA跨集群访问Hive MetaStore元数据](https://support.huaweicloud.com/bestpractice-dws/dws_05_0013.html) | 存算分离集群通过建立EXTERNAL SCHEMA实现远端访问Hive MetaStore元数据。              |
| [从DLI导入表数据到DWS集群](https://support.huaweicloud.com/bestpractice-dws/dws_05_0007.html)                         | 使用DWS外表功能从数据湖探索服务DLI导入数据到DWS。                                  |
| [从DWS集群导出ORC数据到MRS集群](https://support.huaweicloud.com/bestpractice-dws/dws_05_0077.html)                     | 通过HDFS外表导出ORC格式数据至MRS。                                         |
   
#### 数据迁移
表2DWS数据迁移 
| 文档名                                                                                                    | 描述                                                             |
|:---|:---|
| [使用CDM迁移Oracle数据至DWS集群](https://support.huaweicloud.com/bestpractice-dws/dws_05_0091.html)             | 将Oracle业务相关的表数据迁移到DWS。                                         |
| [使用CDM迁移MySQL数据至DWS集群](https://support.huaweicloud.com/bestpractice-dws/dws_05_9990.html)              | 通过云数据迁移服务CDM将MySQL数据批量迁移到DWS。                                  |
| [使用DLI Flink作业实时同步MySQL数据至DWS集群](https://support.huaweicloud.com/bestpractice-dws/dws_05_0012.html)    | 使用华为云DLI服务的Flink作业，将MySQL数据实时同步到DWS。                           |
| [使用CDM迁移Hologres至DWS集群](https://support.huaweicloud.com/bestpractice-dws/dws_05_0017.html)             | 使用云数据迁移服务CDM将Hologres数据迁移到DWS。                                 |
| [使用Kettle迁移AWS Redshift小表到DWS集群](https://support.huaweicloud.com/bestpractice-dws/dws_05_0020.html)    | 使用开源工具Kettle将Redshift数据迁移到DWS。                                 |
| [使用CDM迁移AnalyticDB for MySQL至DWS集群](https://support.huaweicloud.com/bestpractice-dws/dws_05_0018.html) | 使用云数据迁移服务CDM将AnalyticDB for MySQL数据迁移到DWS。                     |
| [使用DLI Flink作业实时同步Kafka数据至DWS集群](https://support.huaweicloud.com/bestpractice-dws/dws_05_0110.html)    | 通过数据湖探索服务 DLI Flink作业将分布式消息服务 Kafka的消费数据实时同步至DWS。              |
| [使用DataX迁移数据到DWS集群](https://support.huaweicloud.com/bestpractice-dws/dws_05_0023.html)                 | 本实践以神通数据库迁移到DWS集群为例，演示开源离线数据同步工具DataX与DWS对接过程，实现多种异构数据源迁移到DWS。 |
| [使用GDS互联互通功能实现DWS集群间数据迁移](https://support.huaweicloud.com/bestpractice-dws/dws_05_0111.html)           | 基于GDS导入导出的高并发能力，实现两套DWS集群之间1500万行数据的分钟级迁移。                     |
   
#### 数据分析
表3DWS数据分析 
| 文档名                                                                                        | 描述                                                                                    |
|:---|:---|
| [使用DWS秒级查询交通卡口通行车辆行驶路线](https://support.huaweicloud.com/bestpractice-dws/dws_05_0043.html) | 加载8.9亿条交通卡口车辆通行模拟数据到数据仓库单个数据库表中，并进行车辆精确查询和车辆模糊查询，展示DWS对于历史详单数据的高性能查询能力。               |
| [使用DWS分析某公司供应链需求](https://support.huaweicloud.com/bestpractice-dws/dws_05_0044.html)       | 从OBS加载样例数据集到DWS 集群中并查询数据的流程，从而向您展示DWS 在数据分析场景中的多表分析与主题分析。                             |
| [使用DWS分析零售业百货公司经营状况](https://support.huaweicloud.com/bestpractice-dws/dws_05_0045.html)    | 从OBS加载各个零售商场每日经营的业务数据到数据仓库对应的表中，然后对商铺营业额、客流信息、月度销售排行、月度客流转化率、月度租售比、销售坪效等KPI信息进行汇总和查询。 |
| [DWS对接Power BI操作指导](https://support.huaweicloud.com/bestpractice-dws/dws_05_0008.html)     | 在弹性云服务器ECS上的Windows环境下安装Power BI，并使用On-premises Data Gateway（本地数据网关）模式与DWS进行对接。       |
   
#### 存算分离
表4DWS存算分离 
| 文档名                                                                                                    | 描述                                                                                                      |
|:---|:---|
| [DWS 3.0 存算分离使用建议及性能优化](https://support.huaweicloud.com/bestpractice-dws/dws_05_0027.html)             | 描述存算分离版本特有的性能优化和注意事项。                                                                                   |
| [使用DWS磁盘缓存（disk cache）功能提升查询性能最佳实践](https://support.huaweicloud.com/bestpractice-dws/dws_05_0034.html) | 存算分离场景下，业务数据存储在OBS桶，如果用户频繁访问OBS会出现性能瓶颈，可引入DWS的本地磁盘缓存功能，将常用的热数据存储到缓存中，再根据实际使用频次将流量高的数据进行队列优先级排序，以提升查询性能。 |
   
#### 数据开发
表5DWS数据开发 
| 文档名                                                                                                  | 描述                                                                                                                                                                                                                                |
|:---|:---|
| [实时数仓及HStore表使用最佳实践](https://support.huaweicloud.com/bestpractice-dws/dws_05_0029.html)              | DWS实时数仓在大规模数据查询和分析能力基础上，提供**高并发、高性能、低时延、低成本** 的事务处理能力，通过**[HStore表](https://support.huaweicloud.com/bestpractice-dws/dws_05_0029.html#ZH-CN_TOPIC_0000002433492878__section1931219417452)**的使用发挥显著性能，其在互联网、物联网及传统行业数字化转型中发挥着关键作用。 |
| [DWS时序表转HStore表最佳实践](https://support.huaweicloud.com/bestpractice-dws/dws_05_0302.html)              | 由于新的列存HStore表在入库性能、压缩比和查询性能方面都优于时序表（TimeSeries表），所以推荐使用HStore表替代TimeSeries表。                                                                                                                                                      |
| [使用DWS行列共存表](https://support.huaweicloud.com/bestpractice-dws/dws_05_0030.html)                      | DWS提供的**行列共存表** （也称行列混存表），是一种创新的混合存储模式：**在一张表中同时存储行格式数据和列格式数据，两种格式各自独立维护、同步更新，由查询优化器根据实际查询路径选择最优访问方式。** 本实践介绍如何设计使用行列共存表结构，结合典型场景和性能对比，帮助您在业务系统中实现更高效的数据处理能力。                     |
| [使用DWS冷热数据切换功能降低业务成本](https://support.huaweicloud.com/bestpractice-dws/dws_05_0094.html)             | 在数据量激增的场景下，根据业务对数据的使用频率，将数据按时间划分为热数据和冷数据进行分级管理，可提升分析性能并降低成本。                                                                                                                                                                      |
| [使用DWS分区自动管理功能降低电商和物联网行业数据分区维护成本](https://support.huaweicloud.com/bestpractice-dws/dws_05_0120.html) | DWS的分区自动管理功能通过设置表级参数（period、ttl），可自动创建新分区和删除过期分区，适用于时间分区表（如订单、物联网数据等）。该功能解决了传统分区表需人工维护的问题，显著降低运维成本，同时提升查询性能。                                                                                                                      |
| [使用DWS视图重建功能实现视图解耦以提升开发效率](https://support.huaweicloud.com/bestpractice-dws/dws_05_0061.html)        | 为了解决因存在视图和表依赖而无法单独修改表对象的问题，DWS实现了视图的解耦与重建功能。本文重点介绍视图自动重建功能的使用场景与使用方法。                                                                                                                                                             |
| [GIN索引使用实践](https://support.huaweicloud.com/bestpractice-dws/dws_05_0025.html)                       | 介绍如何使用GIN索引查询数组类型、JSONB类型，如何进行全文检索。                                                                                                                                                                                               |
| [实现DWS数据列的加解密](https://support.huaweicloud.com/bestpractice-dws/dws_05_0092.html)                    | 数据加密作为有效防止未授权访问和防护数据泄露的技术，在各种信息系统中广泛使用。作为信息系统的核心，DWS数仓也提供数据加密功能，包括透明加密和使用SQL函数加密，本章节主要讨论SQL函数加密。                                                                                                                                  |
| [通过DWS视图管控数据权限](https://support.huaweicloud.com/bestpractice-dws/dws_05_0112.html)                   | 介绍如何通过视图实现给不同的用户授予查询同一表中不同数据的权限，提供数据的权限管理和安全性。                                                                                                                                                                                    |
   
#### 数据库管理
表6DWS数据库管理 
| 文档名                                                                                     | 描述                                                                                            |
|:---|:---|
| [DWS基于角色的访问控制(RBAC)](https://support.huaweicloud.com/bestpractice-dws/dws_05_0081.html) | 提供RBAC模型在DWS的应用示例，基于角色的访问控制（Role-Based Access Control，简称RBAC）是通过为角色赋予权限，使用户成为适当的角色而获取相应角色的权限。 |
| [DWS只读用户配置权限](https://support.huaweicloud.com/bestpractice-dws/dws_05_9998.html)        | 提供控制台只读用户的配置实践，用于控制台账号的权限分离，例如只允许该用户查看和连接集群，但不允许进行集群高危操作（例如删除）。                               |
| [DWS用户管理优秀实践](https://support.huaweicloud.com/bestpractice-dws/dws_05_0058.html)        | 描述了系统管理员和普通用户的权限，以及如何创建以及如何查询用户相关信息。                                                          |
| [查看DWS表和数据库的信息](https://support.huaweicloud.com/bestpractice-dws/dws_05_0059.html)      | 提供常见的查询表和数据库的相关信息的SQL示例。                                                                      |
| [DWS数据库SEQUENCE优秀实践](https://support.huaweicloud.com/bestpractice-dws/dws_05_0113.html) | 描述创建与管理SEQUENCE的优秀实践和示例。                                                                      |
   
#### 性能调优
表7DWS性能调优 
| 文档名                                                                                                             | 描述                                                                                                                                                                                                            |
|:---|:---|
| [基于表结构设计和调优提升DWS查询性能](https://support.huaweicloud.com/bestpractice-dws/dws_05_0006.html)                        | 介绍如何设计DWS表结构，包括：选择表模型、选择存储方式、压缩级别、分布方式、分布列以及使用分区表和局部聚簇等，从而实现表性能的优化。                                                                                                                                           |
| [SQL查询优秀实践](https://support.huaweicloud.com/bestpractice-dws/dws_05_0002.html)                                  | 介绍通过一定的规则调整SQL语句，在保证结果正确的基础上，能够提高SQL执行效率。                                                                                                                                                                     |
| [在DWS点查询场景中使用bitmap index降低空间和写入成本](https://support.huaweicloud.com/bestpractice-dws/dws_05_0031.html)          | 在实际业务中，针对主键、订单号、用户ID等字段的点查场景较为常见，传统做法是通过建立索引来提升查询性能，这类方式在小数据量或高选择性字段上效果显著。但在**大数据量、宽表结构或批量入库** 场景下，存在性能慢问题，为了解决这些问题，DWS对HStore表提供了轻量级的列级索引机制**bitmap index** ，在保证查询加速能力的同时，**最大程度降低空间和写入成本，特别适用于点查类字段的性能优化**。 |
| [使用DWS Turbo引擎提升数据查询性能](https://support.huaweicloud.com/bestpractice-dws/dws_05_0021.html)                      | Turbo引擎相比原列存执行引擎，对字符串、numeric类型做了内存和磁盘存储格式优化，且对常用sort/agg/join/scan等算子做了极致性能优化，使得执行器整体性能提升1倍左右，可显著降低业务计算费用。                                                                                                   |
| [数据倾斜查询优秀实践](https://support.huaweicloud.com/bestpractice-dws/dws_05_0003.html)                                 | 提供查询数据倾斜的方法。                                                                                                                                                                                                  |
| [使用PGXC_STAT_ACTIVITY视图分析正在执行的SQL以处理DWS业务阻塞](https://support.huaweicloud.com/bestpractice-dws/dws_05_0057.html) | 在开发过程中，开发者常遇到SQL连接数超限、SQL查询时间过长、SQL查询阻塞等问题，介绍通过PG_STAT_ACTIVITY视图来分析和定位SQL问题的方法。                                                                                                                              |
   
#### 集群及资源负载管理
表8DWS集群及资源负载管理 
| 文档名                                                                                                 | 描述                                                                                           |
|:---|:---|
| [为两种作业绑定不同资源池以实现DWS资源负载能力](https://support.huaweicloud.com/bestpractice-dws/dws_05_0075.html)       | 将演示DWS的资源管理功能，帮助企业客户解决数据分析过程中，多用户查询作业遇到的性能瓶颈，最终实现多用户执行SQL作业互不影响，节省资源消耗。                      |
| [DWS存算一体架构弹性伸缩系统性介绍](https://support.huaweicloud.com/bestpractice-dws/dws_05_0201.html)             | 弹性伸缩是云服务一个非常重要的特性，可以使云服务根据算力需求和资源负荷情况调整计算和存储资源配置，以达到性能最优和降低成本的目的。                            |
| [存算分离场景下按需弹性VW：高性价比地适应灵活多变的业务需求](https://support.huaweicloud.com/bestpractice-dws/dws_05_0115.html) | 本章节演示存算分离场景下，使用DWS的增删弹性**计算组Virtual Warehouse**（以下简称 VW）功能，实现VW按业务高低峰自动扩缩容，实现VW按需消费，为企业降本增效。 |
| [查询及分析TopSQL最佳实践](https://support.huaweicloud.com/bestpractice-dws/dws_05_0033.html)                | 本章节描述DWS的TopSQL监控功能，主要用于定位数据库中的慢SQL、影响资源（CPU/磁盘/IO）的各类作业排队情况，并对这些SQL作业进行优化或人工干预，以提升集群的总体性能。  |
   
#### 安全管理
表9DWS安全管理 
| 文档名                                                                            | 描述                                                |
|:---|:---|
| [DWS安全最佳实践](https://support.huaweicloud.com/bestpractice-dws/dws_05_0130.html) | 提供了DWS使用过程中的安全最佳实践，旨在提升用户业务数据的整体安全能力，提供可操作的规范性指导。 |
   
