Elasticsearch和Mysql的区别
目录
Elasticsearch和Mysql的区别
名词对比:
Elasticsearch: index(索引)–>type(类型)–>document(文档)–>field(字段)
mysql: database(数据库)–>table(表)–>row(行)–>line(列)
区别:
1:遍历方式
Elasticsearch有分片的概念,一个大的索引会被分成多个分片来进行存储数据,使用分布式的架构对分片进行并行搜索(基于倒排)
传统数据库的遍历,属于正向全表扫描
2: 索引
Elasticsearch采用倒排索引,通过把文档字段分词,生成一个term index, term dictionary, posting list建立倒排索引
mysql通过B+树建立正排索引,通过索引正向查询
3:事物
Elasticsearch没有事物,数据修改,删除不能回滚
mysql支持事物
4:数据量
在面对大数据量简单计算的时候Elasticsearch的效率原高于mysql等传统数据库,但是在定位某一个唯一值(如用会员id找会员)时并不需要es
但在大数据的相似计算与查找或简单计算时,Elasticsearch的分布式并行计算有绝对的优势
5:协议
Elasticsearch支持http
mysql支持jdbc
推荐下好用的文件转换工具: