数据库高并发升级方案1
高并发数据库解决方案

高并发高负载数据库架构策略在WEB网站的规模从小到大不断扩展的过程中,数据库的访问压力也不断的增加,数据库的架构也需要动态扩展,在数据库的扩展过程基本上包含如下几步,每一个扩展都可以比上一步骤的部署方式的性能得到数量级的提升。
1.WEB应用和数据库部署在同一台服务器上一般的小规模的网站采用这种方式,用户量、数据量、并发访问量都比较小,否则单台服务器无法承受,并且在遇到性能瓶颈的时候升级硬件所需要的费用非常高昂,在访问量增加的时候,应用程序和数据库都来抢占有限的系统资源,很快就又会遇到性能问题。
2.WEB应用和数据库部署在各自独立的服务器上web应用和数据库分开部署,WEB应用服务器和数据库服务器各司其职,在系统访问量增加的时候可以分别升级应用服务器和数据库服务器,这种部署方式是一般小规模网站的典型部署方式。
在将应用程序进行性能优化并且使用数据库对象缓存策略的情况下,可以承载较大的访问量,比如2000用户,200个并发,百万级别的数据量。
3.数据库服务器采用集群方式部署(比如Oracle的一个数据库多个实例的情况)数据库集群方式能承担的负载是比较大的,数据库物理介质为一个磁盘阵列,多个数据库实例以虚拟IP方式向外部应用服务器提供数据库连接服务。
这种部署方式基本上可以满足绝大多数的常见WEB应用,但是还是不能满足大用户量、高负载、数据库读写访问非常频繁的应用。
4.数据库采用主从部署方式在面向大众用户的博客、论谈、交友、CMS等系统中,有上百万的用户,有上千万的数据量,存在众多的数据库查询操作,也有较多的数据库写操作,并且在多数情况下都是读操作远大于写操作的。
在这个时候,假如能将数据库的读写操作分离的话,对于系统来讲是一个很大的提高啦。
数据库的主从部署方式就走到我们面前啦。
主从复制:几乎所有的主流数据库都支持复制,这是进行数据库简单扩展的基本手段。
下面以Mysql为例来说明,它支持主从复制,配置也并不复杂,只需要开启主服务器上的二进制日志以及在主服务器和从服务器上分别进行简单的配置和授权。
大数据高并发解决方案

大数据高并发解决方案在当今的数字化时代,数据的规模不断扩大,对于企业来说,如何有效地处理和分析大量的数据成为了一个重要的挑战。
同时,随着互联网的普及,用户对于响应速度的要求也越来越高,因此高并发性能成为了大数据处理的一个关键问题。
本文将介绍几种常见的大数据高并发解决方案,旨在帮助企业提高系统的性能和可扩展性。
首先,在应对大数据高并发的问题上,一种常见的解决方案是使用分布式存储和计算框架。
例如,Hadoop是一个流行的开源分布式处理框架,它能够将大量的数据分布式存储在不同的节点上,并进行并行计算。
通过将数据和计算任务分散到多个节点上,可以极大地提高系统的处理能力和并发性能。
另外一种解决方案是使用缓存技术。
大数据处理通常需要频繁地读取和写入数据,而这些操作往往会对底层存储系统造成较大的压力。
通过使用缓存技术,可以将经常使用的数据存储在内存中,从而减少对存储系统的访问次数,提高系统的响应速度。
常见的缓存技术包括Redis和Memcached,它们具有快速读写和高并发能力。
此外,使用负载均衡技术也是提高大数据高并发性能的一种有效方法。
负载均衡技术可以将请求均匀地分发到多个服务器上,从而提升系统的处理能力和响应速度。
常见的负载均衡算法包括轮询、最少连接和源IP哈希等。
通过合理配置负载均衡策略,可以平衡系统的负载,有效地提高系统的并发性能。
另外,在设计大数据系统时,还可以采用分布式数据库技术来提高系统的并发性能。
分布式数据库可以将数据分布在多个节点上,并且可以进行并行查询和分布式事务处理。
通过将数据分散到多个节点上,并行执行查询和事务操作,可以显著提高系统的处理能力和响应速度。
常见的分布式数据库技术包括HBase、Cassandra和MongoDB等。
此外,合理地优化系统的架构和算法也是提高大数据高并发性能的关键。
在设计系统架构时,可以采用分层架构和微服务架构,将系统拆分成多个模块,从而提高系统的可扩展性和并发性能。
数据库升级实施方案设计

