《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(上)——三、产品相关概念(上)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(上)——三、产品相关概念(上)

1. 数据库对象及操作

 

数据库对象的体系结构可以从用户视角和系统视角查看,用户视角类似使用MySQL一样,可以创建多个数据库,在每个数据库下面创建多个数据表,而在系统视角一个用户实例对应一个集群,而集群对应的是物理的数据库,该数据库为分布式的大规模并行MPP架构,数据库会分片到不同的节点上,而每个分片对应着物理表,通过Partition实现分区,分片是一级分区,分区是二级分区。

 

image.png

 

数据库对象的体系结构有以下概念:

 

用户集群:一个用户实例就是一个集群、用户集群资源独享

物理库:一个用户集群系统默认初始化一个物理库

数据库:逻辑数据库,最多256个表名空间和权限隔离

表:普通表又称分布式表,需要指定分布键维度表又称广播表,每个节点冗余一份

分片:表被分布键拆分后的子表,又称分片Shard)。

分区分片Shard可以再按某个字段划分为分区分片列通常是时间字段,有生命周期管理功能

 

1) 表:分区数据清除机制

 

数据清理机制:表元数据记录表的生命周期设置数,下面示例设LIFECYCLE 90,通过对分区的排序,超出生命周期数的分区将被清理掉,如图所示:

image.png

 

2) 数据建模SQL开发规范

 

编写和优化SQL时,需要充分考虑其分布式特性,开发规范如下:

 

SQL编写原则为追求简单一般情况下,数据库性能会随SQL复杂度而下降。例如,单表查询冗余设计优于表关联查询

SQL优化核心方法是减少I/O尽可能少的进行列扫描,返回最小数据量,减少I/O同时也减少内存开销

分布式计算,本地计算&并行计算大数据计算情况下,本地计算时充分利用分布式多计算资源的能力,避免数据跨节点

高QPS,分区裁剪业务系统要求高QPS、毫秒级RT时,表和SQL必须设计为分区裁剪模式。

 

a) 去掉不必要的列

 

返回的列的数量直接影响性能,在编写SQL时要确认业务需要返回的列,不要直接使用星号*进行查询,如:

 

错误SQL

 

select * from tab1 where c1>100 and c1<1000;

 

 

正确SQL

 

select col1,col2 from table_name where C1>100 andc1<1000;

 

b) 索引和扫描

 

当SQL包含多个查询条件时,优先选择高筛选条件,其他条件可以通过扫描实现在SQL命令中通过条件c1=3可快速查询到少量记录假设10000,单独使用time>'2010-01-0100:00:00'时返回的记录数又非常大,如:

 

原始SQL

 

select c1,c2 from tab1 where c1=3 and time >='2010-01-01 00:00:00';

 

建议SQL

 

/*no-index=itab1.time*/

selectc1,c2 from tab1 where c1=3 and time>='2010-01-01 00:00:00';

 

2. 权限与数据安全

 

1) 账号类型

 

阿里云账号

 作用范围AnalyticDB for MySQL集群

 可进行的操作:阿里云账号用于创建和管理集群,例如登录阿里云产品控制台、设置白名单、创建数据库账号、申请外网地址、按量付费转包年包月、设置可维护时间段、扩容集群、恢复新集群以及删除集群等。

 

RAM子账号

 作用范围,AnalyticDB for MySQL集群

 可进行的操作:阿里云账号授予RAM子账号一定的权限后,RAM子账号也可以在权限范围内创建和管理集群例如登录阿里云产品控制台、设置白名单、创建数据库账号、申请外网地址、按量付费转包年包月、设置可维护时间段、扩容集群、恢复新集群以及删除集群等。

 

数据库账号

 作用范围数据库

 可进行的操作:数据库账号在权限范围内用于对数据库进行操作,例如创建/删除数据库、连接数据库、创建/删除表、创建/删除视图等。分为普通账号和高权限账号。

 

服务账号

 作用范围AnalyticDB for MySQL集群

 可进行的操作:需要技术支持时授权AnalyticDB for MySQL集群的服务账号,技术支持人员才可以通过服务账号提供技术支持服务。

 

2) 用户

 

用户账号和认证

 账号格式:ALIYUN$user_account@aliyun.com

 认证需要使用AccessKey

 

用户类型

 OWNER:数据库拥有者,开通云原生数据仓库服务,并创建数据

 用户:被授权的数据库用户,由OWNER添加,无需开通云原生数据仓库服务

 

RAM子账号

 支持RAM阿里云访问控制子账号登录和使用云原生数据仓库

 主账号可建多个子账号,通过授予授权策略,使子账号在一定条件下可以访问云原生数据仓库

 子账号访问云原生数据仓库的MySQL协议端时需要使用其的AccessKey ID/Secret作为用户名和密码。

 

3) 权限模型

 

AnalyticDB for MySQL集群支持如下粒度的权限控制:集群、数据库、表、列、行级基于视图,如下图

 

image.png

 

4) SQL审计

 

SQL审计功能可以实时记录数据库DML和DDL操作信息,并提供数据库操作信息的检索功能,提高云原生数据仓库AnalyticDB MySQL版的安全性。

 

