一个大数据量平台项目 数据库结构设计问题
目前手头有个平台项目,涉及到至少上百家企业使用,但是各个企业所看到的东西局限于本企业极其下级企业,数据量大约每天在100W左右,不知道这个数据结构该如何设置了??我目前想到三种,请各位老大帮着看看哪种好,以库存入库单为例。
1、所有用共用一个数据库、一张表,表中有一个字段绑定该企业的ID,每次查询或者统计时根据企业ID查询处理
2、每个用户单独的一个表,但是所有表的结构完全一致,只不过表名加企业ID
3、每个客户单独的一个数据库,数据库名用ID区分
以上三种不知道那种可以?或者有其他的设计?
多谢 --------------------编程问答-------------------- 数据库分区
SQL2008 配置群集
使用历史数据库,定期作业将过时数据搬走 --------------------编程问答-------------------- 都有利有弊,楼主还是自己权衡吧 --------------------编程问答-------------------- 方案1可行.
因为维护上百张不同意义的表是稍微有一丁点儿恐怖的事情.不管你的SQL语句写在哪... 都需要有上百个不同的SQL语句...
但是方案1需要改良.
建议用 日/周/月 表,分离历史数据和当前频繁使用数据 --------------------编程问答-------------------- 1.数据库服务器配置多cpu.
2.数据库分区.
3.分离历史数据库和实时数据库。
4.其它的比如说创建索引之类的就不说了。 --------------------编程问答-------------------- 有这么多企业用?什么东东哦 --------------------编程问答-------------------- 还是推荐使用数据库分区来处理,虽说有稍有复杂但明显好于其它方案.
如果为每个用户创建一张表或数据库,那么所有的数据库脚本大都需要以拼SQL来写,维护起来很是费劲. --------------------编程问答-------------------- 按企业客户建数据库最好了,这样可以方便不同客户访问连接不同的数据库,和别人客户没影响。 --------------------编程问答--------------------
上百家企业用一个库?速度会不会很慢啊
而且企业直接会不会有些数据冲突之类的吧
同意7楼看法,每个企业建一个库,查询也方便 --------------------编程问答-------------------- 有没有做过这方面的 大侠 发表点建议?? --------------------编程问答-------------------- 如果我建立N个数据库的话,假如我要修改一个字段或者在某个表加个字段或者升级,那岂不是每个都要升级????
补充:.NET技术 , C#