阿里云-AnalyticDB【分析型数据库】总结介绍

2023-10-20 03:28

本文主要是介绍阿里云-AnalyticDB【分析型数据库】总结介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、背景
随着企业IT和互联网系统的发展,产生了越来越多的数据。数据量的积累带来了质的飞跃,使得数据应用从业务系统的一部分演变得愈发独立。物流、交通、新零售等越来越多的行业需要通过OLAP做到精细化运营,从而调控生产规则、运营效率、企业决策等。

在业务系统中,我们通常使用的是OLTP数据存储,例如MySQL,PostgreSQL等。上述关系数据库系统擅长事务处理,能够很好的支持频繁数据插入和修改。一旦需要计算的数据量过大,例如数千万甚至数十亿条,或者需要进行非常复杂的计算,此时OLTP数据库系统便力不从心了。这个时候,我们便需要OLAP系统来进行处理。

分析型数据库MySQL版是云端托管的PB级高并发实时数据仓库,是专注于服务OLAP领域的数据仓库。在数据存储模型上,采用关系模型进行数据存储,可以使用SQL进行自由灵活的计算分析,无需预先建模。利用云端的无缝伸缩能力,分析型数据库MySQL版在处理百亿条甚至更多量级的数据时真正实现毫秒级计算。

分析型数据库MySQL版支持通过SQL来构建关系型数据仓库。具有管理简单、节点数量伸缩方便、灵活升降实例规格等特点,而且支持丰富的可视化工具以及ETL软件,极大的降低了企业建设数据化的门槛。

分析型数据库MySQL版为精细化运营而生,实时洞现数据价值,持续推进企业数据化变革转型。

关于OLAP和OLTP请访问我的另一篇博客 数据的两种处理方式 OLAP、OLTP

二、AnalyticDB能干啥?
阿里云分析型数据库是一项在云中提供的实时在线分析 (OLAP) 托管数据库服务,可处理海量数据。作为一项快速灵活的数据库服务,分析型数据库从云中提供数据分析服务,它兼容 MySQL 协议,包括元数据信息。

阿里云分析型数据库是一个基于云的数据库解决方案,它能实现实时处理海量数据,并可帮助实现基于数据分析的业务转型。快速查询响应时间让您能够以毫秒级的时间计算十亿级的数据。分析型数据库比标准数据库的可扩展性更高 - 非常适合为项目、报告和高级分析部署业务分析、大数据云解决方案。

阿里云分析型数据库可以轻松地将它与您的应用集成以便快速分析大量数据,凭借其高级分析和数据挖掘解决方案、内建的安全性和优化的查询处理,阿里云分析型数据库可助您轻松实现复杂的业务目标。

三、ADB的优势是啥?
3.1、高计算能力
3.1.1、高级功能

兼容 SQL 以提供多维度分析、数据透视和数据筛选
支持标准 SQL 的数据定义、操作和控制。例如 DDL、DML 和 DCL。
支持 JOIN、HAVING、DISTINCT 等函数。
执行对任意字段的组合查询。
支持常规的聚合函数以及个性化的分段、抽样等统计函数。
3.1.2、快速导出

支持快速转储功能,可将海量数据快速转储到云上的另一系统中。
提供每秒超过 100 万行的高速转储。
3.2、高性能
数十亿字节的数据多维度透视。
支持毫秒级的多个大表关联计算。
使用全自动功能为每一列数据建立最合适的索引格式。
计算引擎对用户查询进行智能优化,以增强性能并降低成本。
3.3、可用性保障
凭借数据多副本存储和动态资源管理机制提供了高可用性和冗余。
3.4、安全可靠
实施权限管理机制以确保数据安全性。

利用公钥/私钥机制增强数据安全性。

3.5、易用性
3.5.1、兼容 MySQL
全面兼容 MySQL 协议(包括数据元素信息)。
天生具备与商业分析工具、应用的兼容性。
自带对快速访问各种类型的数据来源的支持。
降低了业务系统和商业软件的接入成本。
3.5.2、简单易用
提供易用的图形化管理控制台和完善的文档与手册,并提供快速开始指南。
采用灵活的计费方式,您只需为实际使用的资源付费。
3.6、特色功能
可使用地理 LBI 功能圈选地理坐标数据,无需空间索引。

内建的动态分段、快速聚合等多种函数方便了 OLAP 基于服务器的应用的开发。

四、如何使用ADB?
1、购买(选择你需要的)…

2、连接ADB

2.1、通过代码连接
2.2、阿里的控制台(提供连接地址和端口)
2.3、一些客户端(DataGrip或者Navicat之类的)
3、创建表组

命名规则:
表组名以字母开头,字母或数字结尾(不能以下划线结尾);可包含字母、数字或下划线(_),长度不超过64个字符;
表组名中不能包含双下划线(__)。
同一个数据库中,表组名唯一。
4、创建表(命名和表组名的规则类似)

5、加载数据

6、使用数据(增删改查之类的)

概念介绍:
1、ECU:弹性计算单元(Elastic compute units 简写ECU)是AnalyticDB用来衡量实例计算能力的元单位。一个数据库由若干个同一类型的ECU节点组成,例如数据库A,可能由4个C8组成,或者6个S2N组成,每个ECU节点配备有固定的磁盘和内存资源。

