大数据分析特点?
500
2024-04-23
ADB笔记:目标:主要用于数据分析,后端支持BI报表和数据大屏。mysql协议,学习成本低。
特有名词:表组,对应RDS的schema。维度表组(系统自带):自带维度概念的表(例如省份表等),可以放到维度表组下普通表组:一般会把需要关联的普通表放在相同普通表组中,建议这个表组中的所有普通表的一级分区数一致,join性能会有很大提升。
维度表:共享表。普通表:分区表。默认一级分区,可创建二级分区。
分区:普通表才有,一级分区采用hash算法,单表数据量在60亿以内,推荐。
主键:表必须包含主键。由业务id、一级分区键组成,有些情况业务id与一级分区相同。对于记录量特别大的表,从存储空间和insert性能考虑,一定要减少主键的字段数。
数据库创建完毕后,系统会默认创建一个维度表组,所有维度相关的表,可以放到维度表组下。
特殊字段:timestamp timestamp AnalyticDB精确到秒,MySQL支持自定义精度
常用sql连接:https://help.aliyun.com/document_detail/94859.html?spm=a2c4g.11186623.2.38.22c965313Zwnsd
navicat连接后,无法显示建表语句。
输入导入方式:1、DTS;2、数据集成。insert插入显示延迟5-10S,可单独提工单修改。更新数据:AnalyticDB不支持update操作,可以通过主键覆盖的方式进行insert操作来实现和update同等的功能。
数据导出功能较弱,dump方式到OSS/MaxCompute
推荐权限定义方式:https://help.aliyun.com/document_detail/95546.html?spm=a2c4g.11186623.6.578.702d620fyspxAo
索引&扫描原理AnalyticDB内部采用列存方式,通过单列高效过滤后,可直接通过内部记录指针扫描其他列值,减少其他列的索引查询开销。
子查询修改为表关联
普通表join普通表,尽量包含分区列join条件,如果不包含则,尽量通过where条件过滤掉多余的数据。维度表join普通表,没有限制。
默认是全索引,建表成功后,某列删除索引操作,需提工单解决。
二级分区用于删除数据,对于“回溯表”类场景,避免手动删除。
一级分区键选择:1、分布均匀,避免数据倾斜。park_record_id?2、建议选择一级分区列的数据类型为tinyint、smallint、int、bigint或者varchar。3、如果是多个普通表(不包括维度表)JOIN,则选择参与JOIN的列作为分区列。park_record_id?park_id?4、选择GROUP BY或DISTINCT包含的列作为分区列5、如果常用的SQL包含某列的等值或IN查询条件,则选择该列作为分区列。以下列子则选择id作为分区列。 select * from table where id=123 and …; select * from table where user in(1, 2,3);
使用场景以管理员使用为主,范围扫描较多,park_id分区优势更大。历史单条数据,管理员查询较少,可忽略。
用户单条查询,在RDS完成。
多参考设计样例:https://help.aliyun.com/document_detail/97587.html?spm=a2c4g.11186623.6.655.207b43c1yl28Kxhttps://help.aliyun.com/document_detail/97620.html?spm=a2c4g.11186623.6.656.5ebb12f55cr9Pf
为满足高QPS,从设计上采用大宽表、冗余字段,并且避免表关联。
场景描述:全量sql,查询频率低,以区域统计查询为主。最佳实践:区域查询、车场查询读扩大,数据分布均匀+聚集列效果。缺点:PRIMARY KEY (park_record_id,TS)PARTITION BY HASH KEY (park_record_id) PARTITION NUM 128SUBPARTITION BY LIST KEY (TS)SUBPARTITION OPTIONS (available_partition_num = 300)CLUSTERED BY (area_id,park_id)
单个AnalyticDB最多表数 256单个表组总表数 256最大一级分区数 255不支持存储过程
是否支持修改表的一级分区数:当前不支持动态修改,只能删表重建。
RDS
阿里云提供的云数据库RDS(ApsaraDB for RDS,简称RDS)
是一种稳定可靠、可弹性伸缩的在线数据库服务。基于飞天分布式系统和全SSD盘高性能存储,支持MySQL、SQL Server、PostgreSQL和PPAS(高度兼容Oracle)引擎,默认部署主备架构且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。
华为数据库和阿里数据库都是国内知名的云数据库服务提供商,它们的产品有一些区别,主要体现在以下几个方面:
数据库类型:华为云数据库提供了多种类型的数据库,包括关系型数据库、分布式数据库、NoSQL数据库等,而阿里云数据库则主要提供关系型数据库和NoSQL数据库。
数据库引擎:华为云数据库使用自主研发的分布式数据库引擎 GaussDB 和 GaussDB for InnoDB,而阿里云数据库则使用 MySQL、PostgreSQL、SQL Server 等开源或商业数据库引擎。
数据库性能:华为云数据库在性能方面表现优异,例如 GaussDB for InnoDB 在 TPC-C 测试中创下了 1000万+ 的高性能记录,而阿里云数据库则在性能方面相对较弱。
数据库安全:华为云数据库提供了多种安全措施,如数据加密、访问控制、审计等,而阿里云数据库也提供了类似的安全措施。
价格策略:两家公司的价格策略有所不同,具体价格取决于所选的数据库类型、规格、存储容量等因素。
总的来说,华为云数据库和阿里云数据库都是优秀的云数据库服务提供商,它们的产品有一些区别,用户可以根据自己的需求和预算选择适合自己的产品。
华为
华为的数据库叫高斯数据库(Gauss DB),按照媒体的说法,目前出货量已超3万套,在国产数据库中,名列前茅。
高斯数据库2007年的时候就开始研发,先后有三代,分别是GaussDB100、GaussDB200、GaussDB30,目前已经到了招商、工商银行的验证和认可,同时还在很多运营商中使用,已经得到了认可。
而阿里的数据库则是阿里自主研发的金融级的、分布式关系数据库OceanBase,去年有一份成绩公布,在TPC-C的测试排名中,以两倍于Oracle(甲骨文)的成绩,排名全球第一。这也是10年以来,第一次中国的数据库在TPC-C测试中,进入前10名。
从19块9到3360元每年不等。针对是不同用,不同版本等方面进行区分。比如云数据库My SQL1核2G,存储20GB的就是492元。
阿里数据库证书叫“阿里云认证证书”
云数据库OceanBase是一款阿里巴巴自主研发的高性能、分布式的关系型数据库。
支持完整的ACID特性。它高度兼容MySQL协议与语法,让用户能够以最小的迁移成本使用高性能、可扩展、持续可用的分布式数据库服务
阿里云并不是一种特定的数据库,而是阿里巴巴云计算服务提供的云端数据库服务平台。这个平台提供多种数据库产品,包括关系型数据库(如MySQL、SQL Server、PostgreSQL等),非关系型数据库(如MongoDB、Redis、Memcached等),以及云原生数据库(如HybridDB for MySQL、AnalyticDB等)。阿里云数据库平台具有高可用性、高性能、高容错性、高可扩展性等优势,可满足各种企业的存储和计算需求。
阿里云数据库RDS(Relational Database Service)是阿里云提供的一种托管式数据库服务,它能够大幅减少用户在数据库运维方面的工作量,同时具备高可用、高性能、高安全性等特点。
与传统自建数据库相比,选择阿里云数据库RDS有以下几个优势:
阿里云数据库RDS具有以下主要特点和功能:
在使用阿里云数据库RDS时,需要注意以下几点:
阿里云数据库RDS作为一种托管式数据库服务,可帮助用户轻松搭建和管理数据库,提供高可用、高性能、高安全性的数据库解决方案。无论是个人开发者还是大型企业,选择阿里云数据库RDS都能够极大地简化数据库运维工作,提升业务的可靠性和效率。
感谢您阅读本文,希望对您理解并选择阿里云数据库RDS有所帮助。
首先云数据库在服务的可用性和数据可靠性方面基本可以完全保证,但是自建服务器就不行了,如果使用阿里云数据库出现了问题可以得到赔偿,自建数据库的话一切都要自己承担。另外,企业版数据库服务器的成本很高,如果需要使用主从服务,还要购买两台服务器,费用更加昂贵。还有就是再也不用担心mysql出现漏洞啦!