教你如何升级SQL Server数据库系统
作者:Tim Chapman 发布时间:2009-01-19 14:42:00
当数据库服务器变得十分繁忙导致性能下降时,你会怎么办?购买更多的硬件升级你的服务器,还是重新考虑数据库服务器设计使得数据库平台具备良好的可升级性呢?
如果你在一个相当大的商店工作过,你很可能偶尔遇到过这些问题。有时答案是简单地查看一下当前的应用以及改进一些设计来提高性能。
本文我们对扩大还是减小做一个比较。下周,我将为大家介绍减小数据库应用的各种不同方法。在这个系列的第三部分,我将对前面两部分中的案例做一个深入的分析。
分析阶段
在你决定升级你的数据库环境之前,你应该制定一个性能标准,然后,对查询和模式做些修改,对照你制定的标准看性能是否有所提高,一旦可以使得你当前的系统能够高效的工作,那么你应该重新评估是否仍旧需要升级系统。
扩大VS减小
扩大和减小是你可以用来改变你的数据库环境以提高性能的两种方法。下面我们对这两种方法的优缺点做一个比较。
扩大
这种方法,你要为数据库系统购买新的或改进的硬件。这些增加的硬件可能包括快速控制器,快速硬盘子系统,更多的内存、更多的处理器等等。
优点:为机器增加新硬件毫无疑问将会加速你的应用的执行。在大多数环境下,简单扩大服务器将会提到足够的性能达到满意的地步。你可以使用64位新版SQL Server来大大提高性能,该版本需要更多内存和更大的处理能力。
缺点:企业级服务器机器上的硬件价格十分昂贵,因此这可能会是一个禁止的昂贵代价。如果等你有足够的能力来扩大时,可能已到了需要减小的时候。
减小
这种方法是分解数据库,将不同部分的数据分别存放在单独的数据库服务器上,这种方法通常要对应用层和数据库层做大量改变才能成功实施。
优点:这种方法允许你的设计更具可升级性,因为如果你当前的结构正导致了一个瓶颈,你就可以进一步分解设计,使用更多的机器分别处理数据。分解的典型模式是将逻辑相关的表格分解到不同的服务器上或者平行的分解你的表格使得每个数据库服务器拥有全部数据集的一部分。你也可以将这两种方法结合起来使用。
减小方法的另一个优点是潜在地可以处理大的事务负载,而且你可以使用普通的硬件,这要比扩大升级要购买的硬件便宜的多。此外,它通常不需要像扩大升级那样要购买企业级的服务器。
缺点:进行这种升级要比扩大的方法困难的多。事实上,建议只在下面这种情况下使用这种方法:当你的当前系统已经平均每分钟处理N个事务,再也不能处理更多。这种方式的升级之所以困难是因为它很难维护,拥有众多的可移动部分,且很难逻辑地分割数据或表格。因此处理被均衡的分配到单独的服务器上。(T004)


猜你喜欢
- asp中使用addnew方法添加一条记录后,我们经常使用取得自递增的ID,而使用bookmark很容易实现这样的功能。rs.open&nbs
- 很多时候我们写的程序,会花上一分钟甚至几分钟时间。为了使软件使用者能够耐心的等待程序的执行,我们经常会希望有一个进度条来表示程序执行的状态。
- PDO::commitPDO::commit提交一个事务(PHP 5 >= 5.1.0, PECL pdo >= 0.1.0)说
- 前言:tkinter提供了3种布局管理方式:1、pack2、grid3、place每种布局管理器都非常有用,根据不同的需求,选择对应的布局方
- 本文实例讲述了php实现通过cookie换肤的方法。分享给大家供大家参考。具体如下:saveStyleSheet.php页面如下:<?
- 在本文中,我将分享五个 Jupyter 扩展来提大家的工作效率。 欢迎收藏学习,喜欢点赞支持。技术交流群文末提供,欢迎畅聊。让我们开始吧!1
- 那么我们现在开始进行安装配置: 1.一般网上
- 目录前言二叉树节点定义递归构建二叉树前言本文的内容是数据结构中二叉树部分最基础的,之所以写一下主要是为了方便刷题的时候,能够在自己电脑上很快
- 在SQL Server中可以使用系统内部存储过程xp_fileexist判断文件是否存在,如果存在再使用xp_cmdshell删除文件。xp
- 1、前提1.1 docker 安装elasticsearch查询elasticsearch 版本docker search elastics
- 一、我的需求对于这样的一个 csv 表,需要将其(1)将营业部名称和日期和股票代码进行拼接(2)对于除了买入金额不同的的数据需要将它们的买入
- 用Python+ChatGPT批量生成论文概述做算法研究离不开阅读大量论文。从海量论文中找到需要的论文往往耗费算法团队不少的精力。ChatG
- JavaScript正变得越来越流行,它已经成为前端开发的第一选择,并且利用基于JavaScript语言的NodeJS,我们也可以开发出高性
- 引入:if-else的作用,满足一个条件做什么,否则做什么。if-else语句语法结构if 判断条件:要执行的代码else:要执行的代码判断
- 目录1、将 PDF 转换为音频文件2、从列表中播放随机音乐3、不再有书签了4、清理下载文件夹前言:大家平时有没有注意到你每天可能会执行许多的
- 当我们建好数据库及表后,首先想到的就是向数据库的表中输入数据.下面我们就来探讨一下如何向数据库增加数据:1.常用的方法是insert语句in
- 版本:平台:ubuntu 14 / I5 / 4G内存python版本:python2.7opencv版本:2.13.4依赖:如果系统没有p
- 树,因其清晰明了的展现形式而被广泛的使用日常的开发过程中我们需要经常与“树”打交道,例如公司的组织架构树、服务器的项目归属树,管理后台侧边树
- 慢SQL与索引的关系慢SQL优化原则数据库也是应用,MySQL 作为一种磁盘数据库,属于典型的 IO 密集型应用,并且随机 IO 比顺序 I
- 背景 在平常的开发中,经常碰到这种更新数据的场景:先判断某一数据在库表中是否存在,存在则update,不存在则insert。 如果使用Hi