数据库升级实施方案设计背景当前,我们的数据库系统已经运行了一段时间,并且随着业务的发展,出现了一些性能和稳定性方面的问题。
为了解决这些问题,我们决定对数据库进行升级。
目标本次数据库升级的主要目标是提升系统性能和稳定性,以支持更加高效的业务运行。
具体来说,我们希望实现以下目标:1. 提升数据库的处理能力,减少响应时间;2. 增加数据库的容量,以满足未来业务扩展的需求;3. 改进数据库的可用性,降低系统故障风险;4. 保证数据的安全性和完整性。
方案设计基于以上目标,我们提出了以下数据库升级的实施方案:1. 数据库升级版本选择:根据我们的系统需求和压力测试结果,我们决定升级到最新的稳定版本,以获得更好的性能和功能。
2. 数据库备份和恢复策略:在进行数据库升级前,我们将对数据库进行全量备份,并制定恢复策略,以防止数据丢失和系统故障。
3. 升级过程中的冗余系统:为了减少业务中断和风险,我们将建立一个冗余的数据库系统,并在升级过程中进行数据同步和切换操作。
4. 数据库性能优化:在数据库升级完成后,我们将对数据库进行性能分析和优化,以提升系统响应时间和处理能力。
5. 数据库容量规划:根据业务需求和未来扩展计划,我们将评估数据库的容量需求,并进行合理规划,以满足业务发展的需求。
6. 系统监控和维护:在数据库升级后,我们将建立完善的系统监控和维护机制,及时发现并解决潜在的问题,保证系统的稳定运行。
7. 数据安全管理:为了保证数据的安全性和完整性,我们将采取严格的数据权限管理措施,并定期进行数据备份和恢复测试,以应对可能的安全风险。
风险与控制在数据库升级过程中,可能会面临以下风险:1. 数据丢失或损坏:通过制定备份和恢复策略,并进行数据同步和切换操作,以最大程度地降低数据丢失的风险。
2. 业务中断:通过建立冗余系统和合理安排升级时间,以最小化业务中断的影响。
3. 升级失败:通过充分测试和监控机制,及时发现升级失败的情况,并及时回滚操作,以最小化系统故障的影响。
高并发应用数据库解决方案

高并发应用数据库解决方案在当今的信息化社会中,高并发应用的需求越来越普遍。
无论是电子商务、社交媒体还是在线游戏,都需要应对大量用户同时访问的情况。
而这种高并发的访问量对数据库的性能提出了更高的要求。
本文将介绍几种常见的高并发应用数据库解决方案,帮助您选择适合自己应用的方案。
一、读写分离架构读写分离是一种常见的解决高并发问题的方法。
该架构通过将读和写操作分离到不同的数据库实例中,可以提升系统的整体性能。
通常情况下,读操作远远多于写操作,因此将读操作分散到多个从数据库中可以有效减轻主数据库的负载。
同时,通过主从同步机制,保证数据的一致性。
在读写分离架构中,主数据库负责处理写操作,而从数据库负责处理读操作。
对于一些数据一致性要求较高的应用场景,可以使用主从同步工具实时同步数据,确保数据的一致性。
二、数据库分库分表数据库分库分表是一种常见的垂直拆分数据库的方式。
该方式通过将不同的数据分散到多个数据库实例中,减轻单一数据库的压力,提高系统的整体性能。
具体而言,将数据库按照业务功能或者数据类型进行拆分,每个数据库实例只负责处理相关的业务数据。
在数据库分库分表的架构中,常使用分片技术来实现数据的拆分和路由。
通过对数据进行分片,可以将数据分散到不同的数据库中,提高系统的并发读写能力。
三、缓存技术的应用缓存技术是常见的提高系统性能的手段之一。
通过使用缓存,可以将一部分热点数据存储在内存中,提高数据的访问速度。
对于高并发应用来说,缓存技术可以有效减轻数据库的压力。
常见的缓存技术包括内存数据库、分布式缓存和CDN等。
通过使用这些技术,可以将部分数据直接缓存在内存中,减少对数据库的访问。
四、数据库水平拆分数据库水平拆分是一种常见的解决高并发问题的方法。
该方式通过将一个表的数据拆分到多个数据库中,减少单一数据库的查询压力,提高系统的并发能力。
数据库水平拆分可以根据数据的某一字段进行拆分,例如按照用户ID进行拆分。
通过这样的方式,可以将不同的数据分散存储到不同的数据库中,提高系统的并发读写能力。
数据库高并发升级方案1讲解

