应对智慧医保复杂的业务结算

本文涉及的产品
RDS PostgreSQL Serverless,0.5-4RCU 50GB 3个月
推荐场景:
对影评进行热评分析
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS SQL Server,基础系列 2核4GB
简介: 本场景介绍了应对智慧医保复杂的业务结算,阿里云数据库产品量身打造一体化的在/离线数据库服务。保障实时业务的效率的同时极大的提高结算服务的性能。

应对智慧医保复杂的业务结算


1. 在ECS实例上安装相关软件

在ECS实例上安装相关软件本案例以8 vCPU 16 GiB规格的ECS实例为例。

登录ECS。,选择实例,点击开通的实例ID名称。ECS控制台1)登录。远程连接2)单击。立即登录方式,单击Workbench远程连接3)可选择

在ECS上执行如下命令,安装压测工具SysBench。1)执行如下命令下载SysBench。

yum install gcc gcc-c++ autoconf automake make libtool bzr mysql-devel git mysql 
git clone https://github.com/akopytov/sysbench.git
2)进入SysBench目录。
cd sysbench
3)切换到SysBench 1.0.18版本。
git checkout 1.0.18
4)运行autogen.sh。
./autogen.sh
5)编译。
./configure --prefix=/usr --mandir=/usr/share/man
make
make install

执行如下命令配置SysBench Client,使内核可以使用所有的CPU处理数据包(默认设置为使用2个CPU),同时减少CPU之间的上下文切换。

sudo sh -c 'for x in /sys/class/net/eth0/queues/rx-*; do echo ff>$x/rps_cpus; done'
sudo sh -c 'echo 32768 > /proc/sys/net/core/rps_sock_flow_entries'
sudo sh -c 'echo 4096 > /sys/class/net/eth0/queues/rx-0/rps_flow_cnt'
说明:ff表示使用8个CPU(1个f表示4个CPU)。请根据实际配置修改,例如本案例中ECS为8核CPU,因此输入ff。

2. 准备模拟数据,写入RDS MySQL

准备模拟数据,写入RDS MySQL

在ECS中,执行如下命令,准备压测数据。

,在RDS MySQL中创建一个名为dbfortest的数据库。RDS 控制台登录

sysbench --threads=8 --table-size=25000 --tables=250 --events=0 --time=60 --mysql-db=xxx --mysql-user=xxx --mysql-password=xxx --mysql-host=xxx --mysql-port=xxx oltp_read_write prepare
涉及到的参数说明如下:

参数

说明

threads

测试线程数,可设置为8、16、32、64、128、256、512等,可根据实际的实例规格和环境时延进行尝试。

您可按照示例代码中的8进行设置。

table_size

要准备的表的大小,可按照示例代码中的25000进行设置。

tables

要准备的表的数量,可按照示例代码中的250进行设置。

events

测试请求数量,按照示例代码中的0进行设置。

time

测试时间,可按照示例代码中的60进行设置。

mysql-db

压测数据要注入的数据库名称,本示例中即为RDS MySQL中预先创建的dbfortest数据库。

mysql-user

RDS MySQL实例账号。

mysql-password

RDS MySQL实例账号对应的密码。

mysql-host

RDS MySQL实例连接地址。

可进入实例的数据库连接页面获取。

mysql-port

RDS MySQL实例连接端口。

可进入实例的数据库连接页面获取。

该命令会自动在RDS MySQL预先创建的dbfortest数据库中创建N个名为sbtest1、sbtest2……sbtestN的表(N为tables参数指定的表数量),其表结构如下,供您了解:
CREATE TABLE `sbtestN` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `k` int(11) NOT NULL DEFAULT '0',
  `c` char(120) NOT NULL DEFAULT '',
  `pad` char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `k_100` (`k`)
) ENGINE=InnoDB AUTO_INCREMENT=25001 DEFAULT CHARSET=utf8

3. 搭建DTS同步链路

搭建DTS同步链路

,购买DTS数据同步任务。任务配置要求如下:DTS购买页登录

商品类型:若您仅为体验,建议选择数据传输服务DTS(后付费),将根据使用时长收费。体验完成后再释放。

功能:选择数据同步。

源实例:选择MySQL。区域按照已有的RDS MySQL实例的地域选择。

目标实例:选择 AnalyticDB MySQL。区域按照已有的ADB MySQL实例的地域选择。

同步拓扑:选择单向同步。

其他按照默认选择即可,不影响本次体验。

数据同步列表,找到购买的数据同步任务,点击配置同步链路。DTS控制台购买完成后,在

选择相应的实例ID,填写账号密码后,点击授权白名单进入下一步。

选择要同步的数据库dbfortest,点击“>”,将dbfortest数据库添加至已选择对象。其余配置均可采用默认配置。

点击下一步,当定义状态为“已定义”后,点击预检查并启动。

4. 观测ADB MySQL中数据

观测ADB MySQL中数据

本步骤需要在ADB MySQL控制台中,登录对应的ADB MySQL的实例,观测其数据。