2、表组:表组是一系列可发生关联的数据表的集合,AnalyticDB为了管理相关联的数据表,引入了表组的概念。表组类似于传统数据库schema的概念,AnalyticDB表组分为两类:

维度表组(系统自带):自带维度概念的表,可以放到维度表组下。
普通表组: 一般会把需要关联的普通表放在相同普通表组中,建议这个表组中的所有普通表的一级分区数一致,join性能会有很大提升。
3、表: 在表组之下是表的概念,AnalyticDB提供两种类型的表:

维度表: 带有维度概念的表,又称为复制表。默认每个ECU节点放置一份全量的维度表数据,所以维度表可以和任何普通表进行关联。由于维度表会消耗更多的存储资源,所以维度表的数据量大小有限制,一般要求维度表单表不超过5000万行。
普通表: 普通表就是分区表,为充分利用分布式系统的查询能力而设计的一种表。普通表默认是指一级分区表,如果有增量数据导入需求,可以创建二级分区表。
4、分区: 普通表才有分区的概念,AnalyticDB支持两级分区策略:一级分区采用hash算法,单表数据量在60亿以内,我们推荐您使用一级分区,通常一级分区已足够。二级分区采用list算法,二级分区部分见最佳实践章节。

5、主键: AnalyticDB的的表必须包含主键字段,通过主键进行记录的唯一性判断。主键由业务id、一级分区键组成,有些情况业务id与一级分区相同。对于记录量特别大的表,从存储空间和insert性能考虑,一定要减少主键的字段数。

支持的数据类型介绍:
boolean布尔类型,值只能是0或1。取值0的逻辑意义为假,取值1的逻辑意义为真,存储字节数1比特位。

tinyint微整数类型,取值范围-128到127,存储字节数1字节。

smallint整数类型,取值范围-32768到32767,存储字节数2字节。

int整数类型,取值范围-2147483648到2147483647,存储字节数4字节。

bigint大整数类型,取值范围-9223372036854775808到9223372036854775807,存储字节数8字节。

float单精度浮点数,取值范围-3.402823466E+38到-1.175494351E-38, 0, 1.175494351E-38到 3.402823466E+38,IEEE标准,存储字节数4字节。

double双精度浮点数,取值范围-1.7976931348623157E+308到-2.2250738585072014E-308, 0, 2.2250738585072014E-308 到 1.7976931348623157E+308,IEEE标准,存储字节数8字节。。

varchar变长字符串类型。varchar长度不得超过16KB,否则可能会出现字段为null。可以设置该列去掉索引或者设置为全文索引。去掉索引后建议该列不要在查询中进行筛选和计算。

date日期类型,取值范围'1000-01-01' 到 '9999-12-31',支持的数据格式为 'YYYY-MM-DD',存储字节数为4字节。

time 时间类型,取值范围'00:00:00' 到 '23:59:59',支持的数据格式为'HH:MM:SS',存储字节数为4字节。

timestamp时间戳类型, 取值范围'1970-01-01 00:00:01'UTC到 '2038-01-19 03:14:07' UTC,支持的的数据格式为'YYYY-MM-DD HH:MM:SS',存储字节数为4字节。

语法介绍:
1、ADB全面兼容MySQL和SQL2003,所以很多语法都是和MySQL类似的。
2 、 注 意 : A B D 

这篇关于阿里云-AnalyticDB【分析型数据库】总结介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/244323

相关文章

Java字符串操作技巧之语法、示例与应用场景分析

《Java字符串操作技巧之语法、示例与应用场景分析》在Java算法题和日常开发中,字符串处理是必备的核心技能,本文全面梳理Java中字符串的常用操作语法,结合代码示例、应用场景和避坑指南,可快速掌握字... 目录引言1. 基础操作1.1 创建字符串1.2 获取长度1.3 访问字符2. 字符串处理2.1 子字

springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法

《springboot整合阿里云百炼DeepSeek实现sse流式打印的操作方法》:本文主要介绍springboot整合阿里云百炼DeepSeek实现sse流式打印,本文给大家介绍的非常详细,对大... 目录1.开通阿里云百炼,获取到key2.新建SpringBoot项目3.工具类4.启动类5.测试类6.测

数据库面试必备之MySQL中的乐观锁与悲观锁

《数据库面试必备之MySQL中的乐观锁与悲观锁》:本文主要介绍数据库面试必备之MySQL中乐观锁与悲观锁的相关资料,乐观锁适用于读多写少的场景,通过版本号检查避免冲突,而悲观锁适用于写多读少且对数... 目录一、引言二、乐观锁(一)原理(二)应用场景(三)示例代码三、悲观锁(一)原理(二)应用场景(三)示例

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

Python 迭代器和生成器概念及场景分析

《Python迭代器和生成器概念及场景分析》yield是Python中实现惰性计算和协程的核心工具,结合send()、throw()、close()等方法,能够构建高效、灵活的数据流和控制流模型,这... 目录迭代器的介绍自定义迭代器省略的迭代器生产器的介绍yield的普通用法yield的高级用法yidle

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.