它们两者的应用场景有什么区别,什么情况下架构该用es呢,为什么es不能完全替代mysql
mysql 是用来存储数据的
es 也是存储数据的 但是es很费内存 所以不能存很多东西 只能存一下关键的 需要快速查找的数据
如果你的数据不多 没必要用es 或者你需要检索的内容简单 都不需要用es
如果你需要做日志系统 大批量的文本 这个时候mysql的模糊查询双模糊是不走索引的且会非常非常慢且占大量cpu资源 这个时候就到es出场了 当然这只是最常用的一个场景
主要看业务需求,一般业务数据还是要存储MySQL。elasticsearch主要用于全文检索、模糊搜索等,主要针对大文本的智能搜索
mysql是关系型数据库----业务原始数据
es是非关系型数据库-----加工之后的数据,用于提高搜索速度
Es是搜索引擎,可以把一些处理浩的数据放Es中,Es可以处理BP级别以上的数据量并且延迟极低,Es主要是解决高并发防止访问量过大导致MySQL崩溃,如有帮助请采纳
mysql 是关系型数据库,es 主要解决 关系型数据库 like查询慢的问题
mysql是关系型数据库,es为非关系型数据库,mysql通常做重要数据的存储,es最重要的是倒排索引,通常用在海量数据和需要分词(比如模糊查询)等场景
es和MySQL的话,各有好处,MySQL可以保存一些敏感数据,有事务的安全性,es就是用来搜索数据的比较快
MySQL:关系型数据库,主要面向OLTP,支持事务,支持二级索引,支持sql,支持主从、Group Replication架构模型
ES:一款分布式的全文检索框架,底层基于Lucene实现,天然分布式,p2p架构,不支持事务,采用倒排索引提供全文检索