数据库应用与设计-大型数据库系统架构设计方法
数据库与系统架构

系统架构评估方法
总结词
系统架构评估方法是对已设计的系统架构进 行评估和优化的手段。
详细描述
系统架构评估方法包括定性评估和定量评估 两种方式。定性评估主要通过专家评审、比 较分析和场景分析等方法进行,而定量评估 则通过性能测试、压力测试和稳定性测试等 方法进行。评估的目的是发现系统架构中存 在的问题和瓶颈,并提出优化建议,以提高
模块化
微服务架构将应用程序拆分成多个模块,每个模块负责 特定的功能,便于开发和维护。
微服务架构的优缺点
高可用性
由于每个微服务都是独立的,单个服务的故障不会影响整个应用程序的可用性。
可伸缩性
可以根据业务需求对单个微服务进行横向或纵向扩展,提高了系统的可伸缩性。
微服务架构的优缺点
复杂性
微服务架构使得系统变得更加复杂,需要更多的开发、配置和管理的工作。
详细描述
系统架构是对系统各个组件及其相互关系的 描述,它定义了系统的结构、功能和行为。 根据不同的分类标准,系统架构可以分为多 种类型,如根据结构化程度可以分为集中式 、分布式和云计算架构等。
系统架构设计原则
要点一
总结词
系统架构设计原则是指导架构师进行系统设计的准则和规 范。
要点二
详细描述
系统架构设计原则包括功能性原则、可靠性原则、可扩展 性原则、可维护性原则和性能原则等。这些原则在指导架 构师进行系统设计时,需要考虑系统的功能需求、可靠性 、可扩展性和可维护性等方面,以确保系统能够满足业务 需求并具有较好的性能表现。
通信开销
由于微服务之间需要进行通信,可能会产生较多的网络通信开销。
微服务架构的优缺点
数据一致性
在微服务架构中,数据一致性的维护变得更加困难。
ORACLEEBS系统架构与应用实践

ORACLEEBS系统架构与应用实践Oracle EBS(Enterprise Business Suite)是一种集成的企业资源规划(ERP)系统,它提供了一套完整的应用程序,包括财务管理、供应链管理、人力资源管理等。
Oracle EBS 的系统架构基于客户 - 服务器模型,它包含一个中央数据库服务器和许多客户端用户接口。
中央数据库服务器存储所有的企业数据,并通过各种应用程序分发给客户端用户。
这种架构能够满足大型企业的需求,因为它能够处理大量的数据和用户。
Oracle EBS中的应用程序采用模块化设计,每个模块都提供特定的功能。
例如,财务管理模块提供了会计和财务报告功能,供应链管理模块提供了供应商管理和库存管理功能,人力资源管理模块提供了员工管理和薪资管理功能等。
这种模块化的设计使得用户能够根据自己的需求选择和配置不同的模块。
在实际应用中,Oracle EBS可以帮助企业实现以下目标:1.自动化流程 - Oracle EBS能够自动化企业的核心业务流程。
例如,它能够自动计算和支付员工的薪资,自动处理供应商的付款,并自动更新库存。
2.提高效率 - Oracle EBS提供了许多工具和功能,能够帮助企业提高效率。
例如,它能够自动对账,预测需求,优化生产计划等。
3.提高数据可靠性 - Oracle EBS能够存储和管理企业的所有数据,确保数据的完整性和可靠性。
它能够实时更新数据,提供准确和及时的报告。
4.提供决策支持 - Oracle EBS提供了丰富的报告和分析工具,能够帮助企业进行决策。
它能够分析企业的财务状况,供应链情况,人力资源情况等,为企业提供决策支持。
在应用实践中,企业需要根据自身的需求和实际情况来配置和定制Oracle EBS系统。
首先,企业需要确定哪些模块和功能是必需的,然后根据需求来选择和配置系统。
其次,企业需要对数据进行清洗和转换,以确保数据的准确性和完整性。
最后,企业需要培训员工并建立合理的权限和安全控制,以确保系统的安全和正确使用。
数据库系统的分析与设计

