首页 数据库 mysql教程 选购新标准:根据数据库选服务器

选购新标准:根据数据库选服务器

Jun 07, 2016 pm 03:15 PM
数据库 新标准 服务器 标准 选购

数据库实际上是每一个电子交易、金融和企业资源规划系统的基础,随着数据库技术在商业应用中的不断发展,现在的数据库应用规模已经越来越大型化,具体体现在两个方面:一方面是数据记录的数量级开始跃升到十万、百万级别,这直接造成数据库体积的快速膨胀,

 

数据库实际上是每一个电子交易、金融和企业资源规划系统的基础,随着数据库技术在商业应用中的不断发展,现在的数据库应用规模已经越来越大型化,具体体现在两个方面:一方面是数据记录的数量级开始跃升到十万、百万级别,这直接造成数据库体积的快速膨胀,例如一个人气论坛,日发贴量在1000左右,若运营一年,其数据记录就达到近40万条,而数据库占用空间将增加上百MB,如此庞大的一个数据库,在进行查询时对硬件系统要求是相当高的;另外,随着运营时间的增加,大部分数据库用户的访问量也会上升,例如一个WEB站点,日访问量假如是5000 IP,而假设每个IP点击动态页面4次,每个动态页面查询数据库5次,那么每日数据库将需要响应10万次查询。

因此,对那些以数据库作为主要支撑的应用来说(例如ERP系统、论坛系统),在具备一定的规模之后,对服务器硬件设备的要求将非常苛刻,而一旦服务器设备无法承受数据库的工作压力,将直接造成系统和各种业务的瘫痪,其损失将是无法估量的。

所以,我们今天就来探讨一下数据库应用和服务器之间的关系。

我们先来看一个很有意思的表格,它可以告诉你什么样的应用选择什么类型的数据库软件:

商业应用类型 服务器性能描述
数据库类型
大型数据库

(ERP,OLAP,data mart)
服务器仅用于运行数据库,或仅运行单一的应用。数据库的容量在10OGB以上,需要有较高的CPU处理能力,大容量内存为数据缓存服务,并需要很好的IO性能,使用这类应用时,通常需要有较高的CPU主频
中型数据库

(ERP,OLTP,etc)
服务器仅用于运行数据库,或仅运行单一的应用。数据库的容量在100GB以下,需要有较高的CPU处理能力,大容量内存为数据缓存服务,并需要很好的IO性能,使用这类应用时,通常需要有较高的CPU主频。
数据仓库

OLAP/Data mining
大型商业数据存储,编目、索引、数据分析等。例如:OLAP(联机事务处 理),高速商业计算,需要有良好的IO性能。
基本应用与web服务
电子商务E

commerce
功能与典型的应用服务器相同,性能视商业应用和用户数量而定,可能会 需要一定的数据安全传输与存储,或作为存储数据的主机。需要一定的CPU 和内存处理能力,通常,带有四路Pentium Ill Xeon处理器以及大容量数据存储的服务器可以基本满足要求。(可以满足每秒几千条请求).
文件及打印服务器 仅用来将数据从一处传递到另一处,对CPU的处理能力要求较低。
常规服务器域/代理/防火墙服务器 为了能够使域服务器和防火墙服务器有快速的响应能力,因此它们需要具 备较高的CPU处理能力,代理服务器需要有较大的内存用来存储和作为高 速缓存存储Web地址,代理服务器还需要有较大的存贮容量。建议选择机 柜式服务器可以节省占地空间
互联网服务应用

Linux/Windows NT/Novell
当互联网服务商针对专用的服务器比如邮件服务器、浏览服务器需要扩充 时,服务器应当具有价格低廉、小巧、高性能、通常一个或两个CPU基本 可以满足要求,而四路处理器的服务器则有些浪费。建议选择机柜式服务 器以节省占地空间。
通讯服务器

Messaging/E-mail
快速的IO是这类应用的关键,磁盘的IO(编目、存储信息)是主要瓶颈。 许多用户为了保证所存储的信息的可用性,采用 RAID 5阵列方式,但在 一定程度上会影响IO的性能,通常1个或2个CPU基本可以满足用户的 需求。这种服务器用户对于实时响应要求不高,用户所占用资源一般不超 过10%,所以最需要考虑的是数据信息的备份,以及如何在2~6小时能 将信息恢复正常。建议选择机柜式服务器以节省占地空间。
浏览服务器(动态) 通过存储在服务器中的网页可以构建网络空间,例如使用微软公司的技术 ASP。与静态网页相比,这种应用需要更高的CPU处理能力,建议选择机 柜式服务器以节省占地空间。高速的网络通讯能力也是必不可少的。
浏览服务器(静态) 静态网页通常是指有文本和图片共同组合存储的服务器中。通常变化不 大。使用两个CPU和 100MB/S的网卡可以非常轻松的满足极高的点击 率。当使用双路处理器的服务器时,可以完全满足每秒钟千次的点击。IGB 内存作为网页的高速缓存。也可以使用四路处理器并额外添加内存与网 卡。
应用服务器
应用服务器

