怎么又是你

关于Index下对于Type数量是否有限制,type数量过多对es性能是否有影响

Elasticsearch | 作者 fjlinhua | 发布于2017年12月09日 | 阅读数:3644

业务系统是一个多租户的系统.一个业务功能下有几千个不同的租户.不同租户数据是完全隔离的.
现在在设计的时候,某个业务功能建立一个index,然后针对租户ID在index下建立type. 这种设计对ES的性能是否有影响. 
相当于一个业务建一个index,在index下不同的租户建立type. 同一个index下,不同type的mapping都是一样的.然后将租户的数据存储在index/type/下. 
我压力测试时发现租户到300多个,es建立一个新的type就要花费30s的时间. 
 
已邀请:

fjlinhua

赞同来自:

我感觉,是不是应用type的field过多影响的.每个type有60个field. 但type上包含的field都是一样的.按我理解,应该是只建立60个field.不知道es内部是怎么处理的.
TIM图片20171211114212.png

mafa1993

赞同来自:

最新版es已经不支持多type了  一个索引只能建立一个type

kennywu76 - Wood

赞同来自:

这个设计很糟糕!  Type仅仅是index里一个特殊的字段,所以当很多字段类型不同的type放在一个索引下面的时候,相当于这个索引是一个包含非常多字段的稀疏宽表。 对于元数据的修改,数据的写入性能、额外的存储空间消耗,查询性能都是极大的损害。
 
 

fjlinhua

赞同来自:

谢谢,设计的方向弄粗哦了,明白了.我看一下Elastic 6的api,那里有解释为什么取消type类型.也了解到设计type的初衷是为了,对象与对象之间的关系考虑.一个index支持多个type,不是像我们这样使用的.

要回复问题请先登录注册