数据库系统的分析与设计数据库系统的分析与设计是指对数据库系统进行全面的需求分析和架构设计的过程。
它包括对系统需求、数据模型、数据存储和访问方案、系统接口等各方面进行详细的规划和设计。
本文将从数据库系统的分析与设计的基本概念、步骤和方法等方面进行讨论。
需求分析是指对数据库系统用户需求进行详细的调查和分析。
它包括对用户需求的收集、分析和整理,了解用户对数据库系统的功能需求、性能需求、可靠性需求等方面的要求,以确定系统的功能和性能目标。
架构设计是指根据需求分析的结果,设计数据库系统的架构。
它包括数据模型设计、数据库存储和访问方案设计、系统接口设计等方面。
数据模型设计的目标是确定数据库系统中的实体、关系和属性,并建立合理的数据模型。
数据库存储和访问方案设计的目标是确定数据在存储和访问时的组织方式和方法。
系统接口设计的目标是确定数据库系统与其他系统和用户之间的接口格式和方式。
1.需求分析:对数据库系统的用户需求进行详细调查和分析,包括功能需求、性能需求、可靠性需求等方面。
2.数据模型设计:根据需求分析的结果,确定数据库系统中的实体、关系和属性,并建立合理的数据模型,如关系模型、层次模型、网络模型等。
3.数据库存储和访问方案设计:根据数据模型设计的结果,确定数据在存储和访问时的组织方式和方法,包括数据库的物理存储结构、数据索引和查询优化等方面。
4.系统接口设计:确定数据库系统与其他系统和用户之间的接口格式和方式,包括输入接口、输出接口、查询接口等。
5.系统实施和测试:根据设计结果,实施和测试数据库系统,包括数据库的创建和初始化、数据的导入和导出、系统功能和性能的测试等。
6.系统评价和优化:对数据库系统进行评价和优化,包括功能和性能的评价、用户反馈的收集和分析等。
1.需求调查法:通过面对面的访谈、问卷调查等方式,收集和分析用户的需求。
这种方法能够直接获得用户的需求,但是成本较高,不适用于大规模的数据库系统。
2.数据流图法:通过绘制数据流图,分析和设计数据库系统的数据流和数据处理过程。
架构设计之数据架构

架构设计之数据架构数据架构是指在软件系统中,对数据进行组织、存储、管理和访问的结构和规范。
一个良好的数据架构设计能够提高系统的性能、可靠性和可扩展性。
在本文中,将介绍数据架构的基本概念、设计原则和常用技术,以及一个示例数据架构设计的详细说明。
一、数据架构的基本概念1. 数据模型:数据模型是对现实世界中的实体和关系进行抽象和描述的方法。
常用的数据模型有层次模型、网络模型、关系模型和对象模型等。
2. 数据库管理系统(DBMS):DBMS是负责管理和操作数据库的软件系统。
它提供了数据存储、数据访问、数据安全和数据一致性等功能。
3. 数据库:数据库是指存储在物理介质上的数据集合。
它按照一定的数据模型进行组织和管理,可以被DBMS管理和访问。
4. 数据库实例:数据库实例是指在内存中加载数据库,并提供对数据库的访问和操作的运行时环境。
5. 数据库表:数据库表是数据在数据库中的组织形式,由行和列组成。
每一行表示一个记录,每一列表示一个属性。
6. 数据库索引:数据库索引是一种提高数据检索速度的数据结构。
它通过建立索引键和数据之间的映射关系,加快数据的查找和访问速度。
二、数据架构的设计原则1. 数据一致性:数据架构应该保证数据的一致性,即数据在不同的地方和时间访问时,保持一致的值和状态。
2. 数据完整性:数据架构应该保证数据的完整性,即数据的约束条件和业务规则得到满足,不会浮现错误或者不一致的数据。
3. 数据安全性:数据架构应该保证数据的安全性,即数据只能被授权的用户访问和修改,防止未经授权的访问和恶意操作。
4. 数据可扩展性:数据架构应该具备良好的可扩展性,能够适应系统的增长和变化,保持系统的性能和可靠性。
5. 数据性能:数据架构应该优化数据的访问和操作性能,提高系统的响应速度和吞吐量。
三、常用的数据架构技术1. 分布式架构:分布式架构将数据分布在多个节点上,通过网络进行通信和协作,提高系统的可扩展性和性能。
常用的分布式架构有主从架构、集群架构和分布式数据库等。
系统架构设计及原理 基本处理流程 模块划分 数据结构设计