SQL审计日志:记录对数据库执行的所有操作。通过审计日志记录,用户可以对数据库进行故障分析、行为分析、安全审计等操作。

搜索:可以按照数据库、客户端IP、执行耗时、执行状态等进行多维度检索,并支持导出搜索结果。

 

3. 智能索引

 

ADB为表的每个字段智能构建索引,目前支持五种类型:字符串类的Invert索引(倒排索引)、bitmap索引、数值类的KDTree索引、JSON索引、向量索引。

 

不同类型的索引可以实现列级索引多种条件(交、并、差)任意组合,查询时无需建组合索引,通过Index CBO 智能动态筛选索引下推,通过谓词计算层进行流式渐进多路归并输出。

image.png

 

倒排索引

分区表的所有列适用Bitmap索引的列除外都建了倒排索引,key为排序的列值,value为对应的RowlD list,所以对于任何列进行FILTERWHERE key=value或者JOIN查询都非常高效。

 

Bitmap索引

对于值重复率高的列,建立Bitmap索引。

 

KDTree索引

为了加速范围查询,对于类型为数字的列同时建立了KDTree索引。

 

行列混存的块索引

块索引即块的元数据信息。

image.png

 

分区元数据:分区总行数,单个block中的列行数等信息。

列元数据:列值类型、整列的MAX/MIN值,NULL值数目,直方图信息等,便于加速查询。

列Block元数据:该列的MAX/MIN/SUM总条目数(COUNT)等信息,便于加速查询。

 

说明

复杂类型数据json,vector存储采用统一大小的块组织存储,按顺序存,采用稀疏索引查询。

 

更多精彩内容,欢迎观看:

《阿里云认证的解析与实战-数据仓库ACP认证》——云原生数据仓库AnalyticDB MySQL版解析与实践(上)——三、产品相关概念(下):https://developer.aliyun.com/article/1223283?groupCode=certification

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
4月前
|
存储 缓存 Cloud Native
MPP架构数据仓库使用问题之ADB PG云原生版本的扩缩容性能怎么样
MPP架构数据仓库使用问题之ADB PG云原生版本的扩缩容性能怎么样
MPP架构数据仓库使用问题之ADB PG云原生版本的扩缩容性能怎么样
|
2月前
|
Cloud Native 持续交付 云计算
云端新纪元:探索云原生技术的奥秘在当今数字化时代,云计算已成为推动企业创新和增长的关键动力。随着云平台的不断成熟,云原生技术应运而生,以其独特的优势引领着一场新的技术革命。本文将深入探讨云原生的核心概念、主要特点以及它如何改变现代软件开发和部署的方式,为您揭开云原生这一神秘面纱。
云原生是一种构建和运行应用程序的方法,充分利用了云平台的弹性、分布式本质以及声明式基础设施。本文将解析云原生的十二要素,微服务架构的优势,以及容器化、持续集成与持续部署(CI/CD)等核心技术的实践应用。通过深入浅出的方式,让读者理解云原生不仅是一种技术,更是一种文化和方法论,它正在重塑软件开发流程,提高资源利用率和应用系统的可扩展性与容错性。
|
2月前
|
运维 监控 Cloud Native
深入理解云原生技术:从概念到实践
在数字化转型的浪潮中,云原生技术如同星辰指引航船,引领企业驶向灵活、高效的未来。本文将深入浅出地探讨云原生的核心理念、关键技术及应用实例,旨在为读者揭开云原生的神秘面纱,展示其如何重塑软件开发与运维模式。通过理论与实践的结合,我们将一窥云原生技术的强大动力和无限可能。
|
3月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
231 3
|
4月前
|
存储 SQL 人工智能
AnalyticDB for MySQL:AI时代实时数据分析的最佳选择
阿里云云原生数据仓库AnalyticDB MySQL(ADB-M)与被OpenAI收购的实时分析数据库Rockset对比,两者在架构设计上有诸多相似点,例如存算分离、实时写入等,但ADB-M在多个方面展现出了更为成熟和先进的特性。ADB-M支持更丰富的弹性能力、强一致实时数据读写、全面的索引类型、高吞吐写入、完备的DML和Online DDL操作、智能的数据生命周期管理。在向量检索与分析上,ADB-M提供更高检索精度。ADB-M设计原理包括分布式表、基于Raft协议的同步层、支持DML和DDL的引擎层、高性能低成本的持久化层,这些共同确保了ADB-M在AI时代作为实时数据仓库的高性能与高性价比
|
5月前
|
SQL Cloud Native 关系型数据库
云原生数据仓库使用问题之分组优化如何实现
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
5月前
|
Cloud Native 关系型数据库 OLAP
云原生数据仓库操作报错合集之遇到“table does not exist”错误,该怎么办
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
5月前
|
SQL Cloud Native 关系型数据库
云原生数据仓库操作报错合集之遇到报错“DDL forbidden because backupTask is doing snapshot”如何处理
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
5月前
|
JSON Cloud Native 关系型数据库
云原生数据仓库操作报错合集之遇到报错 "ERROR: out of shared memory" ,该怎么办
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
|
5月前
|
SQL Cloud Native 关系型数据库
云原生数据仓库使用问题之如何使用UPDATE语句进行单表更新和多表关联更新
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。

推荐镜像

更多