行存引擎
AnalyticDB for MySQL行存引擎,是面向行存表的高并发实时引擎,适用于基于主键的高并发点查和多列投影的快速查询。本文为您介绍云原生数据仓库 AnalyticDB MySQL 版行存引擎的使用方法。
前提条件
AnalyticDB for MySQL集群的产品系列为企业版、基础版或湖仓版。
已在AnalyticDB for MySQL集群中创建资源组,任务类型为Interactive,且引擎类型为Serving。
集群内核版本需为3.2.5及以上版本。
说明请在云原生数据仓库AnalyticDB MySQL控制台集群信息页面,配置信息区域,查看和升级内核版本。
费用说明
计算资源:按量付费,按照Serving资源组的ACU数量和单价收费。
存储空间:按量付费,按照热数据存储空间价格收费。
详细计费请参见产品定价。
支持的数据类型
分类 | 数据类型 | 说明 |
布尔类型 |
| 取值:true、false |
数值类型 |
| 当前不支持decimal,可以通过以下配置将decimal类型自动转换为double,但会导致精度损失。 |
字符类型 |
| 无 |
时间类型 |
| 无 |
复杂类型 |
| 复杂类型只支持基本读写操作,数据实际以二进制形式存储,可正常序列化,但无法参与函数运算。 |
支持以下数据类型作为主键:
布尔类型:boolean
数值类型:tinyint、smallint、int、bigint
字符类型:varchar、binary、blob
时间类型:date、time、datetime、timestamp
使用说明
创建行存表
CREATE TABLE:指定ENGINE = 'row_store'。
主键:表中需指定主键,不支持为空,最多支持4列。
表字段类型:不支持修改。
索引:默认为主键列索引,可手动给其他列创建索引;字符串类型,也可通过
FULLTEXT INDEX创建全文索引。表生命周期:通过TTL管理表生命周期,最小单位为天。
创建示例
CREATE DATABASE test_db;
CREATE TABLE test_db.row_store_table
(
a int NOT NULL,
b int,
c varchar,
PRIMARY KEY(a)
)
ENGINE = 'row_store'
TABLE_PROPERTIES = '{"row_store_ttl": 1}';
----手动创建索引----
CREATE TABLE test_db.row_store_table
(
a int NOT NULL,
b int,
c varchar,
PRIMARY KEY(a),
INDEX c_idx(c),
INDEX bc_idx(b, c)
)
ENGINE = 'row_store'
---创建全文索引---
CREATE TABLE test_db.row_store_table
(
a int NOT NULL,
b int,
c varchar,
PRIMARY KEY(a),
FULLTEXT INDEX c_idx(c),
)
ENGINE = 'row_store'数据操作
支持以下操作:
INSERT INTO:主键重复时,忽略插入数据。REPLACE INTO:主键重复时,使用新插入数据覆盖老数据。INSERT ON DUPLICATE KEY UPDATEINSERT SELECT FROMINSERT OVERWRITE SELECTUPDATEDELETE
其他DDL操作示例
加减列
--加列-- ALTER TABLE test_db.row_store_table ADD COLUMN bool boolean, ADD COLUMN STR varchar; --减列-- ALTER TABLE test_db.row_store_table DROP COLUMN bool;加减索引
--加索引-- ALTER TABLE test_db.row_store_table ADD INDEX c_idx(c); --减索引-- ALTER TABLE test_db.row_store_table DROP INDEX c_idx;TRUNCATE TABLE
TRUNCATE TABLE test_db.row_store_table;DROP TABLE
DROP TABLE test_db.row_store_table;
性能测试
在TPCH 10GB的测试数据集下,AnalyticDB for MySQL行存引擎整体点查性能提升10倍+,RT降低80%+,性能详细结果如下。
测试场景 | 并发数 | QPS | RT |
PK点查 | 50 | 5259.0/s | 9ms |
100 | 10481.1/s | 9ms | |
300 | 31347.0/s | 9ms | |
500 | 42257.3/s | 11ms | |
1000 | 82103.0/s | 12ms | |
多PK点查( | 100 | 2611/s | 38ms |
300 | 4422.3/s | 67ms | |
500 | 6829.7/s | 72ms | |
1000 | 6075.8/s | 163ms |