这样的系统,数据库如何设计存储方案和优化存储?业务要求大致是这样的1、面向2000多家企业上报信息的数据库,每家企业估计每天的数据量在(1000条记录*1k)左右,也可能会更多(每个表的字段约 <20);每家企业的数据基数平均大约是:(2500条*1k);这些信息添加到数据库的模式有多种,有被动(客户端上报)和主动(服务器端抓取客户端数据)两种方式,在主动方式下,数据是同时抓取的,被动方式下,由客户自己上传;传送频度为每天一次。
2、数据分布在不同种类的表中,也可以归并在同一表中,视具体情况设计而定(具体情况就是根据现有的数据增长量、用户数、传输效率、查询效率等综合考量);
3、数据库操作,主要是数据传输(从不同地区得到数据),和对整个数据的综合查询和统计。
4、数据库大概会对3-5年内的历史数据进行备份和导出,以作为历史记录保存,那么用什么样的策略进行备份导出比较合理,无须做数据仓库。
5、系统整体的业务逻辑不算复杂,问题集中在技术方案选型、系统性能、数据传输效率、准确性。
6、目前考虑打算做在数据库用Oracle,数据库服务器前端放前置机,在前置机放消息中间件,接受数据后,再集中发送到后端的数据库服务器。现在想请问各位Oracle DBA或者Oracle方面的专家帮忙分析一下:
1、如果按上面的需求,数据库设计上要特别注意些什么?为什么;
2、如何去考虑一个好的数据库存储方案,尽量减少I/O操作?
3、是否要分布式,是否要集群,本人真的一知半解。为什么?
4、如何存储优化?
5、对于上面的第6条业务方案,是否合理可行。可行的话,有没有具体一点的建设方案或者意见呢?---------------------------------------------------------------------------------------------谢谢!!

解决方案 »

  1.   

    这明显是软件设计的问题,DBA不一定能解决问题
      

  2.   


    以前没接触过类似这方面需求,开始有些茫然。
    后来问了论坛上的人和找了些相关资料稍微有些方向,初步打算这样做:--------------
    1、数据库选择oracle
    2、平台:Java平台+weblogic+消息中间件(打算用金蝶的产品);开发工具:eclipse;框架:SSH或者struts\spring\ibatis;
    3、服务器:还是打算用一般服务器+windows操作系统,虽然有些朋友建议上小型机和Unix操作系统,但我们初步没考虑;
    4、其中部分主要逻辑结构:客户端通过消息中间件客户端传送数据到几台前置机上,再通过前置机上的消息中间件将数据转发到后端数据库服务器。其他就是应用服务器了。具体分布式和集群怎么做,要不要做,十分不清楚。
    5、个人感觉业务逻辑并不十分复杂,关键还是在数据传输、处理、效率以及可靠性和稳定性上面,所以觉得数据库的设计、分布式处理和集群以及相对应的硬件配置显得相对重要,但又特别没谱,所以想问问关于数据库整体设计上需要考量的地方。
    请不吝赐教!
    谢谢!