【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1|学习笔记(三)

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 快速学习【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1

开发者学堂课程【数据仓库 ACP 认证课程【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/928/detail/14623


【视频】云原生数据仓库 AnalyticDB MySQL 版 _解析与实践1


(2)权限与数据安全∶用户

用户账号和认证︰

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

认证需要使用AcclessKey

用户类型:

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

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

RAM子账号︰

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

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

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

(3)权限与数据安全∶权限模型

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

 

DB

T

Col

Comments

SELECT

查询数据

INSERT...SELECT...FR

OM...

执行Insert.Select权限

UPDATE

执行Update权限

TRUNCATE TABLE

×

执行Drop权限

SHOW

×

列出数据库、表、视图内部对象(Global、Database )、列出表内部对象 (Table[View] )

ALTER

×

修改表/视图/数据库定义

DROP

×

删除数据库、表或分区(Global、Database )、删除表或分区(Table[Group])

CREATE

×

创建数据库(Global )、创建表/表分区/视图(Database )

INSERT

执行Insert的权限

DELETE

执行Delete的权限

ALL[PRIVILEGES]

以上所有权限

(4)权限与数据安全:SQL审计

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

SQL审计日志

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

搜索

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

网络异常,图片无法展示
|
3.智能索引

ADB为表的每个字段智能构建索引,目前支持五种类型∶字符串类的 Invert 索引、 bitmap.索引、数值类的KDTree索引、JSON索引和向量索引;不同类型的索引可以实现列级索引多种条件(交、并、差)任意组合,查询时无需建组合索引,通过Index CBO智能动态筛选索引下推,通过谓词计算层进行流式渐进多路归并输出

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

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

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

image.png(1)行列混存的块索引

(2)块索引即块的元数据信息︰

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

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

列Block元数据︰该列的MAX/MIN/SUM

总条目数(COUNT)等信息,便于加速查询。

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

image.png

4.数据存储冷热分离

(1)冷热数据分层

AnalyticDB可以按表粒度、表的二级分区粒度独立选择冷、热存储介质,AnalyticDB数据写入时,数据会首先进入热空间SSD上,当热存储数据积累到一定程度或者用户指定的冷表策略时会自动调度后台的Build任务,把数据迁移到冷存储空间。

冷数据指的是访问频次较低的数据,采用低价的HDD存储,满足存储空间的需求。

热数据指的是访问频次较高的数据,采用SSD存储,满足高性能访问的需求。

可以执行CREATE TABLE语句指定表的冷热存储策略为︰全热存储(数据全部存储在SSD )、全冷存储(数据全部存储在HDD )、冷热混合存储(指定一定数量的分区存储在SSD,其余数据存储在HDD )。

image.png创建表可以指定存储策,等于 Hot、Cold、Mixed代表不同的热数据,冷数据来混存,在混存时候需要指定热分区的个数,指定热分区个数为3,新来 的数据放入热分区中,继续放入会增多,其中一个会转HDD中存储

冷热分层

高性价比,完全按量付费

冷热策略轻松定义

只需指定表的冷热策略即可享有冷热存储能力,无需额外购买资源

冷热分区自动迁移

异步迁移,业务无感知,不影响读写

查询和内外部接口统一

在离线一体化,数据强一致

image.png(2)冷热数据存储诊断表

AnalyticDB MySQL版弹性模式集群版( 3.1.3.5及以上版本)支持数据的冷热分离存储,用户可以通过查表的方式查询某一张表的冷热数据存储布局情况。

查询所有表的存储状态∶

select * from information_schema.table_ usage;

查询单个表的存储状态︰

select * from information_schema.table_usage where

itable_ schema="$schema_name' and table_name='Stable name' 在表A中,数据有两个分片分布在两个不同的节点上,如果指定热分区是2,其实在每一个分片上面都满足这个热数据。分区的个数是2,但实际上热分区是p3p4p5

实际显示的hot_partition_count

大于用户定义的hot_partition_count。

5.物化视图

物化视图是数仓领域的核心特性之一。不同于逻辑视图( view ) ,物化视图( materializedview )会持久化视图的查询结果。

物化视图可用于加速分析,并能简化ETL,适用于多种场景,例如报表类业务,大屏展示需求,来自BI工具的查询等等。

创建物化试图的语法:

CREATE MATERIALIZED VIEW <mv_name>[MV DEFINITION]

[REFRESH COMPLETE [ON<DEMAND|OVERWRITE>][STARTWITH date][NEXT date]]

As

<QUERY BODY>;

#指定列建立索引,默认全部列建立索引

CREATE MATERIALIZED VIEW myview (INDEX(name),

PRIMARY KEY (id)

)DISTRIBUTED BY HASH (id)

AS

SELECT id, name, age FROM base;

#指定分区键和注释

