es mysql 预处理_数据库选型之MySQL vs ElasticSearch

前言

应用系统通常需要借助数据预处理(如物化视图等)来实现数据查询加速的需求。目前业界主流数据库主要有以下两大类,一种是基于传统RDBMS关系型数据库来实现;另一种是基于NoSQL非关系型数据库来实现。那么问题来了,哪一种类型的数据库更符合产品的需要呢?

开源技术栈中,以应用最为广泛的RDBMS关系型数据库MySQL和NoSQL非关系型数据库ElasticSearch(简称ES)为例,介绍下这两类数据库之间的区别和各自的优势,然后再根据产品需求特性,很容易判断哪类数据库更适合产品的需要了。

MySQL vs ES

MySQL作为开源关系型数据库,应用范围非常广泛,非常适合于结构化数据存储和查询。在数据查询场景下,默认返回所有满足匹配条件的记录;而ES作为新生代NoSQL数据库代表之一,非常适合于非结构化文档类数据存储、更创新支持智能分词匹配模糊查询。比如在电商网站商品搜索栏中,用户输入以空格为分隔符的字符串(如:家电电视等),后台ES数据库搜索引擎会根据用户输入的信息,对数据库中保存的非结构化数据进行分词模糊匹配查询,返回满足匹配条件的前N条记录给用户;另外ES更典型应用在于根据用户浏览记录日志来追踪用户行为,智能推送用户期望浏览的数据信息,此时通常借助ELK三大组件互相配合完成。

关于如何在MySQL和ES之间做到合理技术选型,ES官方网站也给出了指导性建议如下图所示。从英文描述看,基本上和之前的介绍相符合。因此,如果业务数据为结构化数据,同时不需要特别关注排名和智能分词模糊匹配查询等特性,则建议采用关系型数据库如MySQL来作为数据存储介质并使用配套搜索引擎;反之,如果业务数据为非结构化数据,同时更关注排名和需要智能分词模糊匹配的特性,则建议采用非关系型数据库如ES作为数据存储介质并使用配套搜索引擎。

YjiIRb.png

怎么样?还在犹豫到底使用哪种类型的数据库吗?看了这篇文章就自然就知道答案了,剩下就是大刀阔斧的开干吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值