作者: jackyks 原文来源:https://tidb.net/blog/6b8c4304
TiDB 企业版(平凯数据库)敏捷模式性能测试
1. 测试目标
对平凯数据库(PingCAP TiDB)与 MySQL 数据库进行对比测试,重点评估两款数据库在企业级应用场景下的综合表现。测试涵盖 OLTP/OLAP 性能、数据压缩比、易用性、可扩展性和可靠性等关键指标。
2. 测试范围
3. 测试环境配置
3.1 硬件环境
3.2 软件环境
4. 环境部署
4.1 TEM 部署
(1)下载 TEM 安装包,并将安装包上传至服务器 192.168.18.180
(2)解压安装包
tar xvf tem-amd64.tar.gz
cd tem-package-v3.0.0-linux-amd64
复制代码
(3)修改元数据库文件
# 修改文件名,TEM安装包解压后的文件为metadb_topology_template.yaml
mv metadb_topology_template.yaml metadb_topology.yaml
# 修改配置文件中的IP,更换为TEM主机的IP
vi metadb_topology.yaml
pd_servers:
- host: 192.168.18.180 # 更换成部署 TEM 的主机 IP
tidb_servers:
- host: 192.168.18.180 # 同上
port: 4000
tikv_servers:
- host: 192.168.18.180 # 同上
复制代码
(4)修改 TEM 配置文件
# 修改安装包中默认的配置文件config.yaml
vi config.yaml
server_configs: # 这⾥指定 tem 节点的全局配置
tem_servers:
db_addresses: "192.168.18.180:4000" # 填写上面metadb配置文件中的IP
db_u: "root" # 若由 tem 辅助创建的元数据库,请使⽤ root ⽤户
db_pwd: "" # 若由 tem 辅助创建的元数据库,请使⽤空密码
db_name: "test" # 若由 tem 辅助创建的元数据库,请使⽤ test 数据库
log_filename: "/tem-deploy/tem-server-8080/log/tem.log"
log_tem_level: "info"
log_max_size: 300
log_max_days: 0
log_max_backups: 0
external_tls_cert: "" # tem 对外使用的tls证书
external_tls_key: "" # tem 对外使用的tls密钥
internal_tls_ca_cert: "" # tem 内部节点间双向验证使用的tls证书
internal_tls_cert: "" # tem 内部节点间双向验证使用的tls证书
internal_tls_key: "" # tem 内部节点间双向验证使用的tls证书
tem_servers:
- host: "192.168.18.180" # 请填写 tem 节点的实际地址
port: 8080
mirror_repo: true # 是否开启镜像仓库,多个TEM节点时,有且仅有一个节点开启
复制代码
(5)开始安装
4.2 用 TEM 部署 TiDB 集群 (平凯数据库敏捷模式)
4.2.1 添加组件
TEM 设置 – 组件管理 – 添加组件,上传平凯数据库敏捷模式安装包。
4.2.2 添加凭证
TEM 设置 – 凭证 – 添加凭证,输入拟部署 TiDB 集群的服务器 (192.168.18.181)root 用户和密码。
4.2.3 配置中控机
TEM 主机 – 集群管理中控机 – 添加中控机。
IP 地址:192.168.18.181
名称:自定义
SSH 端口:中控机 SSH 端口,默认 22
服务端口:中控机被控后提供服务的端口,默认 9090
凭证:上一个步骤中添加的 SSH 登录凭证
服务根目录:中控机被控后提供服务进程的安装目录,可设为 /root/tidb-cm-service
是否自动安装 TiUP:建议安装
TiUP 镜像仓库:指定 TEM 使用的组件来源,仓库类型选 TEM 镜像仓库,在“设置 -> 组件管理 -> 设置仓库地址”可以拿到仓库地址
4.2.4 配置集群主机
TEM 主机 – 主机 – 添加共享主机,此时添加的主机为部署 TiDB 集群的主机。
4.2.5 创建集群
TEM 集群 – 创建集群。
4.2.6 优化集群参数
通过 TEM 登录 tidb 集群,在 SQL 编辑器,输入并执行 SQL 语句。
# 调整集群参数
set global tidb_runtime_filter_mode=LOCAL;
set global tidb_opt_enable_mpp_shared_cte_execution=on;
set global tidb_rc_read_check_ts=on;
set global tidb_analyze_skip_column_types="json,blob,mediumblob,longblob,mediumtext,longtext";
set global tidb_enable_collect_execution_info=off;
set global tidb_enable_instance_plan_cache=on;
set global tidb_instance_plan_cache_max_size=2GiB;
set global tidbx_enable_tikv_local_call=on;
set global tidbx_enable_pd_local_call=on;
set global tidb_schema_cache_size=0;
-- 是否持久化到集群:否,仅作用于当前连接的 TiDB 实例
set global tidb_enable_slow_log=off;
复制代码
4.3 MySQL 部署
(1)安装 MySQL、设定用户
# 添加MySQL仓库
dnf install https://dev.mysql.com/get/mysql80-community-release-el8-9.noarch.rpm
dnf module disable mysql # 禁用默认模块
# 安装指定版本MySQL
dnf install mysql-community-server-8.0.41-1.el8
# 启动MySQL
systemctl start mysqld # 启动MySQL
systemctl enable mysqld # 设置开机启动
systemctl status mysqld # 检查状态
# 登录MySQL
mysql -u root -p #第一次登录时会要求设置密码
# 如没有,可在日志中查找临时密码
grep 'temporary password' /var/log/mysqld.log
# 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
# 设置远程登录
CREATE USER 'root'@'%' IDENTIFIED BY '密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
复制代码
(2)优化 MySQL 参数
# 在/etc/my.cnf.d/mysql-server.cnf配置文件中增加如下参数
[mysqld]
innodb_buffer_pool_size = 12G
innodb_flush_log_at_trx_commit = 0
sync_binlog = 0
local-infile = 1 # 支持本地文件导入
# innodb_buffer_pool_size = 64G # 建议设为物理内存的70-80%
复制代码
5. 安装性能测试工具
5.1 安装 Sysbench 工具
# 安装依赖包
dnf install -y make automake libtool pkgconfig libaio-devel openssl-devel git
# 下载tar.gz安装包
git clone https://github.com/akopytov/sysbench.git
tar xvf sysbench-1.0.20.tar.gx
cd sysbench-1.0.20
./autogen.sh
./configure # 默认支持MySQL
make
make install
# 确认是否安装成功
sysbench --version
复制代码
5.2 安装 TPC-H 工具
# 下载并上传TPC-H安装包
下载地址:https://www.tpc.org/tpch/
# 安装依赖包
yum install -y gcc make unzip
# 安装、配置TPC-H
unzip TPC-H-Tool.zip
mv 'TPC-H V3.0.1' tpc-h
cd tpc-h/dbgen
cp makefile.suite makefile
# 修改makefile配置参数
vi makefile
CC = gcc
DATABASE = MYSQL # 或INFORMIX(兼容模式)
MACHINE = LINUX
WORKLOAD = TPCH
# 修改config.h文件,在文件开头添加如下内容
vi config.h
----支持64位
#ifndef DSS_HUGE
#define DSS_HUGE long long
#endif
#ifndef HUGE_FORMAT
#define HUGE_FORMAT "%lld"
#endif
#define SUPPORT_64BIT 1
#ifndef RNG_A
#define RNG_A 1103515245LL
#endif
#ifndef RNG_C
#define RNG_C 12345LL
#endif
#ifndef SET_ROWCOUNT
#define SET_ROWCOUNT "LIMIT %d" // MySQL用LIMIT限制行数
#endif
----和mysql数据库相关
#ifndef START_TRAN
#define START_TRAN "START TRANSACTION"
#endif
#ifndef END_TRAN
#define END_TRAN "COMMIT"
#endif
#ifndef SET_DBASE
#define SET_DBASE "USE %s"
#endif
#ifndef SET_OUTPUT
#define SET_OUTPUT "SELECT INTO OUTFILE"
#endif
#ifndef GEN_QUERY_PLAN
#define GEN_QUERY_PLAN "EXPLAIN"
#endif
-----行数
#ifndef SET_ROWCOUNT
#define SET_ROWCOUNT "LIMIT %d"
#endif
-----日期
#ifndef HUGE_DATE_FORMAT
#define HUGE_DATE_FORMAT "%02lld"
#endif
# 编译
make
复制代码
6. 性能测试
6.1 OLTP 性能测试
6.1.1 MySQL 性能测试
(1)生成测试数据
# 创建test数据库
mysql -u root -p
create database test;
# 生成测试数据
sysbench oltp_read_write \
--mysql-host=127.0.0.1 \
--mysql-port=3306 \
--mysql-user=root \
--mysql-password=Root#1234 \
--mysql-db=test \
--tables=5 \
--table-size=25000000 \
--db-driver=mysql \
prepare
# --tables=5 #生成5张表
# --table-size=25000000 #单表2500万行数据
# 数据约52G,执行时间约40分钟
复制代码
(2)执行测试
sysbench oltp_read_write \
--mysql-host=127.0.0.1 \
--mysql-port=3306 \
--mysql-user=root \
--mysql-password=Root#1234 \
--mysql-db=test \
--tables=5 \
--table-size=25000000 \
--threads=128 \
--time=600 \
--report-interval=10 \
--db-driver=mysql \
run > mysql-result.log
# --threads=128 \ # 根据需求调整线程数
# --time=600 \ # 测试时长(秒)
# --report-interval=10 \ # 每10秒报告一次
# mysql-result.log 生成执行结果的日志
复制代码
(3)查看测试结果
# 查看执行结果
more mysql-result.log | grep "transactions:"
more mysql-result.log | grep "avg:"
more mysql-result.log | grep "95th percentile:"
# grep "transactions:" # TPS
# grep "avg:" # 平均延迟
# grep "95th percentile:" # P95延迟
复制代码
6.1.2 TiDB 性能测试
(1)生成测试数据
# 创建远程登录账号
create user 'tidb'@'%' IDENTIFIED WITH mysql_native_password BY 'Root#1234';
grant all privileges on *.* to 'tidb'@'%';
flush privileges;
# 远程登录TiDB数据库
mysql -h 192.168.18.181 -u tidb -P 4000 -p
# 创建数据库
create database titest;
# 生成测试数据
sysbench oltp_read_write \
--mysql-host=192.168.18.181 \
--mysql-port=4000 \
--mysql-user=tidb \
--mysql-password=Root#1234 \
--mysql-db=titest \
--tables=5 \
--table-size=25000000 \
--db-driver=mysql \
--mysql-ignore-errors=all \
--create_secondary=off \
--auto-inc=on \
prepare
复制代码
(2)执行测试
sysbench oltp_read_write \
--mysql-host=192.168.18.181 \
--mysql-port=4000 \
--mysql-user=tidb \
--mysql-password=Root#1234 \
--mysql-db=titest \
--tables=5 \
--table-size=25000000 \
--threads=128 \
--time=600 \
--report-interval=10 \
--db-driver=mysql \
run > tidb-result.log
复制代码
(3)查看测试结果
# 查看执行结果
more tidb-result.log | grep "transactions:"
more tidb-result.log | grep "avg:"
more tidb-result.log | grep "95th percentile:"
复制代码
6.2 OLAP 性能测试
6.2.1 MySQL 性能测试
(1)生成测试数据
# 通过TPC-H生成测试数据
./dbgen -s 10 -f
# 会自动生成8个.tbl文件(lineitem, orders, part等)
# -s 10 表示生成约10GB原始文本数据
# 检查生成的tbl文件
ls -lh *.tbl
复制代码
(2)将 tbl 数据导入数据库
1)在 MySQL 中创建数据库和表
# 创建数据库
mysql -u root -p
create database tpch;
# 修改TPC工具中的dss.ddl文件
vi /root/tpc-h/dbgen/dss.ddl
# 在文件开头,加入如下语句
drop database tpch;
create database tpch;
use tpch;
# 在mysql中建表
mysql -u root -p
# 在mysql命令行,执行如下命令,即可创建8张表
\. /root/tpc-h/dbgen/dss.ddl
复制代码
2)创建数据导入文件 load.ddl
# 在tpc-h工具的安装目录
vi load.ddl
use tpch
load data local INFILE '/data/tbl/customer.tbl' INTO TABLE CUSTOMER FIELDS TERMINATED BY '|';
load data local INFILE '/data/tbl/region.tbl' INTO TABLE REGION FIELDS TERMINATED BY '|';
load data local INFILE '/data/tbl/nation.tbl' INTO TABLE NATION FIELDS TERMINATED BY '|';
load data local INFILE '/data/tbl/supplier.tbl' INTO TABLE SUPPLIER FIELDS TERMINATED BY '|';
load data local INFILE '/data/tbl/part.tbl' INTO TABLE PART FIELDS TERMINATED BY '|';
load data local INFILE '/data/tbl/partsupp.tbl' INTO TABLE PARTSUPP FIELDS TERMINATED BY '|';
load data local INFILE '/data/tbl/orders.tbl' INTO TABLE ORDERS FIELDS TERMINATED BY '|';
load data local INFILE '/data/tbl/lineitem.tbl' INTO TABLE LINEITEM FIELDS TERMINATED BY '|';
复制代码
3)导入数据
# 导入数据
mysql -u root -p
\. /root/tpc-h/dbgen/load.ddl
# 也可以执行下面的语句
source /root/tpc-h/dbgen/load.ddl
复制代码
4)创建索引
# 修改dss.ri文件
-- Sccsid: @(#)dss.ri 2.1.8.1
-- tpch Benchmark Version 8.0
-- CONNECT TO tpch;
use tpch;
-- ALTER TABLE tpch.REGION DROP PRIMARY KEY;
-- ALTER TABLE tpch.NATION DROP PRIMARY KEY;
-- ALTER TABLE tpch.PART DROP PRIMARY KEY;
-- ALTER TABLE tpch.SUPPLIER DROP PRIMARY KEY;
-- ALTER TABLE tpch.PARTSUPP DROP PRIMARY KEY;
-- ALTER TABLE tpch.ORDERS DROP PRIMARY KEY;
-- ALTER TABLE tpch.LINEITEM DROP PRIMARY KEY;
-- ALTER TABLE tpch.CUSTOMER DROP PRIMARY KEY;
-- For table REGION
ALTER TABLE tpch.REGION
ADD PRIMARY KEY (R_REGIONKEY);
-- For table NATION
ALTER TABLE tpch.NATION
ADD PRIMARY KEY (N_NATIONKEY);
ALTER TABLE tpch.NATION
-- ADD FOREIGN KEY NATION_FK1 (N_REGIONKEY) references tpch.REGION;
ADD FOREIGN KEY NATION_FK1 (N_REGIONKEY) references tpch.REGION(R_REGIONKEY);
COMMIT WORK;
-- For table PART
ALTER TABLE tpch.PART
ADD PRIMARY KEY (P_PARTKEY);
COMMIT WORK;
-- For table SUPPLIER
ALTER TABLE tpch.SUPPLIER
ADD PRIMARY KEY (S_SUPPKEY);
ALTER TABLE tpch.SUPPLIER
ADD FOREIGN KEY SUPPLIER_FK1 (S_NATIONKEY) references tpch.NATION(N_NATIONKEY);
COMMIT WORK;
-- For table PARTSUPP
ALTER TABLE tpch.PARTSUPP
ADD PRIMARY KEY (PS_PARTKEY,PS_SUPPKEY);
COMMIT WORK;
-- For table CUSTOMER
ALTER TABLE tpch.CUSTOMER
ADD PRIMARY KEY (C_CUSTKEY);
ALTER TABLE tpch.CUSTOMER
ADD FOREIGN KEY CUSTOMER_FK1 (C_NATIONKEY) references tpch.NATION(N_NATIONKEY);
COMMIT WORK;
-- For table LINEITEM
ALTER TABLE tpch.LINEITEM
ADD PRIMARY KEY (L_ORDERKEY,L_LINENUMBER);
COMMIT WORK;
-- For table ORDERS
ALTER TABLE tpch.ORDERS
ADD PRIMARY KEY (O_ORDERKEY);
COMMIT WORK;
-- For table PARTSUPP
ALTER TABLE tpch.PARTSUPP
ADD FOREIGN KEY PARTSUPP_FK1 (PS_SUPPKEY) references tpch.SUPPLIER(S_SUPPKEY);
COMMIT WORK;
ALTER TABLE tpch.PARTSUPP
ADD FOREIGN KEY PARTSUPP_FK2 (PS_PARTKEY) references tpch.PART(P_PARTKEY);
COMMIT WORK;
-- For table ORDERS
ALTER TABLE tpch.ORDERS
ADD FOREIGN KEY ORDERS_FK1 (O_CUSTKEY) references tpch.CUSTOMER(C_CUSTKEY);
COMMIT WORK;
-- For table LINEITEM
ALTER TABLE tpch.LINEITEM
ADD FOREIGN KEY LINEITEM_FK1 (L_ORDERKEY) references tpch.ORDERS(O_ORDERKEY);
COMMIT WORK;
ALTER TABLE tpch.LINEITEM
ADD FOREIGN KEY LINEITEM_FK2 (L_PARTKEY,L_SUPPKEY) references
tpch.PARTSUPP(PS_PARTKEY,PS_SUPPKEY);
alter table CUSTOMER rename to customer ;
alter table LINEITEM rename to lineitem ;
alter table NATION rename to nation ;
alter table ORDERS rename to orders ;
alter table PART rename to part ;
alter table PARTSUPP rename to partsupp ;
alter table REGION rename to region ;
alter table SUPPLIER rename to supplier ;
COMMIT WORK;
# 创建索引
\. /root/tpc-h/dbgen/dss.ri
复制代码
5)查看生成的索引
# 查看当前数据库所有表的索引
SELECT
table_name AS 表名,
index_name AS 索引名,
column_name AS 索引列,
non_unique AS 是否非唯一,
index_type AS 索引类型
FROM
information_schema.statistics
WHERE
table_schema = DATABASE() -- 当前数据库
ORDER BY
table_name, index_name, seq_in_index;
复制代码
6)生成查询语句
# 将/tpc-h/dbgen/queries目录中的查询模板文件拷贝至dbgen目录下
cp -r ./queries/* ./
# 使用qgen生成22条SQL查询语句
cd /root/tpc-h/dbgen
# 在dbgen目录下新建query.sh文件
vi query.sh
for i in {1..22}; do /root/tpc-h/dbgen/qgen $i > /root/tpc-h/dbgen/query$i.sql; done
chmod +x query.sh
./query.sh
ls -al *.sql
复制代码
7)修改查询语句
# 修改SQL查询语句
# TPC-H查询模板包含limit -1,在MySQL中会报错,需要批量移除
# 将所有 limit -1 替换为 limit 1
sed -i '$s/limit -1/limit 1/' query*.sql
# 去掉脚本中的 date 函数
sed -i 's/ date / /g' query*.sql
# 在个 SQL 文件的第一行 添加 use tpch; 语句
sed -i '1a use tpch; \n' *.sql
# 修改query1.sql文件
# 需要 将 where 条件的内容修改
# where
# l_shipdate <= date '1998-12-01' - interval '90' day (3)
# 修改为 如下
where
l_shipdate <= '1998-12-01' - interval '90' day
复制代码
8)执行查询测试
# 默认表名为大写,在SQL查询语句中为小写,修改表名
ALTER TABLE `CUSTOMER` RENAME TO `customer`;
ALTER TABLE `REGION` RENAME TO `region`;
ALTER TABLE `NATION` RENAME TO `nation`;
ALTER TABLE `SUPPLIER` RENAME TO `supplier`;
ALTER TABLE `PART` RENAME TO `part`;
ALTER TABLE `PARTSUPP` RENAME TO `partsupp`;
ALTER TABLE `ORDERS` RENAME TO `orders`;
ALTER TABLE `LINEITEM` RENAME TO `lineitem`;
# 执行查询语句,并记录执行时间
source /root/tpc-h/dbgen/query8.sql
source /root/tpc-h/dbgen/query10.sql
source /root/tpc-h/dbgen/query13.sql
复制代码
9)统计执行时间
6.2.2 TiDB 性能测试
1)创建数据库和表
# 创建数据库
mysql -u tidb -p -P 4000 -h 192.168.18.181
create database tpch;
use tpch;
# 创建表
source /root/tpc-h/dbgen/dss.ddl
复制代码
2)导入数据
3)执行查询测试
使用 MySQL 测试时,生成的 query1-22.sql 查询语句测试即可。
# 在测试tidb时,没有生成索引
# 表名大小写也没有修改
source /root/tpc-h/dbgen/query8.sql
source /root/tpc-h/dbgen/query10.sql
source /root/tpc-h/dbgen/query13.sql
复制代码
4)统计执行结果
7. 性能对比
7.1 OLTP 性能对比
在测试环境中,TiDB、TIKV 等组件均部署在同一节点,数量均为 1 个,但 TiDB 表现仍然十分优异。
(1)TPS (每秒事务处理量) 分析
(2)平均延迟分析
(3)P95 延迟分析
7.2 OLAP 性能对比
(1)TiDB 在复杂分析查询中优势明显
(2)所有查询 TiDB 均优于 MySQL
(3)TiDB 更适合数据密集型分析
8. 数据压缩对比
以 Sysbench 生成的测试数据,在 MySQL 和 TiDB 中的存储状况进行对比。
8.1 MySQL 数据存储状况
(1)表逻辑大小
# 在 MySQL 中查询表的逻辑大小
SELECT
table_name AS '表名',
round(((data_length + index_length) / 1024 / 1024), 2) AS '大小(MB)',
round((data_length / 1024 / 1024), 2) AS '数据大小(MB)',
round((index_length / 1024 / 1024), 2) AS '索引大小(MB)',
table_rows AS '行数'
FROM information_schema.TABLES
WHERE table_schema = 'test' AND table_name LIKE 'sbtest%'
ORDER BY table_name;
复制代码
(2)表占用物理磁盘大小
# 在 MySQL 中执行以下命令查找数据目录
SHOW VARIABLES LIKE 'datadir';
# 进入 MySQL 数据目录
cd /var/lib/mysql
# 查看测试数据库目录大小
du -sh test/
# 查看单个表文件大小
ls -lh test/sbtest*.ibd
# 计算所有测试表的总大小
du -ch test/sbtest*.ibd | grep total
复制代码
8.2 TiDB 数据存储状况
(1)表逻辑大小
# 方法1:查看 TiKV 中测试表的逻辑大小
SELECT SUM(data_length + index_length) AS total_logical_size
FROM information_schema.TABLES
WHERE table_schema = 'titest' AND table_name IN ('sbtest1', 'sbtest2', 'sbtest3', 'sbtest4', 'sbtest5')
# 方法2:
SELECT
table_name,
DATA_LENGTH,
INDEX_LENGTH,
(DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024 AS total_size_GB
FROM information_schema.TABLES
WHERE table_schema = 'titest';
复制代码
(2)表占用物理磁盘大小
8.3 数据存储状况对比
(1)极高的逻辑数据压缩率
(2)物理磁盘占用也更优
(3)架构存储优势
9. TEM 易用性
TEM(TiDB Enterprise Manager)是平凯星辰推出的企业级一站式数据库管理平台,专为简化 TiDB 的运维管理、提升开发效率而设计。
9.1 核心功能
(1)集中化监控与告警
(2)智能运维与管理
9.2 易用性总结
(1)开箱即用
(2)图形化操作
(3)统一管理入口
(4)自动化与智能化
平凯星辰 TEM 的核心价值在于 “化繁为简” 。通过统一的图形化平台,将 TiDB 分布式数据库复杂的运维管理工作变得可视化、自动化、智能化,显著降低了企业用户的运维成本和技术门槛,同时通过数据闪回、备份恢复等重要功能增强了数据安全性和业务稳定性,是构建和运营 TiDB 企业级应用不可或缺的运维利器。
10. 总结
(1)极高的吞吐能力(TPS)
(2)极低的延迟表现
(3)适用于高并发 OLTP 场景
(4)架构优势体现
分布式架构:TiDB 通过分片(Region)和多副本机制,轻松水平扩展,避免了 MySQL 单机瓶颈。
自动负载均衡:PD(Placement Driver)组件智能调度数据分布和访问路由。
强一致性事务:基于 Google Spanner 设计的 MVCC + Percolator 事务模型,保证分布式事务的 ACID。
计算存储分离:TiDB(计算层)与 TiKV(存储层)分离,可独立扩展,进一步提升并发处理能力。
TiDB 在保持 MySQL 协议兼容的同时,提供了更好的扩展性和稳定性。
TiDB 不仅在分析型查询(OLAP)中表现卓越,在事务处理(OLTP)方面也具备极强的并发处理能力和低延迟特性,是一款真正的 HTAP 数据库。其分布式架构、线性扩展能力和稳定性使其更适合高并发、大数据量的企业级应用场景。
-————————————————————————————————————————–
评论