(client/server,ERP)
任何一种客户机/服务器的网络系统比如 ERP,最典型的商业应用,客户 机在一端,而数据库服务器在另一端,它们通过网络系统通讯。系统具有 良好的扩展和调整能力,可以将不同应用安装到不同的服务器上,也可以 将在每个服务器上安装多个应用。ERP系统需要两个或更多的CPU以及 512MB以上的内存。具体数量视用户数量而定。
工作流服务器

Collaboration/Groopare
使用类似于 Lotus Notes, groupware, calendaring等等。对网络服务器的CPU和内存处理能力要求属于中等。不需要额外投资大量的硬件资 源。
多应用服务器 多种应用程序以及它们使用的数据库共同运行在同一台服务器上,可以替 代多台小型的服务器。建议使用多个CPU可以获得较好的使用效果。通常 使用多个速度稍低的CPU的效果好于使用一个高速的CPU。
小型/专用服务器 特定的应用系统,医疗、零售、经销商等特定的应用。使用带有两个CPU 的级别的服务器可以支持数百的用户终端。通常塔式服务器是首 选。
终端服务器/基于运算服务 在多用户环境下,所有的硬件及软件资源都可以通过终端服务器共享给网络上的所有的用户,应用程序运行在服务器上,用户可以通过用户终 端使用所有的应用程序。使用多处理器将可以有效改善系统的性能。内存的配置非常关键,通常需要有16MB内存分配给 Windows NT,有 32MB内 存分配给终端服务器,每个用户需要有4-8MB内存。软件的使用与硬件的资源有很大的关系,通常使用带有两路处理器和IGB内存的服务器可以 支持大约50个用户,带有四路处理器和4GB内存的服务器可以支持100个用户,带有8路处理器及4GB内存的服务器可以支持大约200个用户。

当然,就国内的实际情况来看,使用最广泛的无疑还是这四种数据库:Oracle,MS SQL Server,My SQL和Access,下面我们就逐个分析一下这几种数据库对于服务器的要求。

甲骨文 Oracle

提到ORACLE,不得不详细介绍一下,因为它是目前业内公认最牛X的数据库系统,广泛用于大型商业、高等院校和科学研究领域:

ORACLE 是以高级结构化查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器 (CLIENT/SERVER)体系结构的数据库之一。ORACLE7.X以来引入了共享SQL和多线索服务器体系结构。这减少了ORACLE 的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。 ORACLE 数据库提供了基于角色(ROLE)分工的安全保密管理,在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。ORACLE 数据库提供了与第三代高级语言的接口软件PRO*系列,能在C,C++等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。加上它有许多优秀的前台开发工具如 POWER BUILD、SQL*FORMS、VISIA BASIC 等,可以快速开发生成基于客户端PC 平台的应用程序,并具有良好的移植性。另外,ORACLE 数据库提供了新的分布式数据库能力,可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。

下面分析一下ORACLE 数据库:根据实际使用测试的经验,不少程序员都已经确认ORACLE 数据库在运行时效率是非常高的,大家发现这其实是因为它非常巧妙而合理的使用了系统内存,当然,它同时也是大量的使用了系统内存,至于其目的究竟是为了缓解硬盘缓存压力还是基于其他因素,我们就不深入探讨,我们可以明确的一点就是,ORACLE 数据库要有足够容量的系统内存进行支持才能较好的发挥其性能优势,尤其是那些数据库写入工作(例如 UPDATE、INSERT/ADDNEW等动作)比较频繁的应用,使用大容量内存非常有必要。

因此,如果您是使用ORACLE 数据库,可以在系统内存容量方面进行提升,现在的Nocona、Opteron处理器已经突破传统4GB内存直接寻址的限制了,但服务器主板的设计对于大容量内存系统的限制还是存在,大家还得注意这个问题;在内存控制方面表现比较出色的是IBM和HP,这两家公司的内存自主研发技术比较多也比较强大,尤其是IBM,不仅可以有效实现内存的大容量扩展,还能提供多种纠错和备份保护,对于企业级应用是非常适合的。另外,数据库对内存系统要求高并不是说一味提升内存容量就OK了,整体性能的提高无论任何时候都是真理;对于一些中高端的应用,我们推荐大家使用8路或更8路以上的服务器,特别是AMD的 Opteron 8XX系列,性能确实非常强悍,而且其独到的HyperTransport技术可以为多路系统提供足够的总线,加上内存控制器内嵌于核心之上,使得它的前端系统性能要比Intel的MP更为抢眼,如果是Unix系统,还可以使用IBM的Power 5系统,Power 5处理器是IBM自家的RISC(精简指令集)架构处理器,采用双核设计,性能也非常强悍。至于磁盘系统,基本上是取决于使用什么样的RAID控制卡和使用什么RAID工作模式,关于这方面的问题大家可以参看我们的磁盘阵列技术文章,相信会找到一个满意的答案,这里就不进行详述了。

