操作步骤
- 通过DRS将MySQL数据实时同步到CSS。具体操作步骤请参见将MySQL同步到CSS/ES。
- 在本章案例中,下表中同步任务配置参数需要按建议填写。
表1 同步任务参数说明 配置模块
参数名称
填写建议
同步实例 > 同步实例信息
“网络类型”
选择“VPC网络”。
“源数据库实例”
选择需要同步的RDS for MySQL实例,即存储用户业务数据的MySQL。
“同步实例所在子网”
选择同步实例所在的子网,建议跟数据库实例以及CSS集群所在子网保持一致。
源库及目标库 > 目标库信息
“VPC”和“子网”
选择和CSS集群一致的VPC与子网。
“IP地址或域名”
填写CSS集群的IP地址,获取方式请参见3.2.3章节中” 获取CSS集群的IPv6地址”
“数据库用户名”和“数据库密码”
填写CSS集群的管理员账户名(admin)和密码。
“加密证书”
选择CSS集群的安全证书,如果未启用“SSL安全链接”,则不用选择。获取方式请参见获取CSS集群的安全证书。
设置同步
“流速模式”
选择“不限速”。
“同步对象类型”
不勾选“同步表结构”,因为已经预先在CSS集群中创建了与MySQL中表相对应的索引。
“同步对象”
选择“表级同步”,选择与CSS对应的数据库以及表名。
说明:
配置项中type名称需要与索引名称一样,都是“_doc”,如果不一致请修改。
数据加工
-
直接“下一步”。
- 启动同步任务后,等待任务“状态”从“全量同步”变成“增量同步”,表示数据进入实时同步状态。
- 验证数据库的同步状态。
- 全量数据同步验证。
在CSS的Kibana中执行如下命令,确认全量数据是否同步到CSS。
GET student/_search
- 源端插入新数据,验证数据是否会同步到CSS。
例如,源端插入“id”为“4”的新数据。
INSERT INTO student (id,name,age,dsc) VALUES ('4','Bill','50','Bill is a smart investor.')
在CSS的Kibana中执行如下命令,确认新数据是否同步到CSS。
GET student/_search
- 源端更新数据,验证数据是否会同步更新到CSS。
例如,更新“id”为“4”这条数据的“age”字段,从“50”改成“55”。
UPDATE student set age='55' WHERE id=4;
在CSS的Kibana中执行如下命令,确认数据是否同步更新到CSS。
GET student/_search
- 源端删除数据,验证CSS里的数据是否同步删除。
例如,删除“id”为“4”的数据。
DELETE FROM student WHERE id=4;
在CSS的Kibana中执行如下命令,确认CSS里的数据是否被同步删除。
GET student/_search
- 验证数据库的全文检索能力。
例如,在CSS查询“dsc”中包含“director”的数据。
GET student/_search { "query": { "match": { "dsc": "director" } } }
- 验证数据库的Ad Hoc查询能力。
例如,在CSS查询年龄大于40的investor。
GET student/_search { "query": { "bool": { "must": [ { "match": { "dsc": " investor" } }, { "range": { "age": { "gte": 40 } } } ] } } }
- 验证数据库的统计分析能力。
例如,在CSS统计所有人的年龄分布。
GET student/_search { "size": 0, "query": { "match_all": {} }, "aggs": { "age_count": { "terms": { "field": "age", "size": 10 } } } }
- 全量数据同步验证。