# 基本概念
#### DWS的管理概念
- **集群**
  表示由多个节点组成的服务器群组。DWS以集群为单位进行组织，一个DWS集群由多个在相同子网中的相同规格的节点组成，共同提供服务。
  
- **节点**
  每个DWS集群部署节点取值范围为**3\~1024** 。详情请参见[DWS技术指标](https://support.huaweicloud.com/productdesc-dws/dws_01_00113.html)。
  
- **规格**
  用户创建DWS集群时需要指定集群节点的规格，不同规格节点使用的CPU、内存和存储资源不同。
  
- **快照**
  快照是用户根据需要创建的DWS集群备份，用于还原创建快照时的集群数据。快照会一直保存，直到用户使用管理控制台将此快照删除（自动快照不支持手动删除）。快照会占用用户购买使用的OBS配额。
  
- **Project**
  Project用于将OpenStack的资源（计算资源、存储资源和网络资源）进行分组和隔离。Project可以是一个部门或者一个项目组。一个账户中可以创建多个Project。
  
 
#### DWS的数据库概念
- **数据库**
  数据库用于管理各类数据对象，与其他数据库隔离。创建数据库时可以指定对应的表空间，如果不指定相应的表空间，相关的对象会默认保存在PG_DEFAULT空间中。数据库管理的对象可分布在多个表空间上。
  
- **联机分析处理**
  联机分析处理（Online Analytical Processing，简称OLAP），是DWS集群的主要工作方式，支持复杂的分析操作，侧重决策支持，并且提供直观易懂的查询结果。
  
- **大规模并行处理**
  大规模并行处理（Massively Parallel Processing，简称MPP，也可称为无共享架构），是指在DWS集群的每个节点中，都有独立的内存计算和磁盘存储系统，DWS根据数据库模型和应用特点，将业务数据划分到不同节点上，通过节点间的网络彼此连接协同计算，使集群作为整体提供数据库服务以满足业务需要。
  
- **无共享架构**
  无共享架构（Shared Nothing Architecture）是一种分布式计算架构。这种架构中的每一个节点都是独立、自给的，使整个系统中不出现单点竞争的情况，以提高工作效率。
  
- **数据库版本**
  每个DWS集群对应一个数据库版本，用户在创建DWS集群时确认此集群的版本。
  
- **数据库连接**
  用户通过客户端连接DWS集群的方式，实现数据库的连接。支持在华为云平台以及互联网环境上使用客户端进行连接。
  
- **数据库用户和角色**
  DWS使用用户和角色来控制对数据库的访问。根据角色自身的设置不同，一个角色可以看做是一个数据库用户，或者一组数据库用户。在DWS中角色和用户之间的区别只在于角色默认是没有LOGIN权限的。在DWS中一个用户唯一对应一个角色，不过可以使用角色叠加来更灵活地进行管理。
  
- **实例**
  实例在DWS中是运行在内存中的一组数据库进程，一个实例可以管理一个或多个数据库，这些数据库组成一个集簇。集簇是存储磁盘上的一个区域，这个区域在安装时初始化并由一个目录组成，所有数据都存储在这个目录中，这个目录被称为数据目录，使用initdb创建。理论上来说一个服务器上可以在不同的端口启动多个实例，但是DWS一次只能管理一个实例，启动和停止都是依赖于具体的数据目录。以后由于兼容的需要不排除引入实例名这个概念的可能。
  
- **表空间**
  在DWS中，表空间只支持相对表空间，是数据库实例数据目录下面的一个子目录，可以存在多个，里面存储的是它所包含的数据库的各种物理文件。由于表空间是一个目录，仅是起到了物理隔离的作用，其管理功能依赖于文件系统。
  
- **模式**
  DWS的模式是对数据库做一个逻辑分割。所有的数据库对象都建立在模式下面。DWS的模式和用户是弱绑定的，所谓的弱绑定是指虽然创建用户的同时会自动创建一个同名模式，但用户也可以单独创建模式，并且为用户指定其他的模式。
  
- **V2表**
  V2表特指建表环节时，执行CREATE TABLE语法中定义的colversion取值为2.0的表，表示列存表的每列合并存储在一个文件中，文件名以relfilenode.C1.0命名，数据存储在本地盘。存算一体场景下，不指定colversion取值时，用户创建的列存表默认为V2表。
  
- **V3表**
  V3表特指建表环节时，执行CREATE TABLE语法中定义的colversion取值为3.0的表，即存算分离表，表示列存表的每列合并存储在一个文件中，文件名以C1_field.0命名，数据存储在OBS文件系统。存算分离场景下，不指定colversion取值时，用户创建的列存表默认为V3表。
  
- **事务管理**
  在事务管理上，DWS采取了MVCC（多版本并发控制）结合两阶段锁的方式，其特点是读写之间不阻塞。DWS的MVCC没有将历史版本数据统一存放，而是和当前元组的版本放在了一起。DWS没有回滚段的概念，但是为了定期清除历史版本数据DWS引入了一个VACUUM进程。一般情况下用户不用关注它，除非要做性能调优。此外，DWS是自动提交事务。
  
- **Node Group**
  节点组，这是数据库内核的一个基本概念，即每个集群节点就是一个Node，若干个Node组成一个Node Group，一个物理集群包含多个Node Group，每个Node Group封装成用户感知的形态，就是一个逻辑集群（Logical Cluster）。
  
- **Logical Cluste** **r**
  逻辑集群，存算一体形态下，每个物理集群下划分成多个节点组（Node Group），每个节点组对应一个逻辑集群。
  
- **Virtual Warehouse**
  计算组，即存算分离形态下的逻辑集群叫法，当前统一叫计算组。
  以上三者的关系：Node Group是数据库内核的叫法，封装成产品，存算一体集群中，叫逻辑集群；存算分离集群中，叫计算组。
  
 
