1、记录分类很多,达6级以上(至少6级),每一级分类又有40种(估计,平均起来肯定大于这个数)
2、数据量大(肯定有几百万,估计会更多)
3、应用环境:主要是内部局域网(站点与站点之间以光钎连接,每个站点为小型局域网),少量的拨号上网站点
4、工作时间内同时在线操作人数多,主要是查询和追加
由于该系统只要求达到用户需求,没有限制实现方法,目前我考虑的实现构想:
1、web+软件方式:使用网页的形式进行数据查询,使用辅助软件管理
2、完全采用软件实现
现在很头疼的是速度和稳定性、可靠性
请高手指点,希望能给详细一点的建议!谢谢!
9 个解决方案
#1
对于大量数据的查询,好的数据库应该可以承受,比如Oracle,但并发是一个很大的问题,一方面要从程序角度考虑,另外就要用分布的方式了!
#2
谢谢laoer!!在线等待!!!
#3
几百万的数据问题并不大,你使用SQLServer也一样可以顶住,在16TB数据量下,MSSQLServer和Oracle在单服务器上并没有很大的性能区别.
你使用APP Server和DBServer分离,准备将来的业务拆分(实在不行了,还有改进余地),同时在线人数多..多到什么程度?如果确实受不了,你可以使用Connection Pool来缓冲数据库压力,不然就使用Oracel的DB Cache来分离读业务和写的业务.应该不成问题.
你的系统并不大,不用特别担心.
你使用APP Server和DBServer分离,准备将来的业务拆分(实在不行了,还有改进余地),同时在线人数多..多到什么程度?如果确实受不了,你可以使用Connection Pool来缓冲数据库压力,不然就使用Oracel的DB Cache来分离读业务和写的业务.应该不成问题.
你的系统并不大,不用特别担心.
#4
谢谢zhf_karen(zhf),我主要怕速度令人难受,我见过他们公司的一个工资程序,算一下工资要27分钟..我晕!!
#5
:)那在大多数情况下是数据库设计问题和程序问题.而不是数据量上的问题.
这样的讨论并不能解决很多问题,如果你担心,可以搭个环境,如果实验不能满足要求,再根据相关技术数据进行优化,在这里我只能给你一些概念级上的建议.
这样的讨论并不能解决很多问题,如果你担心,可以搭个环境,如果实验不能满足要求,再根据相关技术数据进行优化,在这里我只能给你一些概念级上的建议.
#6
呵呵..这我知道,其实我最怕的就是这种建议:),我现在想要一个开发方向,因为我了解的不是很多,刚刚大学毕业,一直都是自己一个人在搞软件,接触的东西不是特别多,但又想提供最棒的程序给客户!所以想知道用什么方法实现比较好?
#7
OK,我们简单讨论一下吧.你使用Web+Appserver+DBServer是正确的.因为在多访问处理环境下,这样的结构是合理的.当然如果业务性操作特别地频繁,比如我们的系统在需要应付每年70亿查询的情况下,还要为外部提供WebServices的功能,在单一服务器上就需要额外的考虑了.
考虑你的系统,你的系统是什么操作多?添加操作和读操作?那么是否有必要采用DBCache,那样可以把系统的读操作独立出来,写操作在主数据库上,这样的效率一般可以提高至少3倍左右.可以尝试.当然我认为你的系统并不一定要做这样的部署.
如果你想分布式做得好一些,可以采用WebService来跨平台不同的平台的交互,或者采用EJB来部署.不过我觉得你重点需要解决的是数据库设计问题和编SQL语句的规范问题.如果这块解决了,再进行其他的性能调整好了
考虑你的系统,你的系统是什么操作多?添加操作和读操作?那么是否有必要采用DBCache,那样可以把系统的读操作独立出来,写操作在主数据库上,这样的效率一般可以提高至少3倍左右.可以尝试.当然我认为你的系统并不一定要做这样的部署.
如果你想分布式做得好一些,可以采用WebService来跨平台不同的平台的交互,或者采用EJB来部署.不过我觉得你重点需要解决的是数据库设计问题和编SQL语句的规范问题.如果这块解决了,再进行其他的性能调整好了
#8
不要盗版。
#9
非常感谢zhf_karen(zhf)的帮助 。这个系统操作最多的是查询和编辑修改,追加一般是成批追加,考虑到录入效率,使用软件来完成。删除操作不多,数据库设计、命名规范、系统分析都已经完成。晚上再来结贴给分!我的QQ:266010,白天都隐身在线,希望有时间再向你请教!
#1
对于大量数据的查询,好的数据库应该可以承受,比如Oracle,但并发是一个很大的问题,一方面要从程序角度考虑,另外就要用分布的方式了!
#2
谢谢laoer!!在线等待!!!
#3
几百万的数据问题并不大,你使用SQLServer也一样可以顶住,在16TB数据量下,MSSQLServer和Oracle在单服务器上并没有很大的性能区别.
你使用APP Server和DBServer分离,准备将来的业务拆分(实在不行了,还有改进余地),同时在线人数多..多到什么程度?如果确实受不了,你可以使用Connection Pool来缓冲数据库压力,不然就使用Oracel的DB Cache来分离读业务和写的业务.应该不成问题.
你的系统并不大,不用特别担心.
你使用APP Server和DBServer分离,准备将来的业务拆分(实在不行了,还有改进余地),同时在线人数多..多到什么程度?如果确实受不了,你可以使用Connection Pool来缓冲数据库压力,不然就使用Oracel的DB Cache来分离读业务和写的业务.应该不成问题.
你的系统并不大,不用特别担心.
#4
谢谢zhf_karen(zhf),我主要怕速度令人难受,我见过他们公司的一个工资程序,算一下工资要27分钟..我晕!!
#5
:)那在大多数情况下是数据库设计问题和程序问题.而不是数据量上的问题.
这样的讨论并不能解决很多问题,如果你担心,可以搭个环境,如果实验不能满足要求,再根据相关技术数据进行优化,在这里我只能给你一些概念级上的建议.
这样的讨论并不能解决很多问题,如果你担心,可以搭个环境,如果实验不能满足要求,再根据相关技术数据进行优化,在这里我只能给你一些概念级上的建议.
#6
呵呵..这我知道,其实我最怕的就是这种建议:),我现在想要一个开发方向,因为我了解的不是很多,刚刚大学毕业,一直都是自己一个人在搞软件,接触的东西不是特别多,但又想提供最棒的程序给客户!所以想知道用什么方法实现比较好?
#7
OK,我们简单讨论一下吧.你使用Web+Appserver+DBServer是正确的.因为在多访问处理环境下,这样的结构是合理的.当然如果业务性操作特别地频繁,比如我们的系统在需要应付每年70亿查询的情况下,还要为外部提供WebServices的功能,在单一服务器上就需要额外的考虑了.
考虑你的系统,你的系统是什么操作多?添加操作和读操作?那么是否有必要采用DBCache,那样可以把系统的读操作独立出来,写操作在主数据库上,这样的效率一般可以提高至少3倍左右.可以尝试.当然我认为你的系统并不一定要做这样的部署.
如果你想分布式做得好一些,可以采用WebService来跨平台不同的平台的交互,或者采用EJB来部署.不过我觉得你重点需要解决的是数据库设计问题和编SQL语句的规范问题.如果这块解决了,再进行其他的性能调整好了
考虑你的系统,你的系统是什么操作多?添加操作和读操作?那么是否有必要采用DBCache,那样可以把系统的读操作独立出来,写操作在主数据库上,这样的效率一般可以提高至少3倍左右.可以尝试.当然我认为你的系统并不一定要做这样的部署.
如果你想分布式做得好一些,可以采用WebService来跨平台不同的平台的交互,或者采用EJB来部署.不过我觉得你重点需要解决的是数据库设计问题和编SQL语句的规范问题.如果这块解决了,再进行其他的性能调整好了
#8
不要盗版。
#9
非常感谢zhf_karen(zhf)的帮助 。这个系统操作最多的是查询和编辑修改,追加一般是成批追加,考虑到录入效率,使用软件来完成。删除操作不多,数据库设计、命名规范、系统分析都已经完成。晚上再来结贴给分!我的QQ:266010,白天都隐身在线,希望有时间再向你请教!