【发布时间】:2011-09-21 14:15:03
【问题描述】:
我在促销产品行业工作。我们出售几乎所有您可以打印、刺绣、雕刻或任何其他定制方法的东西。流行的产品是钢笔、马克杯、衬衫、帽子等。因为我们有如此多的产品种类,存储有关这些产品的信息,包括所有可能的产品选项、装饰选项以及所有相关的额外费用,变得非常复杂。如此之多,以至于尽管许多人都尝试过,但没有人能够以这样一种方式提供行业产品数据,即您可以通过算法将数据转换为电子商务商店,而无需一定程度的数据按摩。将这些信息正确地存储在关系数据库中似乎几乎是不可能的。 我很好奇 MongoDB 或任何其他 NoSQL 选项是否允许我以比 MySQL 等 RDBMS 更好地更好地存储和操作我们的产品信息的方式对信息进行建模。 该公司我工作的年龄已超过 100 年,并且多年来一直在 AS400 上使用 DB2。我需要一些充分的理由来说服他们使用非关系数据库解决方案。
我们行业中使用的一个常见示例产品是 Bic Clic Stic Pen,它有超过 20 种颜色可供选择,每种颜色可用于笔筒和装饰颜色。丝印装饰有更多颜色可供选择。然后,您可以选择要使用的墨水类型的其他选项。包装有多种选择。选择完所有这些后,您就有了加急处理的附加选项。所有这些选项可能有也可能没有额外费用,具体取决于您订购的笔数量或装饰中的颜色数量。定价通常基于数量,因此订购 250 支钢笔比订购 1000 支钢笔的成本更高。同样,订购 1000 支钢笔的额外费用会比订购 250 支钢笔便宜。
【问题讨论】:
-
如果您不知道为什么需要非关系数据库并认为将数据库存储在关系数据库中“几乎不可能”,那么您需要一本 Celko 书,而不是 Mongo DB。非关系型数据库有其用途,但避免学习如何使用关系型数据库并不是其中之一。
标签: mongodb database-design relational-database nosql