XXXXXXXXXXXX平台数据库升级方案XXXXXXXXXXXXXXX有限公司日28月11年2016.修订记录版说作批批准日2011对升级方案进行编V1.0XXXX 1目录1. 概述 (4)1.1. 背景 (4)1.2. 目标与目的 (4)1.3. 可行性分析 (4)1.4. 参考依据 (5)2. 数据库高并发方案 (5)2.1. 数据库均衡负载(RAC) (5)2.2. 数据库主从部署 (8)2.3. 数据库垂直分割 (9)2.4. 数据库水平分割 (10)3. 二代办公平台数据库优化设计 ...........................113.1. 数据库集群 (11)3.2. 重点业务表分区 (11)3.3. 任务表历史数据分割 (12)3.4. 数据库表结构优化 (12)3.5. 数据访问优化 (12)4. 实施方案 (13)5. 工作量及预算评估 (14)5.1. 工作量及预算评估 (14)5.2. 其他费用 (15)1.概述1.1.背景随着XXXXXX平台及其他子系统业务量增多,且用户已面向各地州市,用户数量增大,现有的二代办公平台及其他子系统在单一环境下的架构体系和数据库架构体系也无法高效的满足这样的场景。
当前XXXXXX平台及其子系统通过搭建多台WEB服务器和双机热备份的方式进行部署运行。
虽已提高了整体效率,但对于部分的业务处理还是未解决。
部分业务量并发处理多,业务关联多等因素,导致对数据库并发处理的业务量大,读写量大等也无法用双机热备份进行解决。
因此,在此背景下提高数据库访问效率,增大访问吞吐量等将成为二代办公平台及其子系统运行顺畅的关键因素。
1.2.目标与目的目标:依托现有系统服务和设备环境,建立可扩容、高并发、高吞吐量的数据库架构体系。
目的:为缓解当前XXXXXX平台机器及其他子系统对数据库访问过大,造成的访问效率低下的问题,提升数据库访问效率和并发效率。
对部分业务繁杂的表和访问进行优化设计,缓解因此造成的使用效率低下问题。
高并发问题解决方案

高并发问题解决方案
《高并发问题解决方案》
高并发是指网络系统在一段时间内同时接收到大量的用户请求。
在面对高并发情况下,系统往往会出现性能瓶颈、服务器负载过高、请求响应速度慢等问题。
为了应对这些挑战,需要采取一系列有效的解决方案。
首先,可以通过硬件升级来提升系统的性能。
例如增加服务器数量、扩大内存容量、提高网络带宽等措施都可以有效提高系统的并发处理能力。
其次,可以通过优化代码和数据库来提升系统的性能。
比如对核心代码进行优化、采用缓存技术、使用数据库分库分表等方法,来减少系统的响应时间,提升系统的并发处理能力。
再次,使用负载均衡技术来分担服务器的负载。
通过负载均衡技术,可以将用户请求分发到不同的服务器上,从而减少单个服务器的负载,提高系统的并发处理能力。
另外,可以采用消息队列的方式来异步处理请求。
通过消息队列,可以将处理压力大的任务异步化处理,从而减少系统的并发压力,提高系统的稳定性。
最后,可以通过监控系统来及时发现并解决潜在的性能问题。
通过实时监控系统的性能指标,可以及时发现系统的负载情况,从而采取相应的措施来提升系统的并发处理能力。
综上所述,高并发问题的解决方案是一个综合性的工程,需要从硬件、软件、网络等多个方面进行综合考虑。
只有通过综合性的解决方案,才能有效提升系统的并发处理能力,保障系统的稳定性和性能。
大数据高并发解决方案

