一个中型的系统,大家帮我看看我的数据库选择方案是不是可以,先谢了
VC6.0 Windows操作系统 ACCESS数据库文件, Oracle数据库
整个系统有一个中央数据库服务器系统以及多个客户端,在每个客户端又有自己的数据库系统。每个客户端
自己的数据库系统中要保留20年的数据,最主要的一个资料表到20年的时候数据量会达到将近20万条。也就
是每年将近1万条记录的样子。另外还有大概30个表用来存储常量数据的(暂时也可以称其为维表或者代码表
)。这些表的数据量都不会大,只有几十条数据。
在中央数据库系统中,要存储多个客户端的数据(可能会达到20多个),也就是说,每个客户端的数据都还
需要存储在这个中央数据库系统中(当然维表不需要)。
-------我的设计方案:
1。在客户端暂时采用ACCESS,过两年就是数据量达到2万条记录的样子的时候,
再给其升级到Oracle数据库,Oracle正版数据库是其现有的资源,不需要计算到成本中。因为与ACCESS配套
数据库操作方式中DAO的速度是最快的,所以在客户端暂时采用将会是DAO + ACCESS。不知此方案可行否?
2。中央数据库系统当然是采用Oracle,给每个客户端建一张表,也就是说,将会有20多个最后会达到20万条
记录的表。当然,这个对Oracle来说是Very easy的。我只想讨论讨论这种分表的方式。
3。从客户端要能到服务器端查询。客户端可以安装Oracle的客户端。我想查询的时候是直接通过Oracle的
客户端直接到Oracle数据库查询,这样有一个麻烦,那就是需要操作人员会配置,使用Oracle的客户端软件。
而且报表而比较难生成。基本上这种方案是不可行的,不知是否可以改进?
第二种查询方案:在客户端的我的软件中连接到Oracle数据库(不知道是否在我自己的软件中也要通过
连接到Oracle的数据库客户端来连接到服务器端的数据库)。这样的话,报表问题也就容易解决,个人感觉,
这种查询方案是最好的选择,请各位能具体帮我出点主意。比如说采用什么样的数据库连接方案,OLE DB我
不熟悉,所以采用ADO作为首选。
第三种查询方案:在服务器端也写一个程序,让客户端和服务器端TCP/IP通信,在服务器端查询,将
查询的结果再通信发送到客户端。这样的话确实比较不错,不过需要另外写一个服务器端程序,还要写一个
通信模块。无端的加大了工作量。
请帮忙指点指点