系统架构设计及原理基本处理流程模块划分数据结构设计系统架构设计是构建一个信息系统或软件产品的基础,它涉及到系统的整体结构规划,包括软件、硬件、网络、数据和用户界面等方面。
以下是一些关于系统架构设计的基本概念、处理流程、模块划分和数据结构设计的概述:一、系统架构设计原理:1. 模块化:将系统划分为多个独立的模块,每个模块负责系统的某一功能部分。
模块化可以提高系统的可维护性和可扩展性。
2. 分层:系统架构通常采用分层设计,如表现层、业务逻辑层和数据访问层。
每一层负责不同的系统功能,且相互独立。
3. 组件化:使用预先设计和测试的软件组件来构建系统,这些组件可以在不同的系统中重用。
4. 服务化:将系统的各个功能抽象为服务,通过网络进行调用,实现系统的分布式处理。
5. 标准化:遵循行业标准和规范进行系统架构设计,以确保系统的互操作性和可集成性。
二、基本处理流程:1. 需求分析:理解并 document 用户需求和系统功能。
2. 系统设计:根据需求分析的结果,设计系统的总体结构。
3. 模块设计:细化系统设计,定义各个模块的功能和接口。
4. 技术选型:选择合适的技术栈和工具来实现系统架构。
5. 实现与测试:编码实现系统模块,并进行测试。
6. 部署与维护:将系统部署到生产环境,并进行持续的维护和优化。
三、模块划分:模块划分是系统架构设计的核心部分,它涉及到如何将系统的功能划分为多个独立的模块。
模块划分的一般原则包括:1. 单一职责原则:每个模块应该有一个单一的责任,并且该责任应该被完整地封装在一个模块中。
2. 最小化模块间耦合:尽量减少模块间的依赖关系,使得一个模块的变更对其他模块的影响最小。
3. 最大化模块内聚:模块内部的元素应该紧密相关,共同完成一个单一的任务。
四、数据结构设计:数据结构设计是系统架构设计中关于数据存储和管理的部分。
它包括:1. 数据模型设计:根据系统的业务需求,设计数据库模型,包括表、关系、索引等。
大型数据库系统课程设计

大型数据库系统课程设计一、教学目标本课程的教学目标是使学生掌握大型数据库系统的基本概念、原理和技术,培养学生运用数据库技术解决实际问题的能力。
具体目标如下:1.知识目标:(1)了解大型数据库系统的发展历程、现状和趋势。
(2)掌握数据库的基本概念,如数据模型、数据库、表、视图、索引等。
(3)熟悉数据库管理系统(DBMS)的原理和架构。
(4)了解数据库系统的应用领域和解决方案。
2.技能目标:(1)能够使用SQL语言进行数据的增、删、改、查操作。
(2)掌握数据库设计的基本方法和步骤,能够设计简单的E-R图。
(3)了解数据库的优化技术,如索引、分区、事务隔离等。
(4)具备使用数据库管理系统进行项目开发的能力。
3.情感态度价值观目标:(1)培养学生对数据库技术的兴趣,认识到数据库技术在现代社会的重要性。
(2)培养学生团队合作、自主学习的能力,养成良好的学习习惯。
(3)培养学生具备良好的职业道德,遵守数据库安全和隐私保护的相关规定。
二、教学内容本课程的教学内容主要包括以下几个部分:1.数据库基本概念:数据模型、数据库、表、视图、索引等。
2.数据库管理系统(DBMS):原理、架构、常用DBMS产品。
3.数据库设计:E-R图、关系模型、数据库规范化。
4.SQL语言:数据定义、数据操纵、数据查询、数据维护。
5.数据库优化:索引、分区、事务隔离等。
6.数据库安全与隐私保护:访问控制、加密、认证等。
7.数据库应用案例分析:结合实际案例,了解数据库技术在各个领域的应用。
三、教学方法本课程采用多种教学方法,以激发学生的学习兴趣和主动性:1.讲授法:讲解基本概念、原理和方法。
2.案例分析法:分析实际案例,引导学生运用数据库技术解决问题。
3.实验法:上机操作,让学生动手实践,加深对知识的理解。
4.讨论法:分组讨论,培养学生团队合作和独立思考的能力。
四、教学资源1.教材:选用权威、实用的教材,如《大型数据库系统原理与应用》。
2.参考书:提供相关领域的参考书籍,丰富学生的知识体系。
大数据系统架构概述

