学会这个ES数据建模指南,还需要啥MySQL?( 六 )


4)业务层面实现关联
需通过多次检索获取所需的关键字段 , 业务层面自己写代码实现 。
这里小结一下 , 以上四种方式便是Elasticsearch能实现的全量多表关联方案 。 实战建模阶段 , 一定要结合自己的业务场景 , 尽量往上靠 , 先通过kibanadevtool模拟实现 , 找到契合自己业务的多表关联方案 。
此外我还要强调的是:多表关联都会有性能问题 , 数据量极大且检索性能要求高的场景需要慎用 。 这里我摘取了官方文档对应的描述如下 , 供你参考 。
尤其应该避免多表关联 。 Nested嵌套可以使查询慢几倍 , 而Join父子关系可以使查询慢数百倍 。
三、总结
最后 , 我们再来总结一下建模其他核心考量因素 。
学会这个ES数据建模指南,还需要啥MySQL?
文章图片
尽量空间换时间:能多个字段解决的不要用脚本实现 。 尽量前期数据预处理 , 不要后期脚本 。 优先选择ingestprocess数据预处理实现 , 尽量不要留到后面script脚本实现 。 能指定路由的提前指定路由 。 写入的时候指定路由 , 检索的时候也同样适用路由 。 能前置的尽量前置 , 让后面检索聚合更加清爽 。 比如indexsorting前置索引字段排序是非常好的方式 。
数据建模是Elasticsearch开发实战中非常重要的一环 , 也是项目管理角度中的设计环节的重中之重 , 你一定要重视!千万不要着急写业务代码 , 以“代码之前 , 设计先行”作为行动准绳 。
作者丨铭毅天下
来源丨公众号:铭毅天下Elasticsearch(ID:elastic999)
dbaplus社群欢迎广大技术人员投稿 , 投稿邮箱:editor@dbaplus.cn
更多精彩内容
11月19日下午14:00 , dbaplus社群携手中国银行 , 围绕“中国银行运维转型与敏捷开发探索实践”这一主题开展线上直播分享 , 针对运维监控、混沌工程、DevOps等内容进行深度探讨 , 为金融业的数字化转型提供更多新思路 。
直播地址:http://z-mz.cn/5t8OC
学会这个ES数据建模指南,还需要啥MySQL?
文章图片
关于我们
dbaplus社群是围绕Database、BigData、AIOps的企业级专业社群 。 资深大咖、技术干货 , 每天精品原创文章推送 , 每周线上技术分享 , 每月线下技术沙龙 , 每季度Gdevops&DAMS行业大会 。
关注公众号【dbaplus社群】 , 获取更多原创技术文章和精选工具下载返回搜狐 , 查看更多
学会这个ES数据建模指南,还需要啥MySQL?】责任编辑: