【发布时间】:2017-01-29 10:21:52
【问题描述】:
我正在从事一个每天将存储数百万数据的项目。所以我想将它存储在压缩结构中(仅可搜索字段并删除不需要的字段)以进行即时文本搜索的弹性搜索。但我希望存储未压缩的数据以供以后处理和分析。它应该有更快的写入速度和更便宜的存储数十亿数据。
【问题讨论】:
标签: hadoop elasticsearch bigdata database
我正在从事一个每天将存储数百万数据的项目。所以我想将它存储在压缩结构中(仅可搜索字段并删除不需要的字段)以进行即时文本搜索的弹性搜索。但我希望存储未压缩的数据以供以后处理和分析。它应该有更快的写入速度和更便宜的存储数十亿数据。
【问题讨论】:
标签: hadoop elasticsearch bigdata database
Elasticsearch 允许您决定每个索引的存储位置(通过shard allocation)以及您希望使用哪种压缩方式(通过index codec)。
因此,有了无限的资源和时间,您可以设计一个流程,将文档索引到每日索引中,例如,在一个 5 节点集群上,您将最后 7 天的数据保存在 3 台服务器上(我们称这些服务器为快速服务器)并且任何比这更早的内容都将保留在 2 个较慢的服务器上,这样过去 7 天的查询将运行得更快,而对时间不敏感的作业可以在存储在较慢服务器上的旧索引上运行。
较快的服务器可能具有更强的计算能力和更快的 SSD 磁盘,而较慢的服务器将具有正常的旋转磁盘。
关于压缩,Elasticsearch 压缩适用于 _source 数据,因此压缩不应该影响聚合速度,还需要注意的是,如果您更改索引压缩,它将仅适用于新/更新的文档,并且不会在文档上追溯运行您过去已编入索引。
【讨论】: