使用ES存储大数据和创建即时搜索的最佳方法是什么?

时间:2016-09-21 08:59:47

标签: hadoop elasticsearch bigdata database

我正在开发一个每天存储数百万个数据的项目。所以我想将它存储在压缩结构(只有可搜索的字段并删除不需要的字段)中,以便弹性搜索即时文本搜索。但是我希望存储未压缩的数据以供以后的流程和分析使用。它应该有更高的写入速度和更便宜的存储数十亿的数据。

1 个答案:

答案 0 :(得分:0)

Elasticsearch允许您根据索引确定存储位置(通过shard allocation)以及您希望使用哪种压缩(通过index codec)。

因此,在无限的资源和时间的情况下,您可以设计一个流程,将文档索引到每日索引中,例如,在5节点群集上,您将最后7天保留在3台服务器上(让我们称之为快速服务器)以及比这更早的任何东西都将被保存在2个较慢的服务器上,这样,过去7天范围内的查询运行速度会更快,而非时间敏感的作业可以运行在存储在速度较慢的较旧索引上服务器

快速服务器可以拥有更强的计算能力和更快的SSD磁盘,而速度较慢的服务器则拥有正常的旋转磁盘。

关于压缩,Elasticsearch压缩适用于_source数据,因此压缩不应影响聚合速度,同样重要的是要注意,如果更改索引压缩,它将仅适用于新的/更新的文档,并且不会追溯到文档上运行您过去曾编入索引的。