大数据高并发解决方案引言随着数字化时代的到来,大数据已经成为越来越多企业的核心资源。
大数据的使用能够为企业带来许多好处,例如增强决策能力、优化业务流程、提升用户体验等。
然而,大数据的处理和分析往往涉及到海量数据的并发读写,并且需要在实时性要求较高的情况下完成。
因此,在构建大数据平台的过程中,需要考虑高并发性能的解决方案。
本文将介绍一些常见的大数据高并发解决方案,并讨论其优缺点。
数据库读写分离数据库读写分离是一种常见的解决方案。
通过将读操作和写操作分开处理,可以减轻数据库的负载压力,并提高并发性能。
具体来说,可以将读操作分发到多个从库上,而将写操作只发送到主库上。
读写分离的好处是能够根据业务需求灵活地扩展读库的数量,提升系统的并发处理能力。
同时,读写分离也能够减轻主库的压力,增加了系统的稳定性。
然而,读写分离也存在一些缺点。
首先,由于读写分离需要同步数据到从库上,可能会引入数据不一致的问题。
其次,读写分离的配置和维护相对较复杂,需要考虑主从库的同步机制以及故障切换等问题。
缓存缓存是另一种常见的解决方案。
通过将热点数据存储在缓存中,可以减少对底层存储系统(如数据库)的读取次数,从而提高并发性能。
缓存的好处是能够显著减少数据库的负载,并且能够以较低的延迟提供数据访问服务。
此外,缓存还能够减少对底层存储系统的依赖,提高系统的稳定性。
然而,缓存也存在一些问题。
首先,缓存可能引入数据一致性问题。
如果缓存中的数据与底层存储系统中的数据不一致,可能会导致应用程序的错误行为。
其次,缓存的大小和生命周期需要谨慎设置,否则可能会浪费内存资源或者导致数据过期。
数据分片数据分片是一种将大数据集合分成小块进行存储和处理的解决方案。
数据分片能够将数据分布在多个节点上,并充分利用集群的并发处理能力。
数据分片的好处是能够实现数据的水平扩展,提升系统的并发处理能力。
同时,数据分片还能够提高系统的可用性,因为如果一个节点故障,其他节点依然可以继续工作。
高并发解决方案

