阿里云-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中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,... 目录1. 共享变量与同步机制2. 轻量级通信机制3. 线程安全容器4. 线程局部变量(ThreadL

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1