`
xlongbuilder
  • 浏览: 41743 次
  • 性别: Icon_minigender_1
  • 来自: 上海->杭州
社区版块
存档分类
最新评论

大数据量数据库配置部署方案思考

阅读更多
业务情况
8个月主要表每张产生了近300万条数据,目前很慢客户反映强烈 ps:如何好用就没我们什么事了。
目前数据库服务器配置 4CPU 8G内存 系统没有服务器端全都是客户端。
还有一台查询服务器,
c/s 结构 数据库 sqlserver2000
每天操作近百笔,用户近百人。
这个系统在设计时没有考虑到这么大的数据量因此没有做什么数据库优化


此问题有以下解决方式:
1、 更换数据库
鉴于MSSqlServer的数据吞吐能力比较低下,因此可采用性能优良的Oracle系列数据库
优点:可以在一定程度上减轻压力。
缺点:价格较高 单CPU 20万左右,且不能彻底解决问题。

2、 集群
可有效的分散数据,减轻单个数据库压力,鉴于MSSqlServer不支持透明集群,可采用数据库分散部署的办法即采用多台服务器部署多个数据库每台数据库包含不同的表。
优点:可靠性伸缩性能好。
缺点:购置服务器费用高昂,需采用跨数据库事务处理性能较差。对系统开发要求较高。

3、 分表
采用将大表分拆成多个小表,采用按时间、类型等方式分拆,使得单次操作数据量控制在可控的范围内。
优点:节省成本。
缺点:系统复杂,对系统开发要求很高。

因为缓存存在很多不确定性不好量化 请大家在不考虑缓存的情况下发表意见。
现在要从c/s结构翻到B/S结构。

大家有什麽思路,应该怎么处理。 说服客户花钱很难,且合同已经签了。
分享到:
评论
66 楼 超级潜水员 2009-01-08  
才三百万的数据量,根本不值一提,LZ找找自身程序的问题吧,别乱怨数据库
65 楼 lilei9963 2009-01-08  
刚300W,数据量也不大啊.
64 楼 LucasLee 2008-12-25  
xlongbuilder 写道
谢谢各位的回复

澄清几点:
1、oracle 是客户长远考虑到结果,以后很可能数据不会这么点了 流量会很大用户也会有很多增加 这是在可预期的几年的考虑

2、我早就讲过oracle 不能解决根本问题,不过可以缓解问题。对开发人员来讲也会轻松些,作为架构及开发人员自由度也会大些。

3、问题已经了解到很清楚了,客户的c/s系统打开个每个界面 都要查询20 几次操作,完成一个业务基本上要上百的操作,不满才怪,查询报表等sql 写的奇垃圾,没有任何索引优化措施 所以主要原因还是该系统设计问题。

4、我们用sqlserver 可以用但是用的好就不轻松了,考虑到目前项目组情况,oracle 确实可以给我省不少力气。说实话站在用户角度长远点考虑 oracle 还是ok的


你看你自己说的,没有任何索引优化措施...我就说了,你同样这样不建索引的话,你就是搞上最高版本的Oracle也白搭!
基本上不客气地说,你们是不会用数据库,所以给你们啥高级数据库也无法缓解你们的问题。
除非有傻瓜化的数据库,能自动考虑如何建索引的(好像还没听说过)。

索引是最基本的,通常也是最有效的优化方式。
什么表分区之类那都是后续招数了。
63 楼 younggun 2008-11-17  
按照这样的服务器,几百万数据一般来说应该是没有什么问题的,先分析一下系统的瓶颈吧
62 楼 atian25 2008-11-17  
8个月主要表每张产生了近300万条数据

这个数据量不算大吧.以前用sybase做项目的时候,都是日分表的,单某个表都日增300w.
61 楼 runthu 2008-07-14  
连接池
索引
查询sql优化
大表分区
加硬件,做集群

如果还不行? 没办法了!300万条数据不多啊,照说。
60 楼 xlongbuilder 2008-07-10  
liuzongan 写道
看看http://dev.csdn.net/author/griefforyou/082b9b29299e4584b78bf6f7ccb57c0b.html


链接打不开
59 楼 xlongbuilder 2008-07-10  
谢谢各位的回复

澄清几点:
1、oracle 是客户长远考虑到结果,以后很可能数据不会这么点了 流量会很大用户也会有很多增加 这是在可预期的几年的考虑

2、我早就讲过oracle 不能解决根本问题,不过可以缓解问题。对开发人员来讲也会轻松些,作为架构及开发人员自由度也会大些。

3、问题已经了解到很清楚了,客户的c/s系统打开个每个界面 都要查询20 几次操作,完成一个业务基本上要上百的操作,不满才怪,查询报表等sql 写的奇垃圾,没有任何索引优化措施 所以主要原因还是该系统设计问题。

4、我们用sqlserver 可以用但是用的好就不轻松了,考虑到目前项目组情况,oracle 确实可以给我省不少力气。说实话站在用户角度长远点考虑 oracle 还是ok的
58 楼 zt371 2008-07-04  
8个月才300w条记录,现在主流的什么数据库都没问题的。
微软也是出来混饭的,这点都不至于搞不定。原来我们用SQL Server,千万级的数据跑的很好。
前面的应用搞不好,什么数据库都是死。没有数据库能直接承受前端压力,测试玩具除外。
57 楼 liuzongan 2008-07-02  
看看http://dev.csdn.net/author/griefforyou/082b9b29299e4584b78bf6f7ccb57c0b.html
56 楼 ironsabre 2008-07-01  
问题都没定位好问题,就开始张罗着换数据库。
这样做对客户很不负责任。
55 楼 jameswxx 2008-07-01  
    有人建议用oracle,好像一用oracle问题就全部解决了,8个月才300万的记录,也没有必要用到oracle的表分区。很多公司用只是把数据库当成一个简单的存放数据的地方,写的sql也不讲究,索引也不好好做,我只想说,如果sqlserver都没用好,用oracle只是徒劳,oracle的索引类型比sqlserver多多了,还有其他很多的优化途径,有更多的特性和细节可以让用户调控,以达到性能进一步优化的目的。
    其实8个月产生300万条记录,这样的数据量不算很大,绝对不会是数据库的问题呢,在确定系统结构合理的情况下,应检查数据库设计是否合理,我说的这个合理并不是说要遵循理论上的范式,而是因地制宜,比如适当的加一些多余的字段,sql的写法是否有比较高的效率,是否用查询分析器反复调试过sql的效率,数据文件的分配是否合理,索引的建立是否合理,数据库的一些全局参数是否合理,只有在确定数据库是瓶颈的情况下,你换成oracle,可能你的系统会进一步的健壮,如果你根本驾驭不了数据库深层的管理,优化策略,换oracle也是没用的。
54 楼 wlei9802 2008-06-30  
sql server没有你们说的那么差吧!
53 楼 ziyuan 2008-06-30  
换os和db就是工作量和成本比较大的做法。
我的建议是
1.读写分离
2.使用中间件
3.使用集群或分布式
52 楼 csrcom 2008-06-30  
不知道楼主对 Amoeba:分布式数据库Proxy解决方案 是否感兴趣?
http://amoeba.sf.net/amoeba.pdf
51 楼 zhuyx808 2008-06-30  
cuiyi.crazy 写道
eastPoint 写道
完全可以考虑使用oracle的表分区功能来完成。

时间证明oracle表分区才是解决问题的关键和根本。

使用纯sql是无法解决该问题的。


SQL Server也有表分区的啊



MSSQL2005以上版本才有真正的表分区,2000以下的就没的了~


MSSQL 确实容易死锁的说

先搞个jwebap来看看问题出在哪里吧,换上连接池试下
50 楼 ccxw1983 2008-06-27  
楼主,去找个专业级的dba瞧瞧吧。我们团队接手的一个项目以前也有性能问题导致不能上线。请了专业的dba和java高手后,一切都ok了。
自己没有能力就花点钱,请达人瞧瞧嘛。省得自己瞎操心。
49 楼 cuiyi.crazy 2008-06-27  
eastPoint 写道
完全可以考虑使用oracle的表分区功能来完成。

时间证明oracle表分区才是解决问题的关键和根本。

使用纯sql是无法解决该问题的。


SQL Server也有表分区的啊
48 楼 dy.f 2008-06-27  
优化SQL是关键,做查询的时候只把要查的字段找出来就OK了,千万不要把所有字段都查出来,然后只用其中一个,这两种SQL语句查询,在数据量大的时候,可以明显感觉出所需时间的差别,建议在以后写SQL语句的时候也考虑到性能问题
47 楼 licco1 2008-06-26  
也不要说楼主了,用了oracle,也可以省心些日子。当然,我觉得数据库不是系统慢的根源,楼上的很多兄弟都已经说了。被骗了,我以为是几kw级别的数据库配置部署方案的探讨呢。

相关推荐

    金融行业MySQL数据库高可用方案的思考.pdf

    "金融行业MySQL数据库高可用方案的思考" MySQL数据库是金融行业中最流行的开源数据库解决方案之一,如何实现高可用性是金融行业的主要关注点。MySQL数据库的高可用性方案可以分为三种:主从复制方案、半同步复制...

    ClickHouse在腾讯音乐敏捷数据分析中的实践和思考.pdf

    ClickHouse是一款高性能的开源列式数据库管理系统,特别适合于在线分析处理(OLAP)场景,尤其在大数据量下的实时分析上有显著优势。 在腾讯音乐的业务环境中,由于在线音乐、直播、K歌等服务的高参与度和强社交性,...

    数据库系统的优化与调优:从理论到实践

    - **Disk**:磁盘是持久存储的主要手段,尽管访问速度较慢,但在大数据量下不可或缺。 #### 二、实践篇 ##### 2.1 MySQL各版本的优化 MySQL作为最受欢迎的关系型数据库之一,其优化对于提高应用程序的整体性能至...

    基于Foreman的Linux自动化管理部署指南.

    1. **服务器重新部署**:解释如何使用Foreman重新部署服务器,包括备份数据、恢复配置等操作。 ##### 3.4. 加入已有的服务器 对于已经存在的服务器,Foreman同样支持将其纳入管理系统中。 1. **加入已有的服务器*...

    数据库技术

    - 建立数据库结构、数据加载、事务和应用程序的编码及测试、系统集成测试与试运行、系统部署等。 5. **运行管理与维护** - 日常维护、系统监控与分析、性能优化与调整、系统升级等。 #### 四、需求分析 **需求...

    446页软件系统通用技术方案及实施方案.docx

    文档的其余部分可能继续深入讨论每个环节的具体细节,如系统设计中的详细技术选型、编码规范、测试策略、部署方案以及后期的维护和升级计划。这些内容共同构成了一个完整的软件开发和实施蓝图,为项目团队提供了清晰...

    基于SpringBoot的失物招领平台源码数据库.doc

    - **部署方案**:选择合适的云服务商进行部署,如阿里云、腾讯云等,同时考虑到数据备份与恢复策略,确保数据安全。 综上所述,基于SpringBoot的失物招领平台不仅在技术选型上考虑了当前最流行的技术栈,还在功能...

    大型项目架构演进过程及思考的点

    - 随着用户量的增长,服务器资源变得紧张,此时将数据服务(如数据库)与应用服务分开部署。 - 分离提高了系统的可用性和可维护性。 3. **引入缓存机制**: - 为了进一步提升性能,采用缓存技术来减少对数据库的...

    邓昳:OpenStack实践与思考

    - **预警规则**:定义预警规则,根据监控数据匹配阈值,支持阀值命中次数配置。 - **报警接口**:支持多种报警方式,如发送邮件、自动负载均衡调整等。 ##### 4.6 计量计费 - **数据采集**:使用Nova-billing组件...

    Java微服务架构在邮政移动互联网应用研发设计中的思考与实践.zip

    4. 分布式数据库和数据一致性:在微服务架构中,每个服务可能有自己的数据库,这就涉及到分布式事务和数据一致性问题。常见的解决方案有两阶段提交(2PC)、补偿事务(Saga)和最终一致性等策略。 5. 持续集成/持续...

    系统架构演进过程.docx

    - **远程缓存适用场景**:当数据量较大或需要在多台服务器之间共享时。 - **分布式缓存适用场景**:支持大规模并发访问和海量数据存储的需求。 - **扩容问题**:分布式缓存扩容时可能会遇到数据迁移和一致性问题...

    国家信息中心云计算平台实践与思考.pdf

    - 工程实验室的云平台配置更为强大,包括核心交换机、接入交换机、防火墙等,拥有更大的计算和存储资源池,提供了数据异地容灾和快照备份功能,增强了安全性。 5. **存在的不足**: - 云平台在网络虚拟化、资源池...

    企业级IT架构分享 云计算架构师成长之路 我们为什么不赞同 OpenStack? 共17页.pdf

    随着数据量的爆炸性增长,如何有效地存储、处理和分析这些数据成为了企业和组织面临的重大挑战之一。 - **大数据**:指那些规模庞大、种类繁多、增长速度极快的数据集合。为了有效利用这些数据,不仅需要高效的存储...

    ES在AdMaster社会化 数据分析系统中的⼤大规模实践-宋兵强

    ### ES在AdMaster社会化数据分析系统中的大规模实践 #### 自我介绍与背景 演讲者宋兵强,来自AdMaster(精硕科技),拥有丰富的百度基础架构部分布式存储组经验,曾参与并负责百度贴吧、文库及移动云到网盘等项目的...

    高性能高并发服务器架构.pdf

    - 数据量处理: eBay通过分区和分片技术有效地处理了巨大的数据量。 - 应用服务器规模: 为了应对高并发访问,eBay部署了大量的应用服务器集群。 - 数据库分布扩展架构: 使用了多种技术手段实现了数据库的分布式...

    高性能高并发服务器架构

    - 启用压缩功能,减少传输数据量。 - 设置静态文件缓存,减轻后端服务器压力。 - **Squid配置**: - 配置缓存大小,根据实际情况调整。 - 设置缓存失效时间,平衡缓存新鲜度与存储空间。 - **Apache配置**: - ...

    金融企业容器建设实践思考

    文件存储适用于小量数据,块存储适合高性能需求(如数据库),对象存储则适合多媒体内容。 3. 多地多中心架构中的网络对接和改造: - 容器平台的应用对外通讯通常通过宿主机IP+端口或域名,这可能会引发与传统系统...

    课设毕设springboot车辆管理系统设计与实现-LW+源码可运行.zip

    SpringBoot作为一个轻量级的框架,简化了Spring应用的初始搭建和配置工作,它集成了大量常用的第三方库,如数据访问、安全、邮件服务等。在这个车辆管理系统中,可能使用了SpringDataJPA进行数据库操作,Spring...

    AIX中国第十五期:反思一体机在企业中的应用

    - **迁移前准备**:在进行数据库迁移之前,需要对源系统进行全面评估,包括但不限于数据量大小、表结构复杂度以及应用程序依赖关系等。 - **迁移工具选择**:根据实际情况选择合适的迁移工具或方案,Oracle提供了...

Global site tag (gtag.js) - Google Analytics