MS SQL Server

这是微软的商业数据库系统,有多个版本,最强大的是Enterprise Edition,需要在Windows 2000 Advanced Server或Windows 2003 Server Enterprise Edition上面才能安装。微软之前的数据库一直被指性能不佳,不登大雅之堂,于是比尔高薪挖来很多牛人开发出这套MicroSoft SQL Server,目前常用的版本还是MS SQL Server 2000,尽管新版本已经问世。这套数据库系统性能表现也是可圈可点,彻底改变了微软没有高性能大型数据库的局面,由于有自家操作系统做后盾,加上 Visual Studio开发软件的强力支持,该数据库系统在国内应用也非常普及,各种中小型商业和院校应用都看得到它的身影,大部分以IIS+ASP/.NET模式运行的中等以上规模WEB站点都是使用这套数据库。

MS SQL Server对服务器设备的要求并不像ORACLE那么高,但是根据大多数程序员使用的感受,要提高MS SQL Server的性能在处理器和磁盘系统上做文章效果比较明显。鉴于MS SQL Server的主流应用环境一般都是双路XEON(这东西还不能移植到Unix系统,而且性能不如ORACLE,因此一般不用于高端领域),因此我们针对这类数据库提出的建议是:使用高频的Xeon处理器,建议使用双路,另外,Opteron表现确实非常优秀,也可以适当考虑;磁盘系统采用RAID 0或者RAID 1用户可以自己决定,如果有配阵列卡,组个RAID 5也可以;特别说明一下,Windows 2003 Server Enterprise Edition执行效率确实比Windows 2000 Advanced Server高,对于使用MS SQL Server的用户来说可以考虑使用2003作为操作系统。

My SQL

这是一个开放而且免费的数据库。虽然功能不是非常强大,性能也只能算是一般,但在各种中小型应用中还是非常普及的,毕竟它比起针对小型办公应用而设计的ACCESS来说还是非常有优势的--不仅免费,而且性能、安全性比ACCESS好很多。My SQL可以在Windows环境下使用,不过其最经典的组合是Linux+Apache+PHP/JSP+MySQL。现在以这种组合出现的小型网站非常多,这类网站对服务器配置要求非常低,当然,由于数据库本身的限制,MySQL也不大适合大访问量的商业应用。

在我们的测试中经常使用 MYSQL作为数据库平台,一般是使用一个拥有5万注册用户的论坛数据库作为测试对象,测试结果也显示出一个问题,磁盘性能对MYSQL数据库查询的效率影响特别明显,要远远高出CPU、内存等配件的影响,一台配置一般的服务器只要拥有高性能的磁盘系统,一样可以获得很好的成绩;当然,如果在数据库查询中包含很多复杂的查询比较条件,那么CPU主频的作用也是非常明显的。这里,我们推荐这类数据库的用户使用高性价比的SATA阵列,用主板自带的软RAID 就行,性能同样可以令人满意,而且成本非常低,当然,适当提升CPU的主频也是有价值的。

Access

Access 是微软面向办公用户推出的一种数据库系统,在Office光盘中带有它的管理软件。既然是面向办公用户推出的一种数据库系统,那么其性能自然是比较差的,不过这种“业余”级别的数据库无需安装,而且使用管理非常简单,因此深受初级程序员的欢迎,绝大部分的ASP小型站点几乎都是使用这种数据库;当然,其性能非常有限,不大适合于安全性要求较高和数据量较大的环境。

Access数据库非常带有微软软件的特点--简单易用、占资源、效率低,因此要提升这种数据库的性能,从硬件方面只能是全面升级,如果要大幅度提升性能,建议升级服务器配置的同时将数据库系统升级到MS SQL Server。Access数据库和P4服务器是绝配,当然,如果使用P4服务器,那么升级的空间就不会太大了,所以还是以经济实用为主导。

总结 :

数据库其实是非常博大精深的,很难用短短一篇文章把数据库和服务器之间错综复杂的关系说清楚,只是希望以上肤浅的经验和看法,能够为初级用户提供一些参考。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Go语言如何实现数据库的增删改查操作? Go语言如何实现数据库的增删改查操作? Mar 27, 2024 pm 09:39 PM

