问题是:
我们应该为每个垂直领域配备一个数据库,还是应该为所有产品配备一个数据库?网站将包含几个出售广告。
A)每个垂直方向1db的示例意味着,当您查看这些页面时:http://www.site.com/cars http://www.site.com/boats
/cars从字面上连接到一个数据库,比方说"db_cars“,这个数据库只有汽车数据,没有其他数据。/boats从字面上连接到一个数据库,比方说"db_boats“,这个数据库只有船数据,没有其他数据。
这两个数据库具有相同的结构、表名"item“、"seller”等
或
B) 1db表示所有内容示例/cars连接到"db_everything“并根据链接到items表的表过滤汽车,因此item_type=" cars”/boats连接到"db_everything“并基于链接到items表的表过滤汽车,因此item_type=”船“
那么你会选A还是B?这两种方法都有什么优缺点吗?它是MySQL、Oracle还是Postgres有关系吗?
发布于 2012-07-24 05:31:34
这是我的两点意见:
我会对不同的应用程序使用不同的数据库,而不是在一个应用程序中使用不同种类的数据。
你想在同一个应用程序中显示船只和汽车吗?同一战线?您是否曾经执行过同时返回汽车和船的SQL查询?
或者你基本上把船和汽车当作完全不同的网站?如果它们是完全独立的,并且可以单独支持,并且可以单独修改应用程序,那么使用单独的数据库是有意义的。
发布于 2012-07-24 05:36:13
浮现在脑海中的一个考虑因素是站点代码的可重用性。在数百个类别中控制单独的数据库用户名:密码组合听起来很烦人。
在性能方面,我认为分离变得无关紧要,除非您的独立数据库位于不同的机器上。
也取决于你的使用。
从长远来看,将它们保存在一个数据库中可能会给你提供更多的灵活性和机会来生成趋势数据或交叉链接类别。
但是,如果你正在制造一个引擎来销售给特定行业的其他公司,那么每个垂直行业1分贝是有意义的。
我自己的倾向是情况B,除非特定的需要告诉我另一种情况。
发布于 2012-07-24 05:38:51
只要数据库在同一服务器上的同一用户下,您仍然可以执行连接等操作。但是只有当你的站点的一个部分需要30个以上的表格时,我才会推荐这个方法。当您必须直接在数据库中工作时,它使管理变得容易。
但是如果你的网站不需要这样的复杂程度,我会建议你不要这么做,这不值得麻烦。
https://stackoverflow.com/questions/11620749
复制相似问题