参考文章: Elasticsearch、MongoDB和Hadoop比较
--------------------------------------------------------------------------------------------------
ElasticSearch:
-
分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
-
实时分析的分布式搜索引擎。
-
可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。
使用案例:
-
维基百科使用Elasticsearch来进行全文搜做并高亮显示关键词,以及提供search-as-you-type、did-you-mean等搜索建议功能。
-
英国卫报使用Elasticsearch来处理访客日志,以便能将公众对不同文章的反应实时地反馈给各位编辑。
-
StackOverflow将全文搜索与地理位置和相关信息进行结合,以提供more-like-this相关问题的展现。
-
GitHub使用Elasticsearch来检索超过1300亿行代码。
-
每天,Goldman Sachs使用它来处理5TB数据的索引,还有很多投行使用它来分析股票市场的变动。
但是Elasticsearch并不只是面向大型企业的,它还帮助了很多类似DataDog以及Klout的创业公司进行了功能的扩展。
--------------------------------------------------------------------------------------------------
Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。
它可以用于全文搜索,结构化搜索以及分析,当然也可以将这三者进行组合。
Elasticsearch:全文搜索引擎,适合存储text文档;
Elasticsearch是一个分布式text检索引擎;
ES 是full text search engine;
Elasticsearch不是一个合适的数据库引擎,对复杂的查询和聚合并不是很强;
目前Elasticsearch已经增加了aggregation的功能;
Elasticsearch建立在Lucene之上并且支持极其快速的查询和丰富的查询语法;
如果你有数百万的文档需要通过关键词进行定位时,Elasticsearch肯定是最佳选择;
如果文档是JSON的,可以把Elasticsearch当作一种轻量级的“NoSQL数据库”;
如果你在寻找一个对应于一个关键词查询的少量的文档集合,并且要支持在这些结果中分面的导航,那么Elasticsearch肯定是最好的选择。如果你需要进行更加复杂的计算,对数据执行服务端的脚本,轻松地运行MapReduce job,那么MongoDB或者Hadoop就进入待选项中
--------------------------------------------------------------------------------
Hbase + Hadoop
海量数据、大计算量,适合持久存数据,适合做深度的数据分析
如果题主要做实时、动态的计数,则推荐ES
如果题主要跑些月报表什么的,则推荐Hbase
--------------------------------------------------------------------------------
es适合搜索和分析小规模数据,速度快过hbase
hbase稳定可靠,而且可以通过mr spark等大批量拉取数据