Go语言是一种高效、简洁且易于学习的编程语言,因其在并发编程和网络编程方面的优势而备受开发者青睐。在实际开发中,数据库操作是不可或缺的一部分,本文将介绍如何使用Go语言实现数据库的增删改查操作。在Go语言中,我们通常使用第三方库来操作数据库,比如常用的sql包、gorm等。这里以sql包为例介绍如何实现数据库的增删改查操作。假设我们使用的是MySQL数据库。

如何在服务器上安装 PHP FFmpeg 扩展? 如何在服务器上安装 PHP FFmpeg 扩展? Mar 28, 2024 pm 02:39 PM

如何在服务器上安装PHPFFmpeg扩展?在服务器上安装PHPFFmpeg扩展可以帮助我们在PHP项目中处理音视频文件,实现音视频文件的编解码、剪辑、处理等功能。本文将介绍如何在服务器上安装PHPFFmpeg扩展,以及具体的代码示例。首先,我们需要确保服务器上已经安装了PHP以及FFmpeg。如果没有安装FFmpeg,可以按照以下步骤安装FFmpe

在PHP中使用MySQLi建立数据库连接的详尽教程 在PHP中使用MySQLi建立数据库连接的详尽教程 Jun 04, 2024 pm 01:42 PM

如何在PHP中使用MySQLi建立数据库连接:包含MySQLi扩展(require_once)创建连接函数(functionconnect_to_db)调用连接函数($conn=connect_to_db())执行查询($result=$conn->query())关闭连接($conn->close())

Hibernate 如何实现多态映射? Hibernate 如何实现多态映射? Apr 17, 2024 pm 12:09 PM

Hibernate多态映射可映射继承类到数据库,提供以下映射类型:joined-subclass:为子类创建单独表,包含父类所有列。table-per-class:为子类创建单独表,仅包含子类特有列。union-subclass:类似joined-subclass,但父类表联合所有子类列。

iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 iOS 18 新增'已恢复”相册功能 可找回丢失或损坏的照片 Jul 18, 2024 am 05:48 AM

苹果公司最新发布的iOS18、iPadOS18以及macOSSequoia系统为Photos应用增添了一项重要功能,旨在帮助用户轻松恢复因各种原因丢失或损坏的照片和视频。这项新功能在Photos应用的"工具"部分引入了一个名为"已恢复"的相册,当用户设备中存在未纳入其照片库的图片或视频时,该相册将自动显示。"已恢复"相册的出现为因数据库损坏、相机应用未正确保存至照片库或第三方应用管理照片库时照片和视频丢失提供了解决方案。用户只需简单几步

搭载 AMD EPYC 霄龙 4004 系列处理器,华硕推出多款服务器与工作站产品 搭载 AMD EPYC 霄龙 4004 系列处理器,华硕推出多款服务器与工作站产品 Jul 23, 2024 pm 09:34 PM

本站7月23日消息,华硕推出多款由AMDEPYC霄龙4004系列处理器驱动的服务器与工作站级产品。本站注:AMD于5月推出AM5平台、Zen4架构的EPYC霄龙4004系列处理器,最高提供16核3DV-Cache规格。ASUSProER100AB6服务器ASUSProER100AB6是一款搭载EPYC霄龙4004系列处理器的1U机架式服务器产品,适用于IDC及中小型企业需求。ASUSExpertCenterProET500AB6工作站ASUSExpertCenterProET500AB6是一款A

深入解析HTML如何读取数据库 深入解析HTML如何读取数据库 Apr 09, 2024 pm 12:36 PM

HTML无法直接读取数据库,但可以通过JavaScript和AJAX实现。其步骤包括建立数据库连接、发送查询、处理响应和更新页面。本文提供了利用JavaScript、AJAX和PHP来从MySQL数据库读取数据的实战示例,展示了如何在HTML页面中动态显示查询结果。该示例使用XMLHttpRequest建立数据库连接,发送查询并处理响应,从而将数据填充到页面元素中,实现了HTML读取数据库的功能。

MySQL数据库管理系统的基本原理解析 MySQL数据库管理系统的基本原理解析 Mar 25, 2024 pm 12:42 PM

MySQL数据库管理系统的基本原理解析MySQL是一种常用的关系型数据库管理系统,它通过结构化查询语言(SQL)来进行数据存储和管理。本文将介绍MySQL数据库管理系统的基本原理,包括数据库的创建、数据表的设计、数据的增删改查等操作,并提供具体的代码示例。一、数据库的创建在MySQL中,首先需要创建一个数据库实例来存储数据。通过以下代码可以创建一个名为"my

See all articles