如果我有1T这样的文件,我想每次查询整个文件。
只有 一个大索引(shard = 100) 或 多个小索引(shard = 100 / index_num)的pro / con是什么 ? 无论如何我会使用100个分片,但是我应该拆分成较小的索引以便分发聚合或其他重要的请求吗?
答案 0 :(得分:2)
这里有两个你应该理解的概念 -
通过分片,您可以将搜索和聚合等所有繁重操作分发到各种计算机。如果您确定以后不会有新文档,并且如果您有1T文档并说100台机器,那么最好的方法是创建一个包含100个分片的索引,然后将数据编入索引。
理想情况下,每台机器的一个分片是最好的方法。
回答评论
单个分片本身最大程度地使用并发。因此,在同一台机器上使用多个分片是没有意义的。索引是类似文档的集合。在不同的场景中,它基于不同的逻辑分区,以更好地捕获分布式行为。例如:,假设我将免费订阅者的日志数据存储在仅有2个分片的索引中,但我可能会将付费用户的相同数据存储在具有10个分片的单独索引中。这样付费用户的表现要好得多。因此索引可以作为不同的文档集,具有不同的语义含义。
因此,为了回答评论,不同的索引是具有不同语义含义的不同信息集。可以看到类似于SQL中的数据库。因此,我可以将我的银行交易信息存储在一个索引中,将我的杂货购买信息存储在另一个索引中。