✓ 阿里云对象存储(OSS) - 阿里云对象存储 (Object Storage Service, OSS)是阿里云对外提供
的海量、安全、低成本、高可靠的云存储服务
✓ 表格存储 (Table Store) - 它是构建在阿里云飞天分布式系统之上的NoSQL数据存储服务,提
大数据系统架构概述
• 总体架构设计原则
总体架构概述
✓ 满足大数据的V3要求
▪ 大数据容量的加载、处理和分析 - 要求大数据应用平台经过扩展可 以支持 GB、TB、PB、EB甚至ZB规模的数据集
▪ 各种类型数据的加载、处理和分析 - 支持各种各样的数据类型,支持
处理交易数据、各种非结构化数据、机器数据以及其他新数据结构
供海量结构化数据的存储和实时访问
✓ 大数据计算服务(MaxCompute) - 大数据计算服务(MaxCompute,原名 ODPS)是一种快速、
完全托管的TB/PB级数据仓库解决方案
阿里云飞天的特色
• 阿里云飞天 OpenStack 和 Hadoop 的不同
✓ OpenStack和 Hadoop是软件,它们并没有解决客户的CAPEX 投入问题、运维人员投
阿里云飞天系统体系架构
• 飞天(Apsara)是由阿里云自主研发、服务全球的超大规模通用计算操作系统 • 它可以将遍布全球的百万级服务器连成一台超级计算机、以在线公共服务的方
式为社会提供计算能力
• 飞天已经为全球200多个国家和地区的创新创业企业、政府、机构等提供服务
阿里云飞天系统体系架构
• 阿里云飞天整体架构 - 飞天平台的体系架构如图所示,整个飞天平台包括
3)OTS和ODPS可以配合使用,前者支持大规模并发的日常访问(例如铁路 售票前台系统),然后每隔24小时就把交易数据推入ODPS支撑的数据仓库,利 用后者进行进一步的业务分析。
数据库选型与架构设计的原则与方法

