elasticsearch 6

时间:2018-03-26 08:16:21

标签: elasticsearch size storage du

我有一个简单的问题:

我创建随机JSON文件并将它们发送到elasticsearch。 当我在我的centos机器中使用du -h检查文件的大小时,当我检查_stats部分中的统计数据时,我得到了结果之间的主要差异。 例如:

文件号-------- du -h size ------ / _stats

100 --------------- 404 kb ---------- 297 kb

1000 ------------- 4096 kb -------- 1200 kb

3000 ------------- 12 MB ----------- 3.3 MB

现在将弹性内容存储在linux机器上是否合理? 为什么差距如此之大?

1 个答案:

答案 0 :(得分:0)

您提供的信息很少,所以我们不得不猜测很多。

您可能会谈论许多相同结构的JSON,它们代表ElasticSearch中的文档。然后,每个JSON将重复有关该结构的信息。然后,您将在每个JSON e中使用。 G。 { "first_name": <X>, "last_name": <Y>, "phone": <Z> }在ElasticSearch数据库中时,每个 index 都将结构存储一次,即。 e。所有文档共享该结构,因此仅需要存储各种<X><Y><Z>值。

自然,这要小得多。

此外,du为您提供磁盘使用量,通常比数据大小 更多,因为在文件系统中您分配了整个块(主要是为了加快速度),因此总会有一定的开销。在非常糟糕的情况下,很多文件每个都只包含几个字节,每个文件都使用一个完整的块,从而大大降低了磁盘使用量。对于文件系统中具有8192字节块的20字节文件,该因子约为400!