Magento:为什么使用EAV而不是MongoDB?

时间:2017-02-27 13:07:31

标签: mongodb magento entity-attribute-value

我正在学习magento,我刚看了EAV。如果我理解正确,它就像是在SQL数据库上模拟noSQL数据库。 所以这种方式,例如,像铅笔这样的产品在描述中可能与计算机或球有不同的属性。

但我在书中读到了这个系统:

  

所有这些灵活性和权力都不是免费的,而且要付出代价;实施EAV模型导致我们的实体数据分布在大量表格上,例如,只有产品模型分布在大约40个不同的表格上。

     

[...]

     

EAV的另一个主要缺点是在检索大量EAV对象时会降低性能,并且会增加数据库查询的复杂性。由于数据更加分散(存储在更多表中),因此选择单个记录涉及多个连接。

我是全新的,所以也许我会失去一些东西,但我的问题是:

为什么要使用这种复杂的方式而不是使用基于文档的数据库作为mongoDB?

0 个答案:

没有答案