我有一个简单的问题:
我创建随机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机器上是否合理? 为什么差距如此之大?
答案 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!