在性能(和分类)方面,分层数据与相关数据的优缺点是什么?

San*_*ago 6 tags performance database-design hierarchy

这与这个问题有关.这让我想到了这本书.相反,它是两者的孩子[Agriculture],并[Other]在树木[Books > Catalogs > Agriculture][Business & Industrial > Agriculture & Forestry > Other]分别,它可能只是站在自己有那些水平的标签,来代替.

在eBay等网站,将上市的所有记录的性能,成本,标签 [AgricultureCatalog]大量outweigth那些在上市的所有记录的[Books > Catalogs > Agriculture] 类别,所提供的数据正确归?

我意识到这可能是一个愚蠢的问题(不,我不认为我正在编写下一个eBay),但我不能动摇这种好奇心,更糟糕的是; 的诱惑 ; 所以我现在听起来很愚蠢,并且比以后做一些愚蠢或毫无意义的事情更能把握我的误解.

dkr*_*etz 10

当关系模型首次出现时,主导数据库范式是分层的; 然后(仍然如此)层次结构更有效,因为从本质上讲,您可以从部分预加入的查询开始.

但仅基于一个静态层次结构.当您想要将数据视图从另一个根维度弯曲时,会出现很大的困难.(关键数据库是否能够在实际使用中足够高效,这是一个备受争议的问题;很快就通过努力应用摩尔定律得以解决.)

想想拥有包含产品的订单的客户; 层次结构.不可避免地,您还希望能够考虑在客户订单中找到的产品; 整个其他层次结构.以及从客户处生成订单的区域内的销售人员; 或者让客户下订单.

关系数据库使您能够以大致相同的效率随意重建层次结构; 仅以嵌入多个正交层次结构为代价的其他数据库格式的优点; 在这种情况下,改变,添加或删除数据的成本变得天文数字.