高并发解决方案高并发解决方案1. 引言在当今互联网时代,随着用户数量的不断增长以及业务复杂度的提高,高并发访问成为了许多企业面临的一项重要挑战。
高并发问题的处理不仅涉及到服务器的性能优化,还需要考虑系统架构、数据库设计、缓存策略等方面的因素。
本文将介绍几种常见的高并发解决方案,帮助开发人员更好地应对高并发场景。
2. 优化数据库设计2.1 数据库分库分表在高并发场景下,单一数据库往往难以满足用户的查询、写入需求。
通过将数据按照某种规则进行分片存储,可以将负载分散到多个数据库节点上,提高系统的并发处理能力。
2.2 数据库读写分离将数据库的读写操作分开,读操作走读库,写操作走写库,可以有效降低数据库负载,提高系统的读写性能。
2.3 合理设计索引通过对常用查询字段添加索引,可以大大提高查询的性能。
但是过多或不合理的索引也会导致性能下降和存储空间浪费,需要根据实际情况进行权衡和优化。
3. 使用缓存3.1 页面缓存对于一些静态的页面或数据,可以将其缓存起来,减少数据库的查询次数和服务器的负载。
常见的页面缓存技术包括CDN、反向代理等。
3.2 数据缓存对于一些频繁查询且数据不经常变动的内容,可以将其缓存在内存中,例如使用Redis、Memcached等内存数据库。
这样可以大大提高系统的读取性能。
3.3 对象缓存对于一些经常被查询的对象,可以将其缓存在应用服务器的内存中,以提高查询效率。
常见的对象缓存可以使用Redis、Ehcache等缓存框架实现。
4. 使用消息队列将耗时的业务操作转化为异步操作,并使用消息队列来进行任务的分发和处理,可以避免请求堆积和服务器资源的浪费。
当有大量请求到达时,系统可以通过消息队列来平滑处理,保证系统的稳定性和响应速度。
5. 采用分布式架构5.1 分布式集群使用分布式集群架构可以将系统的负载分散到多个机器上,提高系统的并发处理能力。
常见的分布式集群架构有主从复制、分片、分布式缓存等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XXXXXXXXXXXX平台数据库升级方案XXXXXXXXXXXXXXX有限公司2016年11月28日目录1. 概述 (4)1.1. 背景 (4)1.2. 目标与目的 (4)1.3. 可行性分析 (4)1.4. 参考依据 (5)2. 数据库高并发方案 (5)2.1. 数据库均衡负载(RAC) (5)2.2. 数据库主从部署 (8)2.3. 数据库垂直分割 (9)2.4. 数据库水平分割 (10)3. 二代办公平台数据库优化设计 (11)3.1. 数据库集群 (11)3.2. 重点业务表分区 (11)3.3. 任务表历史数据分割 (12)3.4. 数据库表结构优化 (12)3.5. 数据访问优化 (12)4. 实施方案 (13)5. 工作量及预算评估 (14)5.1. 工作量及预算评估 (14)5.2. 其他费用 (15)1.概述1.1.背景随着XXXXXX平台及其他子系统业务量增多,且用户已面向各地州市,用户数量增大,现有的二代办公平台及其他子系统在单一环境下的架构体系和数据库架构体系也无法高效的满足这样的场景。
当前XXXXXX平台及其子系统通过搭建多台WEB服务器和双机热备份的方式进行部署运行。
虽已提高了整体效率,但对于部分的业务处理还是未解决。
部分业务量并发处理多,业务关联多等因素,导致对数据库并发处理的业务量大,读写量大等也无法用双机热备份进行解决。
因此,在此背景下提高数据库访问效率,增大访问吞吐量等将成为二代办公平台及其子系统运行顺畅的关键因素。
1.2.目标与目的目标:依托现有系统服务和设备环境,建立可扩容、高并发、高吞吐量的数据库架构体系。
目的:为缓解当前XXXXXX平台机器及其他子系统对数据库访问过大,造成的访问效率低下的问题,提升数据库访问效率和并发效率。
对部分业务繁杂的表和访问进行优化设计,缓解因此造成的使用效率低下问题。
1.3.可行性分析数据库性能分析:根据当前的数据库性能分析,当前硬件设备的提高也无法满足数据库性能的提升,因此应考虑数据库访问控制和数据访问方面进行优化。
现有的数据库虽也实现双机热备份,但访问的效率未较大改善,因此应考虑各健全的数据库高并发访问方案。
数据库优化分析:当前的数据库采用的ORACLE数据库,同时,现有的均衡负载、读写分离、数据分割技术较为成熟,在对系统进行适当调整和优化的情况下,能保证系统的正常运行。
1.4.参考依据《Oracle RAC核心技术详解》2.数据库高并发方案2.1.数据库均衡负载(RAC)RAC,全称real application clusters,译为“实时应用集群”,是Oracle 新版数据库中采用的一项新技术,是高可用性的一种,也是Oracle数据库支持网格计算环境的核心技术。
Oracle RAC主要支持Oracle9i、10g、11g版本,可以支持24 x 7 有效的数据库应用系统,在低成本服务器上构建高可用性数据库系统,并且自由部署应用,无需修改代码。
在Oracle RAC环境下,Oracle集成提供了集群软件和存储管理软件,为用户降低了应用成本。
当应用规模需要扩充时,用户可以按需扩展系统,以保证系统的性能。
RAC是一种并行模式,并不是传统的主备模式。
也就是说,RAC集群的所有成员都可以同时接收客户端的请求。
RAC具备以下特点:双机并行:RAC是一种充分利用服务器资源的高可用性实现方案,RAC的并行模式实现方式与传统的双机热备实现方式截然不同,图1-1是两者的比较。
如图1-1所示,两个节点在传统的双机热备环境中,始终有一台机器作为备用机,只有当主节点出现问题的时候才会切换到备用机上;如果主机一直没有出现问题,那么备用机始终处于空闲状态,这在资源的利用上以及成本方面都是巨大的浪费。
但RAC是一种并行模式的架构,也就是说,两个节点的集群节点间是一种并行运行的关系,当一台机器出现问题,请求会自动转发到另一台机器,没有任何一台机器作为备用机一直不被使用,这样就充分利用了服务器资源。
同时,传统的双机热备构架在出现问题时,常常需要数分钟的切换时间,而RAC在出现问题时,针对存在的会话只需要数十秒的时间就可以完成失败切换过程,对新会话的创建不会产生影响,在切换时间上也有比较大的优势。
▲图1-1 双机热备与RAC并行模式对比高可用性:RAC是Oracle数据库高可用性解决方案。
高可用性包含两部分的内容:首先是在这种解决方案下要确保数据不丢失,这是最基础的也是必须要保证的;其次是确保不停机,使Oracle数据库一直维持在正常的运行状态,避免停机给客户带来的损失,这是讨论最多的内容。
停机一般分为两类,计划停机和非计划停机。
所谓计划停机是有计划地安排节点或者系统的停机,一般在Oracle升级、系统维护或者硬件维护的情况下会出现。
非计划停机就是在非人为计划的情况下突然停机,这种情况一般是在Ora cle bug、系统故障、硬件故障或人为操作失败的时候出现。
在没有较高花费的情况下,想实现系统100%的不停机几乎是不可能的。
表1 -1列出了特定百分比高可用性比率运行停机的时间,详细记录了每种高可用性比率每年、每月、每周可以出现最大的停机时间。
通常情况下,以每月停机时间来计算对应的可用性比率。
根据系统的重要性情况,应该为系统设定合理的可用性比率。
集群最大的优势在于它的高可用性,通过使用RAC可以在一定程度上避免因为硬件或软件故障引起的数据丢失和非计划停机,并在一定程度上减少或排除计划停机时间。
这是很多客户选择RAC的最直接原因。
RAC中包含了非常多的高可用特性,主要包含如下几点:·实现节点间的负载均衡。
·实现失败切换的功能。
·通过Service组件来控制客户端的访问路径。
·集群软件能够自动化管理各个资源,并且有定时的节点状态检测机制,能自动对一些失败的进程以及心跳检测失败的节点进行重启,使其重新恢复到正常的运行状态。
在Oracle 11gR2版本中,Clusterware得到了改善,提供了更高的可用性。
例如,大量新的基于代理的监控系统用于监控所有的资源。
这些代理使用更少的资源执行更频繁的检查,即更快速的失败扫描和更短的恢复时间。
在Oracle监听的例子中,平均失败扫描时间从5分钟减少到30秒,同时,检查间隔从每10分钟减少到1分钟。
另外,Clusterware的“Out-of-Place Upgrade”等特性也减少了软件维护需要的停机时间。
易伸缩性:RAC为需要重新规划的应用提供了易扩展性。
为了在系统初始阶段保持较低的成本,避免造成不必要的浪费,集群可以按照标准硬件配置,选择适当的服务器资源、存储资源来搭建数据库环境。
当系统需要更多的处理能力或者需要增加存储时,通过添加另一台服务器或存储设备到集群中,能够在不停机的情况下获得水平的扩展。
在一个集群中, Clusterware和RAC支持多达100个集群节点。
当某个集群的处理能力过剩,另一个集群的处理能力不够时,可以从处理能力过剩的集群移动一个节点到处理能力不够的集群中。
这样能够充分利用服务器资源,节约成本。
11gR2版本中推出了网格即插即用(Grid Plug and Play,GPn P),可以实现节点的快速添加。
低成本:通过多台普通的PC服务器组成一个集群,可以提高集群的处理能力,这样要比采用一台高性能的服务器的成本低很多。
如果想提高系统的处理能力,给集群添加节点比为高性能服务器添加硬件要容易得多。
另外,使用集群还能动态地移除节点,更加充分地利用管理者掌握的所有服务器资源,从服务器整体使用上降低了服务器的采购成本。
越来越多的企业愿意将集群解决方案应用到他们的系统中,以降低成本,提高系统的可用性。
高吞吐量:RAC是由多台服务器构成的逻辑主体,比单台数据库服务器能接收更多的客户端请求。
这在要求高吞吐量的系统中,能够得到非常明显的体现。
在RAC的架构中,多个实例分布在多个服务器上,能同时打开同一个数据库,而每个实例能够接收相等数量的客户端请求,这样,随着服务器的增加,吞吐量也在不断地增加。
2.2.数据库主从部署主从复制:几乎所有的主流数据库都支持复制,这是进行数据库简单扩展的基本手段。
Oracle的主从复制可采用DataGuard技术,DataGuard是Oracle数据库自带的数据同步功能,基本原理是将日志文件从原数据库传输到目标数据库,然后在目标数据库上应用(Apply)这些日志文件,从而使目标数据库与源数据库保持同步。
DataGuard提供了三种日志传输(Redo Transport)方式,分别是ARCH 传输、LGWR同步传输和LGWR异步传输。
在上述三种日志传输方式的基础上,提供了三种数据保护模式,即最大性能(Maximum Performance Mode)、最大保护(Maximum Protection Mode)和最大可用(Maximum Availability Mode),其中最大保护模式和最大可用模式要求日志传输必须用LGWR同步传输方式,最大性能模式下可用任何一种日志传输方式。
读写分离:读写分离是架构分布式系统的一个重要思想。
不少系统整体处理能力并不能同业务的增长保持同步,因此势必会带来瓶颈,单纯的升级硬件并不能一劳永逸。
针对业务类型特点,需要从架构模式上进行一系列的调整,比如业务模块的分割,数据库的拆分等等。
2.3.数据库垂直分割主从部署数据库中,当写操作占了主数据库的CPU消耗的50%以上的时候,我们再增加从服务器的意义就不是很大了,因为所有的从服务器的写操作也将占到 CPU消耗的50%以上,一台从服务器提供出来查询的资源非常有限。
数据库就需要重新架构了,我们需要采用数据库垂直分区技术啦。
最简单的垂直分区方式是将原来的数据库中独立的业务进行分拆(被分拆出来的部分与其它部分不需要进行Join连接查询操作),比如WEB站点的BLOG和论坛,是相对独立的,与其它的数据的关联性不是很强,这时可以将原来的数据库拆分为一个BLog库,一个论坛库,以及剩余的表所组成的库。
这三个库再各自进行主从数据库方式部署,这样整个数据库的压力就分担啦。
另外查询扩展性也是采用数据库分区最主要的原因之一。
将一个大的数据库分成多个小的数据库可以提高查询的性能,因为每个数据库分区拥有自己的一小部分数据。
假设您想扫描1亿条记录,对一个单一分区的数据库来讲,该扫描操作需要数据库管理器独立扫描一亿条记录,如果您将数据库系统做成50个分区,并将这1 亿条记录平均分配到这50个分区上,那么每个数据库分区的数据库管理器将只扫描200万记录。
2.4.数据库水平分割在数据库的垂直分区之后,假如我们的BLOG库又再次无法承担写操作的时候,我们又该怎么办呢?数据库垂直分区这种扩展方式又无能为力了,我们需要的是水平分区。