数据库选型与架构设计的原则与方法导言:在当今信息化时代,数据的重要性无可忽视。
对于大多数企业来说,数据库是管理和存储数据的核心工具。
选择合适的数据库以及设计良好的架构是确保数据安全、高效运行以及满足未来发展需求的关键决策。
本文将介绍数据库选型与架构设计的原则与方法,帮助您在面对众多选项时能够做出明智的决策。
一、数据库选型的原则1. 数据需求分析:在选择数据库之前,首先需进行全面的数据需求分析。
具体而言,需要了解数据的类型(结构化、半结构化或非结构化)、容量、访问模式、数据完整性以及处理速度等方面的要求。
只有全面了解数据需求,才能选择合适的数据库。
2. 产品评估:在选择数据库时,可以从开源数据库和商业数据库两个方面考虑。
开源数据库具有可裁剪、高拓展性的优点,而商业数据库在事务处理和数据敏感性方面的安全性更高。
在评估数据库时,需考虑其可扩展性、性能、稳定性、安全性以及社区支持等方面的因素。
3. 性价比评估:除了功能和性能,还需综合考虑数据库的许可费用、维护成本以及人员培训成本等因素。
有时候,免费开源的数据库可能比付费商业数据库更适合特定的项目。
要进行综合评估,确定哪款数据库在长期运营中具有良好的性价比。
4. 技术支持与服务:数据库的选型不仅仅在于产品本身的功能,还需考虑供应商提供的技术支持和服务。
了解数据库供应商的可靠性、响应时间、问题解决能力以及扩展服务等,对于长期运营来说至关重要。
5. 跨平台兼容性:随着云计算和移动互联网的普及,跨平台兼容性变得越来越重要。
选择支持多种操作系统和编程语言的数据库,可以保证系统能够灵活地在不同环境下运行,提高开发效率和协作能力。
二、架构设计的原则与方法1. 数据库范式设计:设计数据库时,应尽量符合数据库范式设计的原则,以达到有效的数据组织和查询性能。
首先,需设计适当的数据表结构,将数据按照属性分解为不可再分的子元素;其次,设计外键关联建立关系;还需避免冗余数据以及多值数据等不符合范式的设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
负载均衡是集群的一项关键技术,通过把请求分发给不同的服务器,从而获得高可 用性和较好的性能。一个负载均衡器可以是从一个简单的Servlet或Plug-Ins(例如 一个Linux box利用ipchains来实现),到昂贵的内置SSL加速器的硬件。除此之外, 负载均衡器还需执行一些其他的重要任务,如“会话胶粘”让一个用户会话始终存 在一个服务器上,“健康检查”用于防止将请求分发到已失效的服务器上。有些负 载均衡器也会参与我们下面将要谈到“失效转移”过程。
关系数据库的主要业务场景
Billing (记账类业务,电信、银行) Booking (订票类业务,航空) Inventory (库存管理,零售)
这些业务的共同特征是什么?
关系数据库的关系来自哪里?
这是关系的一个来源 另一个来源是Normalization
ACID的基础概念
Transaction的概念借自Contract Law • 一手交钱、一手交货(Atomicity) • 不会出现库存为负,也不会出现资金为负的情况(Consistency) • 可同时与多人进行交易(Isolation) • 离柜概不负责(Durability)
• Scalable(可扩展)则是表明数据库系统在通过相应升级(包 括增加单机处理能力或者增加服务器数量)之后能够达到提供 更强处理能力。在理论能上来说,任何数据库系统都是 Scalable 的,只不过是所需要的实现方式不一样而已。
• Scalability(扩展性)则是指一个数据库系统通过相应的升级 之后所带来处理能力提升的难易程度。虽然理论上任何系统都 可以通过相应的升级来达到处理能力的提升,但是不同的系统 提升相同的处理能力所需要的升级成本(资金和人力)是不一 样的,这也就是我们所说的各个数据库应用系统的 Scalability 存在很大的差异。
如何实现原子性(2)
事务槽为变更入口,单一入口(原子) 每个变更的记录都包含事务槽信息
数据库中如何保证C
通过Read Dirty与锁来解决PK/UK 通过Ref检查来解决FK的问题(需要Index) 通过PreCommit trigger来做Null以及Check
数据库中如何保证I
锁控制
• 不同粒度的锁(表级、块级、记录级) • 不同维度的锁(数据相关锁,内存相关锁)
• 要不要排队? • 一个服务员? • 一个营业厅?
PERFORMANCE VS SCALABILITY
1.当只有一个人访问时,速度如何? 2.当有很多人访问时,速度如何?
• 大家都同样快? 如果满足1
• 表示Performance很好? 如何能较好的满足2
• 表示系统有较好的Scalability
ACID的代价
不同的Isolation对应不同的代价 • Serialiazability • Read Committed (Through Snapshot) • Read Dirty ? (没有并发控制)
不同的Durability级别 • Flush on Commit • Flush on Timeout ( Time Range) • Flush on Batch ( commits count?)
第三章 大型数据库系统应用 设计方法
可扩展性、高可用性及负载均衡
基本概念
可扩展性(Scalability|伸缩性):
在一些大的系统中,预测最终用户的数量和行为是非常困难的,可扩展性是指系统 适应不断增长的用户数的能力。提高这种并发会话能力的一种最直观的方式就增加 资源(CPU,内存,硬盘等),集群是解决这个问题的另一种方式,它允许一组服 务器组在一起,像单个服务器一样分担处理一个繁重的任务。
• 适度的使用 • 关键在于判断业务之间的耦合性
主题
数据库基本问题调查 关系数据库的基本背景 ACID基本概念解析 范式问题解析(Normalization) 数据库的扩展性浅析 常见数据库系统回顾
一个小实验
如何将2个人从这里送到大学城? 如何将5个人从这里送到大学城? 如何将50个人从这里送到大学城? 如何将500个人从这里送到大学城? 如何将5000个人从这里送到大学城? 如何将50000个人从这里送到大学城?
• Google Spanner & BigTable & MegaStore • OceanBase、Hbase 缓存服务器 & KeyValue Store
• Tair • Memcached • Redis
数据库的主要特性
ACID • 原子性(Atomicity) • 完整性(Consistency) • 隔离性 (Isolation) • 持久性 (Durability)
基本概念
容错(Fault tolerance):
高可用性意味着对数据正确性的要求不那么高。在J2EE集群中,当一个服务器实例 失效后,服务仍然是有效的,这是因为新的请求将被冗余服务器处理。但是,当一 个请求在一个正在失效的服务器中处理时,可能得到不正确的结果。不管有多少个 错误,容错的服务应当能确保有严格的正确的行为。
失效转移(Failover):
失效转移是集群中用来获取容错能力的另一项关键的技术。当一个结点失效后,通 过选择集群中的另一个结点,处理将会继续而不会终止。转移到另一个结点可以被 显式的编码,或是通过底层平台自动地透明地路由到另一个服务器。
等幂方法(Idempotent methods):
等幂方法是指这样一些方法:重复用相同的参数调用都能得到相同的结果。这些方 法不会影响系统状态,可以重复调用而不用担心改变系统。例如:getUsername() 就是等幂的,而deleteFile就不是。当我们讨论HTTP Session失效转移和EJB失效转 移时,它是一个重要的概念。
MVCC
• Snapshot Isolation • Block Image + SCN + Undo Image 判断
差别在于读取哪个时间点的Snapshot
数据库中如何保证D
Log before Data LGWR before DBWn Flush Log on Commit
• Durability On Commit Checkpoint Before Redo Log File Reuse
讨论的背景
主题
数据库基本问题调查 关系数据库的基本背景 ACID基本概念解析 范式问题解析(Normalization)
数据库基本问题调查
大家都使用过哪些数据库? 哪些内容是数据库系统的关键点?
常见的数据存储
传统的数据库系统
• Oracle • DB2、SQL Server • MySQL、PosgreSQL 分布式数据库
Atomicity
• 要么全部成功,要么全不成功 Consistency
• 写入数据库的数据必须满足所有定义的约束规则(主键、唯一键、外键等 约束)
Isolation
• 确保并发执行的事务就如同串行执行的务一样,保证系统状态(state) 的一致性。
Durability • 一旦提交,哪怕出现掉电、Crash也不会丢数据
数据库的扩展性问题
数据库架构、系统架构在于:
• 如何满足如下的要求 检索问题
• Relation 并发问题
• Isolation • Consistency(UK) 一致性问题 • Isolation 速度问题
• Performance, Durability+Isolation
数据库检索问题
如何从班级的联系方式中找到XX的电话号码? 如何从公司的联系方式中找到XX的电话号码? 如何从移动公司的系统中找到XX的电话号码? 如何从移动、电信、联通的数据库找到XX的电话号码?
数据库的并发问题
同时有多个人要购买手机号? 如何保证大家购买的不是同一个手机号? 如何支持几百、几千、几万人同时购买手机号?
数据库的一致性问题
如何保证大家看到的库存有效? 如何保证读取的信息是准确的? 库存的变更如何实时的提供给每一个人看到?
数据库的性能问题?
如何快速的让1个人买到号码?
• 有多快? 如何快速的让10个人买到号码?
SCALE OUT 优缺点
• Scale Out 优点
• 成本低,很容易通过价格低廉的PC Server 搭建出一个处理 能力非常强大的计算集群;
• 不容易遇到瓶颈,因为很容易通过添加主机增加处理能力; • 单个节点故障对系统整体影响较小;也存在缺点,更多的计
数据库系统的扩展性
• Scale Up 则是指纵向的扩展,向上扩展,也就是通过增加当前 处理节点的处理能力来提高整体的处理能力,是通过升级现有 服务器的配置,如增加内存,增加CPU,增加存储系统的硬件 配置,或者是直接更换为处理能力更强的服务器和更为高端的 存储系统。
• Scale Out 就是指横向的扩展,向外扩展,也就是通过增加处 理节点的方式来提高整体处理能力,即通过增加机器来增加整 体的处理能力。
Relation & SQL • Structured Query Language (即SQL) • A Relational Model of Data for Large Shared Data Banks (By Edgar Codd)
RDBMS之前的数据库的问题
不支持数据独立性 数据库与应用系统之间的强耦合 应用系统的复杂度 应用系统本身的规模较小(性价比?)
高可用性(High availability):
单一服务器的解决方案并不是一个健壮方式,因为容易出现单点失效。像银行、账 单处理这样一些关键的应用程序是不能容忍哪怕是几分钟的死机。它们需要这样一 些服务在任何时间都可以访问并在可预期的合理的时间周期内有响应。集群方案通 过在集群中增加的冗余的服务器,使得在其中一台服务器失效后仍能提供服务,从 而获得高的可用性。