Home Database Mysql Tutorial 谈各类数据库对服务器的要求

谈各类数据库对服务器的要求

Jun 07, 2016 pm 03:29 PM
database server Require

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

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

 

[1] [2] [3] 

谈各类数据库对服务器的要求

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How does Go language implement the addition, deletion, modification and query operations of the database? How does Go language implement the addition, deletion, modification and query operations of the database? Mar 27, 2024 pm 09:39 PM

Go language is an efficient, concise and easy-to-learn programming language. It is favored by developers because of its advantages in concurrent programming and network programming. In actual development, database operations are an indispensable part. This article will introduce how to use Go language to implement database addition, deletion, modification and query operations. In Go language, we usually use third-party libraries to operate databases, such as commonly used sql packages, gorm, etc. Here we take the sql package as an example to introduce how to implement the addition, deletion, modification and query operations of the database. Assume we are using a MySQL database.

iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos iOS 18 adds a new 'Recovered' album function to retrieve lost or damaged photos Jul 18, 2024 am 05:48 AM

Apple's latest releases of iOS18, iPadOS18 and macOS Sequoia systems have added an important feature to the Photos application, designed to help users easily recover photos and videos lost or damaged due to various reasons. The new feature introduces an album called "Recovered" in the Tools section of the Photos app that will automatically appear when a user has pictures or videos on their device that are not part of their photo library. The emergence of the "Recovered" album provides a solution for photos and videos lost due to database corruption, the camera application not saving to the photo library correctly, or a third-party application managing the photo library. Users only need a few simple steps

How does Hibernate implement polymorphic mapping? How does Hibernate implement polymorphic mapping? Apr 17, 2024 pm 12:09 PM

Hibernate polymorphic mapping can map inherited classes to the database and provides the following mapping types: joined-subclass: Create a separate table for the subclass, including all columns of the parent class. table-per-class: Create a separate table for subclasses, containing only subclass-specific columns. union-subclass: similar to joined-subclass, but the parent class table unions all subclass columns.

How to install PHP FFmpeg extension on server? How to install PHP FFmpeg extension on server? Mar 28, 2024 pm 02:39 PM

How to install PHPFFmpeg extension on server? Installing the PHPFFmpeg extension on the server can help us process audio and video files in PHP projects and implement functions such as encoding, decoding, editing, and processing of audio and video files. This article will introduce how to install the PHPFFmpeg extension on the server, as well as specific code examples. First, we need to ensure that PHP and FFmpeg are installed on the server. If FFmpeg is not installed, you can follow the steps below to install FFmpe

Detailed tutorial on establishing a database connection using MySQLi in PHP Detailed tutorial on establishing a database connection using MySQLi in PHP Jun 04, 2024 pm 01:42 PM

How to use MySQLi to establish a database connection in PHP: Include MySQLi extension (require_once) Create connection function (functionconnect_to_db) Call connection function ($conn=connect_to_db()) Execute query ($result=$conn->query()) Close connection ( $conn->close())

An in-depth analysis of how HTML reads the database An in-depth analysis of how HTML reads the database Apr 09, 2024 pm 12:36 PM

HTML cannot read the database directly, but it can be achieved through JavaScript and AJAX. The steps include establishing a database connection, sending a query, processing the response, and updating the page. This article provides a practical example of using JavaScript, AJAX and PHP to read data from a MySQL database, showing how to dynamically display query results in an HTML page. This example uses XMLHttpRequest to establish a database connection, send a query and process the response, thereby filling data into page elements and realizing the function of HTML reading the database.

How to handle database connection errors in PHP How to handle database connection errors in PHP Jun 05, 2024 pm 02:16 PM

To handle database connection errors in PHP, you can use the following steps: Use mysqli_connect_errno() to obtain the error code. Use mysqli_connect_error() to get the error message. By capturing and logging these error messages, database connection issues can be easily identified and resolved, ensuring the smooth running of your application.

Equipped with AMD EPYC 4004 series processors, ASUS launches a variety of server and workstation products Equipped with AMD EPYC 4004 series processors, ASUS launches a variety of server and workstation products Jul 23, 2024 pm 09:34 PM

According to news from this website on July 23, ASUS has launched a variety of server and workstation-level products powered by AMD EPYC 4004 series processors. Note from this site: AMD launched the AM5 platform and Zen4 architecture EPYC 4004 series processors in May, offering up to 16-core 3DV-Cache specifications. ASUSProER100AB6 server ASUSProER100AB6 is a 1U rack server product equipped with EPYC Xiaolong 4004 series processor, suitable for the needs of IDC and small and medium-sized enterprises. ASUSExpertCenterProET500AB6 workstation ASUSExpertCenterProET500AB6 is a

See all articles