zl程序教程

您现在的位置是:首页 >  工具

当前栏目

ES (ElasticSearch) 简易解读(一)为什么用它

ESelasticsearch 为什么 解读 简易
2023-09-11 14:19:28 时间

首先和数据库做对比

RDBSES
数据库(database)索引(index)
表结构(schema)类型(type)
行(row)文档(document))
列(column)字段(field)
索引反向索引
 DB -> Databases -> Tables -> Rows -> Columns
Elasticsearch -> Indices -> Types -> Documents -> Fields

ES 并不是用来替代数据库的,而是以实时搜索,稳定、可靠、快速为主。
ES是负载均衡的,易于扩展
ES是分布式的,横向扩展非常灵活

ES的价值

ES(ElasticSearch)是一款分布式全文检索框架,要计算出2.38亿会员中有多少80后的已婚的上海男士。传统数据库执行时间:5个小时左右,ES执行时间:1分钟
可否完全使用ElasticSearch代替数据库存储?

在数据存储这块,其他可选(且更流行)的方案是RMDB和NoSQL。ElasticSearch一般只是辅助搜索的

ES是分布式搜索,传统数据库遍历式搜索


ES支持分片和复制,从而方便水平分割和扩展,复制保证了es的高可用与高吞吐。
在ES中,当你创建一个索引(数据库)的时候,你可以指定你想要的分片的数量。每个分片本身也是一个功能完善并且独立的索引(数据库),索引可以被放置到集群中的任何节点上。分片优点:

  • 允许你水平分割/扩展你的内容容量
  • 允许你在分片之上进行分布式的、并行的操作,进而提高性能/吞吐量
  • 分片的分布,它的文档怎样聚合回搜索请求,完全由Elasticsearch管理

优点总结

高可用:容错机制,自动发现新的或失败的节点,重组和重新平衡数据
速度快、易扩展、弹性、灵活、操作简单、多语言客户端、X-Pack、hadoop/spark强强联手、开箱即用。