一个大型应用系统的数据库设计方案,请指点.
关于数据库的设计问题.
有一个数据库要设计,我把一些具体情况介绍一下.希望能得到一些方向性的建议和知道.先谢谢了.
名词:
要开发数据库应用系统的分公司以下简称 D公司.
我先简单的介绍一下情况:
服务器操作系统:
Windows 2003 中文版,打了所有的补丁.
服务器硬件条件:
1台联想的R630.
http://appserver.lenovo.com/Product/Product_Server/Product_detail.asp?productid=2925
我们的具体配置是:
CPU: 2个,Intel Xeon MP2.0GHz CPU
内存:4G DDR266 ECC
硬盘:260G Scsi 没有做Raid
一个磁带机.
网卡: 1个Intel 千兆,1个Intel 百兆
客户端操作系统:
Windows 2000 sp4 中文版 或者 Windows xp sp2 但以WINDOWS2000居多
客户端的硬件条件:
条件不一样,但基本都是P4级别的机器,都是256M的内存.
网络环境:
总公司和各分公司在不同省区.
总公司内部和各分公司以及各分公司下属的子公司内部都是百兆局域网
总公司和各分公司通过2M数字电路连接,各分公司之间不连接,
各分公司和子公司通过2M数字电路连接,子公司只能连接到各分公司,然后通过各分公司的路由器连接到总公司
各分公司下属的子公司之间也通过2M数字电路连接.
还有一些营业网点通过512KADSL连接到各分公司(用加密卡连接到各分公司)
数据库:
采用Oracle9i 版本9.2.0 没有打补丁....
未来:
希望将服务器的OS系统迁移到LINUX,数据库升级到Oracle10G.(不知道对此有何建议?)
业务情况:
目前要设计的数据库是为了解决其中一个分公司的自身管理问题.
我希望该系统能满足总公司的业务需求,从而
让这个系统能有更大的应用范围,
目前总公司的业务应用情况:
各分公司及其分公司下属的子公司,通过2M DDN专线连接着.数据库放在总公司(RS6000,DB2的数据库)
采用的是数据大集中的方式,采用的是C/S架构.
各分公司的客户端基本的是录入,查询相对少一些.
使用客户端的人数大概在1500人左右.基本上是不停的录入和查询.使用时间非常集中.
D公司的业务应用情况:
客户端基本上是查询多.报表多.录入的相对少,
但涉及到大量的图片,目前想把图片存放在数据库中,
未来希望能变成总公司使用的系统,因此会有很多人同时录入.查询,希望在设计数据库的时候能够给予充分的考虑.
D公司客户端软件的情况
该客户端软件将使用.Net开发,基本确定C/S架构,如果未来需要可以方便的迁移到B/S的架构.
客户端用Oracle10g提供的< instantclient-basic-win32-10.1.0.2 >来连接数据库.
问题:
1.数据库将要设计出两套数据库(正式库和临时库),除了部分数据不同,其它的都一样,在需要切换的时候能及时切换到另外
一个数据库,同时,录入到临时库的数据能够在某个时间在导入到正式数据库.
希望能有数据库及时切换的好建议?(在服务器只有一台的情况下,如果有两台那我知道该咋弄.呵呵)
2.由于涉及到大量图片的存储和读取,图片很多.因为是用了C/S模式,所以把图片放在服务器上不太好办.
不知道有什么好建议?
3.在目前的情况下,Oracle的表空间设计以及表的设计有什么要特别注意的么?
4.为了提高运行的效率,我想把所有的查询和插入,删除,更新操作都用存储过程来处理.不知道这样效果
会不会好?还是说查询次数多的语句用存储过程?其它的可以用sql?
5.Oracle的安装的时候,那个选择连接方式的时候?一个是专有连接,还有一个是共享连接..
安装的时候Oracle说共享的连接适合多人使用.我原来用的是专有的连接.
后来用了这个共享的连接,发现速度慢了很多.不知道该怎么理解这个问题
6.Oracle的优化参数有没有什么好的设置比例推荐一个?.目前内存是4G,以后肯定会升级到6G.相应的
设置能否说一个?
7.其它的暂时没有想到的希望能得到提醒和一些指点..谢谢.