连接到ADB MySQL实例。

执行如下命令,查看实例中的数据库:

show databases;

可以看到,dbfortest数据库已经开始从RDS MySQL向ADB MySQL进行同步了。

等几分钟后(数据同步和校验需要时间),执行如下命令,查看同步结果:

use dbfortest;
show tables;

可以看到250张表已经完成了同步。

5. 运行压测程序,模拟RDS MySQL流量

运行压测程序,模拟RDS MySQL流量

在ECS中,执行如下命令,运行压测程序。

sysbench --db-driver=mysql  --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=xxx --table_size=25000 --tables=250 --events=0 --time=60   --threads=4 --percentile=95 --report-interval=1 oltp_read_write run

涉及到的参数说明如下:

参数

说明

report-interval

表示N秒输出一次测试进度报告,0表示关闭测试进度报告输出,仅输出最终的报告结果。

您可按照示例代码中的1进行设置。

threads

测试线程数,可设置为8、16、32、64、128、256、512等,可根据实际的实例规格和环境时延进行尝试。

您可按照示例代码中的4进行设置。

table_size

要准备的表的大小,可按照示例代码中的25000进行设置。

tables

要准备的表的数量,可按照示例代码中的250进行设置。

events

测试请求数量,按照示例代码中的0进行设置。

time

测试时间,可按照示例代码中的60进行设置。

mysql-db

压测数据要注入的数据库名称,本示例中即为RDS MySQL中预先创建的dbfortest数据库。

mysql-user

RDS MySQL实例账号。

mysql-password

RDS MySQL实例账号对应的密码。

mysql-host

RDS MySQL实例连接地址。

可进入实例的数据库连接页面获取。

mysql-port

RDS MySQL实例连接端口。

可进入实例的数据库连接页面获取。

可以看到程序已经开始运行:

6. 观察ADB MySQL的数据同步

观察ADB MySQL的数据同步

在ADB MySQL实例中执行如下命令:

show processlist;

可以看到DTS正在同步数据:

7. 校验数据一致性

等待程序运行结束后(共运行60s),随机抽查数据,校验同步的一致性。

在RDS MySQL中执行如下命令:


         

得到结果“064ee326182860c39e27fe239205925a”。

在ADB MySQL中执行同样的SQL:


         

得到结果“064ee326182860c39e27fe239205925a”。

由此可见,数据从RDS MySQL经由DTS同步到ADB MySQL后,数据是一致的。也可以更换其他表、其他条件来校验数据的一致性。

实验链接:https://developer.aliyun.com/adc/scenario/c931223493134a8e9e89711481679c2c

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
24天前
|
存储 安全 数据安全/隐私保护
简化企业出海跨境支付,提升业务安全性
简化企业出海跨境支付,提升业务安全性
|
人工智能 大数据 云计算
ippswap兑换底池质押项目系统开发|ippswap交易质押流程分析
Web3.0的核心应该是“用户自主”,并不一定非要“去中心化”
|
运维 监控 算法
云上财务经营的成本管理
云上财务经营的成本管理
云上财务经营的成本管理
|
数据采集 监控 数据管理
境外银行数据资产建设-数据资产质量管理
基本概念:数据资产质量:是指数仓数据资产表的质量,包含表的设计质量、开发质量、产出质量;设计质量:指资产表在业务数据链路中的定位是否合理,信息覆盖与整合是否达到要求;开发质量:指资产表在数据开发编码过程中,是否遵循约定的开发规范,数据加工逻辑是否正确;产出质量:指资产表对应任务的产出时间是否符合预期,产出结果数据是否达到要求;影响因素:信息因素:开发人员是否了解资产表的具体需求目标,是否了解具体的
270 0
|
供应链 安全 大数据
供应链数智化探索-单场景(门店/仓库)持续售卖商品的补货计划-业务解决方案
Think Big & Dive Deep; 本文阶段性更新了笔者在大数据在供应链行业应用的探索经验,聚焦门店/仓库智能补货场景, 从业务理解 ➡️ 领域建模➡️ 流程分解 ➡️ 矩阵分析 四步走中的业务理解部分开始, 细分为:业务场景描述、业务痛点概述、以及业务解决方案简介进行介绍;
703 0
供应链数智化探索-单场景(门店/仓库)持续售卖商品的补货计划-业务解决方案
|
存储 人工智能 监控
网络货运平台使用电子合同可降低50%成本!
网络货运平台,是以互联网技术构建平台,将货主、运力、安全管理、装备运营、能源消费等公路货运全链条有机整合,让公路货运更安全、更高效、更低成本。随着社会物流的发展,全社会对货物运输的需求不断增加。网络货运平台集成了集成了各类中小型三方货主、中小型生产企业、散装货主。
372 0
|
区块链
区块链来了|跨境转账可以实时到账?全球支付体系将重构
跨境转账可以实时到账?全球支付体系将重构
1475 0
|
安全 应用服务中间件 网络安全