ElasticSearch和MongoDB有何区别?

ElasticSearch在实际应用中,可以看做是一种kv数据库吗?如果纯做kv数据库,那么和MongoDB的优劣势有何区别?显示全部

ElasticSearch在实际应用中,可以看做是一种kv数据库吗?如果纯做kv数据库,那么和MongoDB的优劣势有何区别?

收起
参与7

返回顾黄亮的回答

顾黄亮顾黄亮课题专家组技术总监畅销书作者

准确来说,二者都是nosql,但都不是严格意义上的kv数据库
MongoDB最大的特点是表结构灵活可变,字段类型可以随时修改 。MongoDB不需要定义表结构这个特点给表结构的修改带来了极大的方便,但是也给多表查询、复杂事务等高级操作带来了阻碍。 因此,如果你的数据的逻辑结构非常复杂,经常需要进行复杂的多表查询或者事务操作,那显然还是MySQL这类关系型数据库更合适。 MongoDB很适合那些表结构经常改变,数据的逻辑结构没又没那么复杂不需要多表查询操作,数据量又比较大的应用场景。
再说说ES,ES准确意义说跟是个搜索引擎,不是个数据库。ES的全文搜索特性使它成为构建搜索引擎的利器。除此之外,ES很好的支持了复杂聚合查询这一特点还使得ES非常适合拿来作数据分析使用。 其实,ES还专门做了与自己配套的ELK套装,给你提供从日志收集到数据可视化分析的一条龙服务,绝对是构建高大上数据分析平台的利器。但是,ES的高成本和低写入性能这些缺点也注定了它不适合用在那些数据价值不高、对写入性能有要求、数据量大而成本受限的场景中。

银行 · 2019-09-16
浏览2921

回答者

顾黄亮
技术总监畅销书作者
擅长领域: 云计算数据库系统运维

顾黄亮 最近回答过的问题

回答状态

  • 发布时间:2019-09-16
  • 关注会员:3 人
  • 回答浏览:2921
  • X社区推广