阿里云 分析型数据库MySQL集群版 使用和性能测试

mysql | 2019-10-18 14:28:21

mysql不能做大数据分析?不要被无知限制了想象,今天就来学习一下 阿里云 分析型数据库MySQL版。阿里云 分析型数据库MySQL版是云端托管的大规模并行处理(MPP)的PB级数据仓库。

1.购买试用

阿里云 分析型数据库MySQL版可以首月1元试用,选择最大的可试用配置购买

根据你选择的区域,点击阿里云VPC控制台 创建私有网络后,再来刷新选择 专有网络。

原价六万多,首次购买就只要1元。

然后就可以到控制台-AnalyticDB 控制台查看到购买的产品,要等好一会才能创建成功!

2.创建用户设置白名单

在AnalyticDB 控制台-点击集群id-点击账号管理,添加账号,然后切换到-服务账号授权 全部授权

在AnalyticDB 控制台-点击集群id-点击数据安全,添加白名单

要设置是你设备的外网IP

linux查看外网IP:curl icanhazip.com

window直接在百度搜索IP就会出来自己的IP

 

3.管理数据库

在集群管理界面 点击 登录数据库,填写上面设置的用户进入到 数据库管理界面

在这里可以创建数据库 表 等 管理

 

4.外网工具连接mysql

使用 上面创建的高权限账号可以 通过外网访问集群,也可以登录到数据库管理后台用sql创建用户

CREATE USER if not exists 'test' IDENTIFIED BY 'test@123456';
GRANT ALL ON *.* TO 'test'@'%';

在集群信息中点击开启外网

mysql命令行登录mysql:

mysql -hurl -P3306 -uusername -ppassword

 

5.spark测试mysql集群

5.1直接写入我的2亿数据的大表

   var spark = SparkSession.builder().appName("SparkEngineApp")
      .config("spark.some.config.option", "some-value")
      .enableHiveSupport()
      .getOrCreate()

    var ds=spark.table("datacenter.qsm")

    val prop = new java.util.Properties
    prop.setProperty("user", "test")
    prop.setProperty("password", "test")
    ds.write.mode("append").jdbc("jdbc:mysql://am-xxxxxx.ads.aliyuncs.com:3306/test", "test", prop)
spark-submit --num-executors 5 --executor-cores 10 --deploy-mode cluster  --class SparkTestMain  hdfs://hadoopMaster:9000/tmp/engine/sparkTest-1.0.jar

第十分钟的时候:count数据量:1000000,在阿里云的集群监控信息里面显示:集群连接数46,写入tps 1700,很慢

毕竟是mysql,没有指望写入有多快,后面测试查询速度!

 

5.1查询性能测试

测试环境:阿里云 分析型数据库mysql集群版:c8(8核64GB) 8节点 共1T硬盘

再使用insert into test SELECT 将数据增加到十亿级别,占用硬盘100G左右。不建任何索引。

 

count查询 10亿级别 50毫秒内

 

count 带单一条件查询 10亿级别 50毫秒

 

查询 多条件分页查询 10亿级别 200毫秒

 

似乎都没有压力,来个排序

排序查询 30秒 看来大数据量排序都是个问题

 

分组排序 500毫秒 分组还是很快的

 

普通分组求平均分计算 秒级

 

最后来个 窗口函数,用开窗函数进行 分组排名 但直接报错

 

总结:大数据存储查询没有任何压力,和他文档的描述一样,大数据毫秒级的查询分析计算,除了对全量数据 过于复杂的计算。

深深的佩服阿里,刷新了我的认知。

 

实在不会的,参考官方文档:https://help.aliyun.com/product/92664.html?spm=a2c4g.11186623.6.540.335b35564OhL04

登录后即可回复 登录 | 注册
    
关注编程学问公众号