阿里云分析型数据库MySQL版(AnalyticDB)测试初体验(2)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 阿里云分析型数据库MySQL版(AnalyticDB)测试初体验

最后,说几个槽点吧。

1. DTS任务出现了重复的作业ID

按理说,这个任务ID应该是唯一的吧?

image.png

在原来的那个任务上,停止任务后,多点几次"重新配置同步",就会出现重复的ID了。

image.png

2. 无主键的表同步数据时,会自动删除重复数据

创建测试表,插入3条测试数据,其中有2条是重复的。

# 创建一个没有主键的测试表
[testabc]> CREATE TABLE t1 (
  id int(11) DEFAULT NULL,
  c1 varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

[testabc]> insert into t1 select 1,'c1';
[testabc]> insert into t1 select 2,'c2';
[testabc]> insert into t1 select 2,'c2'; -- 重复数据
[testabc]> select * from t1;
+------+------+
| id   | c1   |
+------+------+
|    1 | c1   |
|    2 | c2   |
|    2 | c2   | -- 重复数据
+------+------+


配置DTS同步任务,选择id列作为主键。

image.png


DTS任务报告共有3条数据,同步时没任何重复(冲突)的报错(提醒)。

image.png

但是在ADB库,则只能查到两条数据。

image.png

记得RDS有个特性就是可以帮客户自动隐式创建内置主键(如果用户表没显式定义主键的话),这时候就应该用于DTS呀,白瞎了这功能。

3. 删数据太慢测试删除500万数据,期间几次观测计算,每秒删除数据量约 2673 条。跑了几百秒之后,删了200万数据,忍不住了,终止删除任务。

4. 看似简单的SQL语法也不支持

有几个测试SQL中,有用到AS别名列语法,但发现并不支持,例如下面这个:

SELECT

sum(LO_REVENUE),
Year(LO_ORDERDATE) AS year,
P_BRAND
FROM lineorder_flat
WHERE P_BRAND >= 'MFGR#2221' AND P_BRAND <= 'MFGR#2228' AND S_REGION = 'ASIA'
GROUP BY
year,
P_BRAND
ORDER BY
year,
P_BRAND;

运行时并不会报错,但下面这个SQL就会报错了

SELECT
C_CITY,
S_CITY,
Year(LO_ORDERDATE) AS year,
sum(LO_REVENUE) AS revenue
FROM lineorder_flat
WHERE (C_CITY = 'UNITED KI1' OR C_CITY = 'UNITED KI5') AND (S_CITY = 'UNITED KI1' OR S_CITY = 'UNITED KI5')
GROUP BY
C_CITY,
S_CITY,
year
ORDER BY
year ASC,
revenue DESC;

报错内容见下

失败原因:
[20038, 2020040418065317201906308103453830416] :
line 0:1: Column 'year' cannot be resolved

看起来在WHERE条件中,不能用到别名列,但在GROUP BY和ORDER BY可以,略诡异。

5. 基本功能异常

在ADB的集群信息,点"管理DTS任务"链接,新打开页面异常。

image.png

image.png

或者,在日常刷新页面时,弹出这个提醒

image.png


全文完。

            </div>
相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
Python
Pyside6-第一篇-创建第一个窗口
Pyside6-第一篇-创建第一个窗口
743 0
|
JSON 测试技术 API
『Postman入门万字长文』| 从工具简介、环境部署、脚本应用、Collections使用到接口自动化测试详细过程
『Postman入门万字长文』| 从工具简介、环境部署、脚本应用、Collections使用到接口自动化测试详细过程
386 3
|
Dubbo Java 应用服务中间件
Dubbo日志文件输出到指定目录 如何定义?
Dubbo日志文件输出到指定目录 如何定义?
|
存储 负载均衡 Java
OceanBase的用法
【8月更文挑战第9天】OceanBase的用法
367 3
uniCloud 云对象
uniCloud 云对象
196 0
|
搜索推荐 Shell
idea如何Ctrl + F查找内容,当前文件内容,Ctrl+R全局替换C t r l + S h i f t + R
idea如何Ctrl + F查找内容,当前文件内容,Ctrl+R全局替换C t r l + S h i f t + R
|
存储 Java Apache
Seata 的 AT 模式
Seata 的 AT 模式
|
SQL 关系型数据库 MySQL
Mybatis-Plus(Service CRUD 接口)(+24篇MyBatis-Plus文章)
Mybatis-Plus(Service CRUD 接口)(+24篇MyBatis-Plus文章)
290 0
|
编解码 监控 前端开发
如何实现Android平台GB28181前端设备接入
在实现Android平台GB28181前端设备接入之前,我们几年前就有了非常成熟的RTMP推送、RTSP推送和轻量级RTSP服务等模块,特别是RTMP推送,行业内应用非常广泛,好多开发者可能会问,既然有了以上模块,干嘛还要实现GB28181的前端接入呢?
316 0
|
SQL 安全 关系型数据库
[SWPUCTF 2021 新生赛]easy_sql
[SWPUCTF 2021 新生赛]easy_sql
650 0