Elasticsearch和传统数据库之间的比较!!!!和mysql同步Elasticsearch方案
Elasticsearch和传统数据库(MySQL)的类比
1.Elasticsearch
ElasticSearch是一款分布式全文检索框架,底层基于Lucene实现。ElasticSearch 使用 JSON 格式存储数据,属于文档存储.
1:遍历方式
- ES有分片的概念,一个大的索引会被分成多个分片来进行存储数据,使用分布式的架构对分片进行并行搜索(基于倒排)
- 传统数据库的遍历,属于正向全表扫描
2: 索引
- ES采用倒排索引,通过把文档字段分词,生成一个term index, term dictionary, posting list建立倒排索引
- mysql通过B+树建立正排索引,通过索引正向查询
3:事务
- ES没有事务,数据修改,删除不能回滚
- mysql支持事物
4:数据量
- 在面对大数据量简单计算的时候es的效率原高于mysql等传统数据库,但是在定位某一个唯一值(如用会员id找会员)时并不需要es
- 但在大数据的相似计算与查找或简单计算时,es的分布式并行计算有绝对的优势
5:协议
- ES支持http
- mysql支持jdbc
6.收费
- ES免费,完全开源;
- 传统数据库部分免费
MySQL同步Elasticsearch方案
这位大佬讲的很全:https://blog.csdn.net/laoyang360/article/details/88600799