学会这个ES数据建模指南,还需要啥MySQL?( 六 )
4)业务层面实现关联
需通过多次检索获取所需的关键字段 , 业务层面自己写代码实现 。
这里小结一下 , 以上四种方式便是Elasticsearch能实现的全量多表关联方案 。 实战建模阶段 , 一定要结合自己的业务场景 , 尽量往上靠 , 先通过kibanadevtool模拟实现 , 找到契合自己业务的多表关联方案 。
此外我还要强调的是:多表关联都会有性能问题 , 数据量极大且检索性能要求高的场景需要慎用 。 这里我摘取了官方文档对应的描述如下 , 供你参考 。
尤其应该避免多表关联 。 Nested嵌套可以使查询慢几倍 , 而Join父子关系可以使查询慢数百倍 。
三、总结
最后 , 我们再来总结一下建模其他核心考量因素 。
文章图片
尽量空间换时间:能多个字段解决的不要用脚本实现 。 尽量前期数据预处理 , 不要后期脚本 。 优先选择ingestprocess数据预处理实现 , 尽量不要留到后面script脚本实现 。 能指定路由的提前指定路由 。 写入的时候指定路由 , 检索的时候也同样适用路由 。 能前置的尽量前置 , 让后面检索聚合更加清爽 。 比如indexsorting前置索引字段排序是非常好的方式 。
数据建模是Elasticsearch开发实战中非常重要的一环 , 也是项目管理角度中的设计环节的重中之重 , 你一定要重视!千万不要着急写业务代码 , 以“代码之前 , 设计先行”作为行动准绳 。
作者丨铭毅天下
来源丨公众号:铭毅天下Elasticsearch(ID:elastic999)
dbaplus社群欢迎广大技术人员投稿 , 投稿邮箱:editor@dbaplus.cn
更多精彩内容
11月19日下午14:00 , dbaplus社群携手中国银行 , 围绕“中国银行运维转型与敏捷开发探索实践”这一主题开展线上直播分享 , 针对运维监控、混沌工程、DevOps等内容进行深度探讨 , 为金融业的数字化转型提供更多新思路 。
直播地址:http://z-mz.cn/5t8OC
文章图片
关于我们
dbaplus社群是围绕Database、BigData、AIOps的企业级专业社群 。 资深大咖、技术干货 , 每天精品原创文章推送 , 每周线上技术分享 , 每月线下技术沙龙 , 每季度Gdevops&DAMS行业大会 。
关注公众号【dbaplus社群】 , 获取更多原创技术文章和精选工具下载返回搜狐 , 查看更多
【学会这个ES数据建模指南,还需要啥MySQL?】责任编辑:
- 双十一|今年的这个双十一,GMV似乎已经变成了过去式
- vivoX80和OPPOReno8Pro+如何选?这个问题其实比较简单|vivox80和reno8pro+怎么选?
- 魅族这个品牌其实一直都在坚持做高端机|魅族16x屏幕指纹解锁百元档内搭载屏下指纹
- 荣耀数字系列作为荣耀的拳头产品|荣耀80系列将于11月23日发布,网友:这个设计真灵动
- 荣耀这个品牌中|荣耀play7t和荣耀play7tpro配置全面泄露
- 特斯拉|机构今日鉴定潮州特斯拉!车展维权女车主:特斯拉也可能写一组假数据
- 本文转自:科技日报人工智能的优势是对大量数据进行学习分析、智能处理|人工智能怎样做到对灾害“先知先觉”
- 创业|创业者的管理日常:初步学会数据管理
- 苹果|摊上事!iPhone一直跟踪你收集数据 用户集体诉讼:苹果承诺的隐私呢?
- 张忠谋也无法掌控全局!台积电妥协交出数据后,新的难题迎面而至