CREATE MATERIALIZED VIEW c (name varchar(10),

value double,

KEY INDEX_ID(id)COMMENT "id",

CLUSTERED KEY INDEX(name, value),

PRIMARY KEY(id)

DISTRIBUTED BY hash(id)

PARTITION BY value(date_format(dat,"%Y%m%d"))

LIFECYCLE 30

COMMENT"MATERIALIZED VIEw c’

AS

SELECT * FROM base;

物化视图客户案例

使用物化视图降低客户查询延迟时间。举例生意参谋∶是阿里巴巴旗下为千万商家提供的一项重要产品服务,帮助商家及时分析店铺运营情况。尤其是在大促期间,面对突发的流量和海量的数据,数据分析尤为重要。

利用物化视图,可以大幅降低延迟时间。将每小时展示信息结果存储到物化视图中,每次查询只需要查询物化视图即可,平均每次查询时间降低至100毫秒。

image.png

相关实践学习
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
相关文章
|
8天前
|
SQL 关系型数据库 MySQL
深入解析MySQL的EXPLAIN:指标详解与索引优化
MySQL 中的 `EXPLAIN` 语句用于分析和优化 SQL 查询,帮助你了解查询优化器的执行计划。本文详细介绍了 `EXPLAIN` 输出的各项指标,如 `id`、`select_type`、`table`、`type`、`key` 等,并提供了如何利用这些指标优化索引结构和 SQL 语句的具体方法。通过实战案例,展示了如何通过创建合适索引和调整查询语句来提升查询性能。
61 9
|
10天前
|
存储 关系型数据库 MySQL
double ,FLOAT还是double(m,n)--深入解析MySQL数据库中双精度浮点数的使用
本文探讨了在MySQL中使用`float`和`double`时指定精度和刻度的影响。对于`float`,指定精度会影响存储大小:0-23位使用4字节单精度存储,24-53位使用8字节双精度存储。而对于`double`,指定精度和刻度对存储空间没有影响,但可以限制数值的输入范围,提高数据的规范性和业务意义。从性能角度看,`float`和`double`的区别不大,但在存储空间和数据输入方面,指定精度和刻度有助于优化和约束。
|
1月前
|
存储 Cloud Native 块存储
EBS深度解析:云原生时代企业级块存储
企业上云的策略,从 Cloud-Hosting 转向 Serverless 架构。块存储作为企业应用上云的核心存储产品,将通过 Serverless 化来加速新的计算范式全面落地。在本话题中,我们将会介绍阿里云块存储企业级能力的创新,深入解析背后的技术细节,分享对未来趋势的判断。
111 2
|
1月前
|
监控 关系型数据库 MySQL
MySQL自增ID耗尽应对策略:技术解决方案全解析
在数据库管理中,MySQL的自增ID(AUTO_INCREMENT)属性为表中的每一行提供了一个唯一的标识符。然而,当自增ID达到其最大值时,如何处理这一情况成为了数据库管理员和开发者必须面对的问题。本文将探讨MySQL自增ID耗尽的原因、影响以及有效的应对策略。
126 3
|
1月前
|
Kubernetes Cloud Native 云计算
云原生技术深度解析:重塑企业IT架构的未来####
本文深入探讨了云原生技术的核心理念、关键技术组件及其对企业IT架构转型的深远影响。通过剖析Kubernetes、微服务、容器化等核心技术,本文揭示了云原生如何提升应用的灵活性、可扩展性和可维护性,助力企业在数字化转型中保持领先地位。 ####
|
1月前
|
存储 关系型数据库 MySQL
MySQL 字段类型深度解析:VARCHAR(50) 与 VARCHAR(500) 的差异
在MySQL数据库中,`VARCHAR`类型是一种非常灵活的字符串存储类型,它允许存储可变长度的字符串。然而,`VARCHAR(50)`和`VARCHAR(500)`之间的差异不仅仅是长度的不同,它们在存储效率、性能和使用场景上也有所不同。本文将深入探讨这两种字段类型的区别及其对数据库设计的影响。
76 2
|
1月前
|
运维 Kubernetes Cloud Native
Kubernetes云原生架构深度解析与实践指南####
本文深入探讨了Kubernetes作为领先的云原生应用编排平台,其设计理念、核心组件及高级特性。通过剖析Kubernetes的工作原理,结合具体案例分析,为读者呈现如何在实际项目中高效部署、管理和扩展容器化应用的策略与技巧。文章还涵盖了服务发现、负载均衡、配置管理、自动化伸缩等关键议题,旨在帮助开发者和运维人员掌握利用Kubernetes构建健壮、可伸缩的云原生生态系统的能力。 ####
|
1月前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发深度解析####
本文作为技术性文章,深入探讨了PHP与MySQL结合在动态网站开发中的应用实践,从环境搭建到具体案例实现,旨在为开发者提供一套详尽的实战指南。不同于常规摘要仅概述内容,本文将以“手把手”的教学方式,引导读者逐步构建一个功能完备的动态网站,涵盖前端用户界面设计、后端逻辑处理及数据库高效管理等关键环节,确保读者能够全面掌握PHP与MySQL在动态网站开发中的精髓。 ####
|
21天前
|
运维 Cloud Native 持续交付
深入理解云原生架构及其在现代企业中的应用
随着数字化转型的浪潮席卷全球,企业正面临着前所未有的挑战与机遇。云计算技术的迅猛发展,特别是云原生架构的兴起,正在重塑企业的IT基础设施和软件开发模式。本文将深入探讨云原生的核心概念、关键技术以及如何在企业中实施云原生策略,以实现更高效的资源利用和更快的市场响应速度。通过分析云原生架构的优势和面临的挑战,我们将揭示它如何助力企业在激烈的市场竞争中保持领先地位。
|
19天前
|
Kubernetes Cloud Native 微服务
探索云原生技术:容器化与微服务架构的融合之旅
本文将带领读者深入了解云原生技术的核心概念,特别是容器化和微服务架构如何相辅相成,共同构建现代软件系统。我们将通过实际代码示例,探讨如何在云平台上部署和管理微服务,以及如何使用容器编排工具来自动化这一过程。文章旨在为开发者和技术决策者提供实用的指导,帮助他们在云原生时代中更好地设计、部署和维护应用。

推荐镜像

更多