BpFile(id=342, bpId=216, name=基于Elasticsearch的订单检索加速最佳实践, author=null, keyword=Elasticsearch,订单检索,加速,dataworks,rds, description=随着企业信息化程度越来越高,核心业务数据存储在传统关系型数据库中不可避免地会遇到一个问题:单表记录不断增多,数据检索速度会变慢,尤其是对中文的模糊查询(建立普通索引完全不起作用)。虽然数据库自身在不断完善,但效果有限且没办法灵活扩展,复杂场景无法应对。
本方案基于阿里云Elasticsearch作为二级索引库,数据集成产品提供Binlog实时订阅,实时解析、增量数据实时更新及二级索引库之间进行数据实时同步,为数据库提供“能力增益”, 不仅能从根本解决主库抗压问题,提升稳定性;同时支持高效率、高性能、高弹性、低成本、多复杂场景的检索加速服务。
解决问题
1. 单表容量瓶颈查询压力大,主库稳定性风险高;
2. 数据库查询并发性弱
3. 数据库横向扩展能力弱
4. 复杂查询无法满足(全文、模糊查询、聚合查询、多维过滤等复杂场景);
方案优势
简单易用:开箱即用,使用门槛低,数据自动备份、多种安全认证、字段级别权限管控。
性能优越:PB级数据准实时搜索引擎,查询结果毫秒级返回。
功能强大:支持多种数据结构的复杂查询及字段级的全文匹配、模糊匹配、同时集成了阿里达摩院NLP分词器等多种分词插件,性能效果双保障。
高弹性低成本:集群一键平滑弹性扩缩容,灵活应对流量峰谷。
API方式可平滑无缝对接用户业务系统。
, position=null, ossUrl=bp-5761JD65VYQLN63A.pdf, tags=null, level=null, tagList=null, products=null, productList=null, hotspot=null, oneClick=1, createTime=null, modifiedTime=null, timeConsuming=null, status=1, pdfDescription=
随着企业信息化程度越来越高,核心业务数据存储在传统关系型数据库中不可避免地会遇到一个问题:单表记录不断增多,数据检索速度会变慢,尤其是对中文的模糊查询(建立普通索引完全不起作用)。虽然数据库自身在不断完善,但效果有限且没办法灵活扩展,复杂场景无法应对。
本方案基于阿里云Elasticsearch作为二级索引库,数据集成产品提供Binlog实时订阅,实时解析、增量数据实时更新及二级索引库之间进行数据实时同步,为数据库提供“能力增益”,
不仅能从根本解决主库抗压问题,提升稳定性;同时支持高效率、高性能、高弹性、低成本、多复杂场景的检索加速服务。
, templateId=WX8BFD5V81WD7F6N, freetry=, visitTime=null, visitCount=null, video_url=, buttonName=null, buttonUrl=null, targetId=WX8BFD5V81WD7F6N, partner=, partnerUrl=, partnerLogo=, cooperation=, cooperationList=null)
1
基于 Elasticsearch的订单检索加速最佳实践
业务架构 场景描述
随着企业信息化程度越来越高,核心业
务数据存储在传统关系型数据库中不可避
免地会遇到一个问题:单表记录不断增多,
数据检索速度会变慢,尤其是对中文的模糊
查询(建立普通索引完全不起作用)。虽然
数据库自身在不断完善,但效果有限且没办
法灵活扩展,复杂场景无法应对。
本实践基于阿里云 Elasticsearch作为
二级索引库,数据集成产品提供 Binlog实
时订阅,实时解析、增量数据实时更新及二
级索引库之间的数据实时同步,为数据库提
供“能力增益”, 不仅能从根本解决主库抗
压问题,提升稳定性;同时支持高效率、高
性能、高弹性、低成本、多复杂场景的检索
加速服务。
解决问题
产品列表
1. 单表容量瓶颈查询压力大,主库稳定性
⚫ 访问控制 RAM
风险高;
⚫ 专有网络 VPC
2. 数据库查询并发性弱
⚫ 云服务器 ECS
3. 数据库横向扩展能力弱
⚫ 云数据库 RDS
4. 复杂查询无法满足(全文、模糊查询、
⚫ 阿里云 Elasticsearch
聚合查询、多维过滤等复杂场景);
⚫ DataWorks
⚫ 实时计算 Flink(选配)
阿里云最佳实践技术分享群
最佳实践频道
2云服务器 ECS(产品名称) 文档模板(手册名称)/文档版本信息
阿里云
基于Elasticsearch的
订单检索加速
最佳实践
文档版本:20210517
文档版本:20150122(发布日期) II
3基于 Elasticsearch的订单检索加速最佳实践 文档版本信息
文档版本信息
文本信息
属性 内容
文档名称 基于 Elasticsearch的订单检索加速最佳实践
文档编号 216
文档版本 V1.0
版本日期 2021-05-17
文档状态 外部发布
制作人 晓夭、石先飞、天裵、洪阳
审阅人 敬海、叶结中
文档变更记录
版本编号 日期 作者 审核人 说明
晓夭、石先飞、
V1.0 2021-05-17 敬海、叶结中 创建
天裵、洪阳
文档版本:20210517 I
4基于 Elasticsearch的订单检索加速最佳实践 前言
前言
概述
随着企业信息化程度越来越高,核心业务数据存储在传统关系型数据库中不可避免地
会遇到一个问题:单表记录不断增多,数据检索速度会变慢,尤其是对中文的模糊查
询(建立普通索引完全不起作用)。虽然数据库自身在不断完善,但效果有限且没办法
灵活扩展,复杂场景无法应对。
本方案基于阿里云 Elasticsearch作为二级索引库,数据集成产品提供 Binlog实时订
阅,实时解析、增量数据实时更新及二级索引库之间进行数据实时同步,为数据库提
供“能力增益”, 不仅能从根本解决主库抗压问题,提升稳定性;同时支持高效率、
高性能、高弹性、低成本、多复杂场景的检索加速服务。
名词解释
⚫ VPC:专有网络 VPC(Virtual Private Cloud)是用户基于阿里云创建的自定义私
有网络, 不同的专有网络之间二层逻辑隔离,用户可以在自己创建的专有网络内创
建和管理云产品实例,比如 ECS、负载均衡、RDS 等。更多信息,请参见:
www.aliyun.com/product/vpc
⚫ ECS:云服务器 ECS(Elastic Compute Service)是一种简单高效、处理能力可
弹性伸缩的计算服务。帮助您构建更稳定、安全的应用,提升运维效率,降低 IT
成本,使您更专注于核心业务创新。更多信息,请参见:
www.aliyun.com/product/ecs
⚫ RDS:阿里云关系型数据库 RDS(Relational Database Service)是一种稳定可
靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和 SSD盘高性能
存储,RDS 支持 MySQL、SQL Server、PostgreSQL、PPAS(Postgre Plus
Advanced Server,高度兼容 Oracle数据库)和 MariaDB TX引擎,并且提供了
容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦
恼。更多信息,请参见:www.aliyun.com/product/rds/mysql
⚫ Elasticsearch:阿里云 Elasticsearch兼容开源 ELK功能,提供免运维全托管服务
的弹性云搜索与分析引擎,致力于数据库加速、数据分析、信息检索、智能运维监
控等场景服务;独有的云原生高性能内核、达摩院 NLP分词、向量检索、智能运
维、免费 X-Pack高级商业特性等能力,全面提升企业应用效率,降低成本。更多
信息,请参见:www.aliyun.com/product/bigdata/product/elasticsearch
文档版本:20210517 III
5基于 Elasticsearch的订单检索加速最佳实践 前言
⚫ DataWorks:DataWorks基于 MaxCompute/EMR/MC-Hologres等大数据计算引
擎,为客户提供专业高效、安全可靠的一站式大数据开发与治理平台,自带阿里巴
巴数据中台与数据治理最佳实践,赋能各行业数字化转型。详情参见:
https://www.aliyun.com/product/bigdata/ide
文档版本:20210517 IV
6基于 Elasticsearch的订单检索加速最佳实践 目录
目录
文档版本信息 .............................................................................................................................................................. I
法律声明 ..................................................................................................................................................................... II
前言 ............................................................................................................................................................................ III
目录 ............................................................................................................................................................................. V
最佳实践概述 ............................................................................................................................................................. 1
前置条件 ..................................................................................................................................................................... 3
1. 资源规划和部署 ................................................................................................................................................. 4
1.1. 资源规划 ............................................................................................................................................. 4
1.2. 使用 CADT模板 ................................................................................................................................... 4
1.3. 编辑架构图并部署资源 ..................................................................................................................... 6
2. 配置数据库 ....................................................................................................................................................... 10
2.1. 创建 RDS数据库 ............................................................................................................................... 10
2.2. 设置白名单 ....................................................................................................................................... 11
2.3. 创建 RDS订单表 ............................................................................................................................... 13
3. 配置大数据组件 ............................................................................................................................................... 17
3.1. 阿里云 Elasticsearch .......................................................................................................................... 17
3.1.1. 创建阿里云 Elasticsearch .......................................................................................................... 17
3.1.2. 登陆可视化控制 Kibana ........................................................................................................... 20
3.1.3. 创建 Elasticsearch索引 ............................................................................................................. 23
3.2. Dataworks .......................................................................................................................................... 28
3.2.1. 开通 Dataworks ......................................................................................................................... 28
3.2.2. 创建工作空间 DataWorks ......................................................................................................... 29
3.2.3. 创建独享资源组并绑定............................................................................................................ 32
3.2.4. 配置 Dataworks数据源 ............................................................................................................ 36
3.2.4.1. 新增 RDS数据源 ............................................................................................................... 37
3.2.4.2. 新增 Elasticsearch数据源 ................................................................................................. 41
3.3. 配置 RDS到 Elasticsearch实时同步 ................................................................................................ 43
4. 加速性能测试 ................................................................................................................................................... 51
4.1. 登陆 appserver .................................................................................................................................. 51
4.2. 安装 Java/Mysql/Git .......................................................................................................................... 52
4.3. 准备数据脚本 ................................................................................................................................... 55
4.4. 向 RDS导入数据 ............................................................................................................................... 56
4.5. 性能测试 ........................................................................................................................................... 61
4.5.1. RDS中检索 1000W数据 .......................................................................................................... 61
4.5.2. Elasticsearch中检索 1000W数据 ............................................................................................ 61
附录 1:配置清单 .................................................................................................................................................... 63
附录 2:数据可视化 ................................................................................................................................................ 66
配置阿里云 Elasticsearch索引模式 ................................................................................................................. 66
创建 pie类型模板 ............................................................................................................................................ 68
创建 Mertics类型模板 ..................................................................................................................................... 71
创建 Line类型模板 ........................................................................................................................................... 72
文档版本:20210517 V
7基于 Elasticsearch的订单检索加速最佳实践 目录
创建 Tag cloud类型模板 .................................................................................................................................. 74
创建 Markdown类型模板 ................................................................................................................................ 75
创建 Control类型模板 ..................................................................................................................................... 77
Dashboards配置 ............................................................................................................................................... 78
文档版本:20210517 VI
8基于 Elasticsearch的订单检索加速最佳实践 最佳实践概述
最佳实践概述
概述
随着企业信息化程度越来越高,核心业务数据存储在传统关系型数据库中不可避免地
会遇到一个问题:单表记录不断增多,数据检索速度会变慢,尤其是对中文的模糊查
询(建立普通索引完全不起作用)。虽然数据库自身在不断完善,但效果有限且没办法
灵活扩展,复杂场景无法应对。
本方案基于阿里云 Elasticsearch作为二级索引库,数据集成产品提供 Binlog实时订
阅,实时解析、增量数据实时更新及二级索引库之间进行数据实时同步,为数据库提
供“能力增益”, 不仅能从根本解决主库抗压问题,提升稳定性;同时支持高效率、
高性能、高弹性、低成本、多复杂场景的检索加速服务。
技术架构
本实践方案基于如下图所示的技术架构和主要流程编写操作步骤:
方案优势
⚫ 简单易用:开箱即用,使用门槛低,数据自动备份、多种安全认证、字段级别权限
管控。
⚫ 性能优越:PB级数据准实时搜索引擎,查询结果毫秒级返回。
⚫ 功能强大:支持多种数据结构的复杂查询及字段级的全文匹配、模糊匹配、同时集
成了阿里达摩院 NLP分词器等多种分词插件,性能效果双保障。
文档版本:20210517 1