学习
------解决方案--------------------前台用struts或Spring MVC, 后台直接使用JDBC,不要使用hibernate(数据量过百万就成为瓶颈了)。
使用resin发布,不要使用tomcat。
数据库使用oracle或DB2都行。记住要请数据库专家设计整个数据库架构(这才是项目的关键所在)。
选择Unix服务器,不要使用windows的。
------解决方案--------------------服务器方面可以搞双机或集群
------解决方案--------------------继续补充一下: 这里涉及一个总的原则, 是靠自己还是靠产品. 这完全是两个不同的道路, 深刻地决定了你搞出来的东西是什么样. 前者靠的是硬桥硬马, 一切尽在掌握当中, 凭得是一块板砖盖大厦的底气, 但容易陷于事事追求本公司实现一切的牛角尖, 可能会越走越吃力. 后者则前期会体现出一定的快速建设的优势, 但这种优势是被架空的, 是一种头重脚轻根底浅的思维. 后面越走越妖, 机器里面全是第三方, 惟独自己成不了第三方. 所以, 你要搞大茶饭, 要抱有中庸的态度, 核心技术绝不能放在敌人的手里, 皮毛杂碎则先来个快速建模.
大系统, 里面水深着呢, 就凭这每天5G的数据, 压缩就成了大事, 每天应付的企业那么多, 加密又是另外一个重要的问题, 深究下去没完了, 这些都是核心技术.
------解决方案--------------------这样的问题你应该去DBA那边问。
按着你的描述,一个月大约就是6kw的记录,即使放在一个表里面,你的综合查询应该也能支持两个月的查询,如果分表,一年应该可以支撑。当然,sql语句不能太烂,不能用mysql这样级别的数据库。
这个数据库的性能关键点主要在查询这块,所以选择一个好的存储方案,减少i/o方面的问题是关键,运算量并不大。理论上pc server应该可以支撑,实际上面向1000多个每天1000条记录的企业,你好意思不用小机? :)
应用程序上,就是一个查询系统,真没有什么架构可言。
建议去itpub或者chinaunix问问吧,那里存储方面的专家多一些,csdn一些还在玩hibernate的人只会误导你的。
------解决方案--------------------与整体的技术机构没有太大关系吧,应该属于调研那边的工作吧,这个;
选好服务器,选择好内网传输还是外网传输,考虑传播范围,再有就是使用硬件的选择,如果内网的话选用VPN传输,效率会比外网要好一些;
数据库当然是DB2或oracle;
还有这个表面看着是数据传输,其实多系统的交互,有没有考虑过做系统的中间件平台,然后与那些企业的erp固定格式的接口传输与校验;
还有是打算做同步传输还是异步传输,大数据量的偏差计算有做好固定的预算没,再有数据安全有没有做过具体的方案,服务器选型有没有考虑配置参数的优化;
要考虑的东西多了去,让调研的部门把数据统计好;
如果是你说每个公司都有1白W的数据量.然后又2000家公司进行每天传输数据,丫丫的这个不用集群,等于说废话呢,上亿万的数据硬件做好向上升级的准备;
再有,除了你的那一方处理,那些公司也要做优化;
首先要建2000企业那边加上数据平台,将数据格式统一化,变成统一的格式;
然后,你这边也要建立一个数据平台将统一化的数据平台进行解析;
最后建立一个两个中间转交换平台对数据的安全情以及数据检验,续点再传等等,当然,这是逻辑上一层,当作中间件就OK了;
上面是传输的解决方法,有N多产品可以解决;
数据库的优化存储,这玩意找DBA讨论,他会给出你解决几个方案,然后选一个适合的在做适当的优化;
选用开发模式,和IDE工具等等,这就要看用户的要求了,看他们用什么应用服务器,IBM就用WPSHERE的专属IDE,sap的话也有自己的IDE;
如果是多系统之间的交互,那就是多层组件化的设计了,总体分为几层架构,具体架构系统模块分为几层架构,在加上项目管理系统一些控制,大的系统可以分到20层,
这要看具体的需求;
具体技术架构看系统要求了,和综合需求决定,至于说SSH的...拜托...那在系统项目中说他是局部的技术架构都给它面子了.......
------解决方案--------------------消息中间件,的话,貌似以前似乎看过其他项目的需求用的是东方通的什么消息中间件,这样产品话说国内国外的都不少;
顺便补充数据库那边,如果访问频繁的话,就用模拟DNS服务器的思想,高速缓存嘛,人家DNS的服务器一天上亿次和
数据库交流呢,应该有这类缓存产品;
再有就是用分布式缓存memcached,如果数据不是特别快与数据库同步的话,你是异步消息嘛,应该数据同步要求没那么大,那么就自己写hashMap的缓存,用hashMap模拟表,然后几秒钟让hashMap和数据库进行一次更新;
hashMap+memcached,几乎可以完美KO,如果懒得写,还有一些中间件缓存,jboos-缓存等等一系列产品,哈哈
俺也是抛砖引玉,大家互相探讨嘛,架构这东西,都是探讨出来,也没有自己闭门造车能造出来的;
再说思想这个东西,不讨论不创新,藏着藏着就过时了
------解决方案--------------------再有就是用oracle的缓存,它本身的做得相当好,还有内存数据库等等,优化起来,命中率可以在90%以上吧,厄,这是保守估计,不过缺点也很多用起来不太方便,特别是如果业务比较复杂,和其他系统交互的,使用软件和人力资源要加很大的成本.哈;
不过oracle11G有新的功能缓存结果集,具体不是很了解,不过应该可以优化这方面的问题,楼下继续