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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: 快速学习【视频】云原生数据仓库 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
相关文章
|
3天前
|
存储 关系型数据库 MySQL
技术解析:MySQL中取最新一条重复数据的方法
以上提供的两种方法都可以有效地从MySQL数据库中提取每个类别最新的重复数据。选择哪种方法取决于具体的使用场景和MySQL版本。子查询加分组的方法兼容性更好,适用于所有版本的MySQL;而窗口函数方法代码更简洁,执行效率可能更高,但需要MySQL 8.0及以上版本。在实际应用中,应根据数据量大小、查询性能需求以及MySQL版本等因素综合考虑,选择最合适的实现方案。
22 6
|
7天前
|
SQL 关系型数据库 MySQL
MySQL技术安装配置、数据库与表的设计、数据操作解析
MySQL,作为最流行的关系型数据库管理系统之一,在WEB应用领域中占据着举足轻重的地位。本文将从MySQL的基本概念、安装配置、数据库与表的设计、数据操作解析,并通过具体的代码示例展示如何在实际项目中应用MySQL。
34 0
|
20天前
|
存储 关系型数据库 MySQL
MySQL 中的事务存储引擎深入解析
【8月更文挑战第31天】
12 0
|
20天前
|
存储 关系型数据库 MySQL
MySQL 中的 BLOB 数据类型深入解析
【8月更文挑战第31天】
65 0
|
3天前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
5天前
|
存储 SQL 关系型数据库
使用MySQL Workbench进行数据库备份
【9月更文挑战第13天】以下是使用MySQL Workbench进行数据库备份的步骤:启动软件后,通过“Database”菜单中的“管理连接”选项配置并选择要备份的数据库。随后,选择“数据导出”,确认导出的数据库及格式(推荐SQL格式),设置存储路径,点击“开始导出”。完成后,可在指定路径找到备份文件,建议定期备份并存储于安全位置。
65 11
|
29天前
|
SQL 关系型数据库 MySQL
【揭秘】MySQL binlog日志与GTID:如何让数据库备份恢复变得轻松简单?
【8月更文挑战第22天】MySQL的binlog日志记录数据变更,用于恢复、复制和点恢复;GTID为每笔事务分配唯一ID,简化复制和恢复流程。开启binlog和GTID后,可通过`mysqldump`进行逻辑备份,包含binlog位置信息,或用`xtrabackup`做物理备份。恢复时,使用`mysql`命令执行备份文件,或通过`innobackupex`恢复物理备份。GTID模式下的主从复制配置更简便。
124 2
|
24天前
|
弹性计算 关系型数据库 数据库
手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨
阿里云瑶池数据库来开课啦!自建数据库迁移至云数据库 RDS原来只要一步操作就能搞定!点击阅读原文完成实验就可获得一本日历哦~
|
28天前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
6天前
|
存储 SQL 关系型数据库
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案
MySQL如何进行分库分表、数据迁移?从相关概念、使用场景、拆分方式、分表字段选择、数据一致性校验等角度阐述MySQL数据库的分库分表方案。
一篇文章搞懂MySQL的分库分表,从拆分场景、目标评估、拆分方案、不停机迁移、一致性补偿等方面详细阐述MySQL数据库的分库分表方案

热门文章

最新文章

推荐镜像

更多