技术开发 频道

MySQL在AmazonEC2上非常好的实践指导(二)

  Amazon简单存储服务(S3)

  在2006年,Amazon也发行了S3,它的在线存储Web服务。S3给开发人员提供一个简单、安全、本质上拥有无限能力的连续在线存储。S3可以被想成在“云”上的一个很大的磁盘驱动或一个SAN。和带宽的收费模式一样,Amazon对最终用户按每GB存储收费,,并且当存储和检索S3数据时要求收费。

  用S3您可以存储和获得Amazon认为是对象的无组织的数据。这些对象可以是拥有2KB相关元数据的从1 byte到5GB大小的任何地方的对象。尽管S3里没有目录或文件名,其功能相当于“Buckets”和对象。对象存储在“Buckets”当中,并由开发人员通过预设的唯一键进行检索。Buckets和其内部包含的对象存储在两个不同的物理区域中,但是它们可以从任何地方访问。使用一个REST和SOAP接口,开发人员可以创建、列出和检索Buckets和Objects,同时可以通过GET接口或者BitTorrent协议开始下载。

  Amazon Elastic Block Store (EBS)

  当EBS在2008年开始运营时,它是Amazon EC2最令人期待的特性之一。在EBS之前,EC2存储是和本地实例联系在一起的,这就意味着如果EC2实例破坏,本地实例上存储的数据就变得不可用了。为了解决该问题,Amazon创建了EBS,提供块级水平存储容量,其可以不考虑EC2实例的状态。对于开发人员,EBS Volume的出现作为标准的块机制,其大小从1GB变化到1TB。指定机制名称和块机制接口以后,用户可以配置一个他们选择的EBS Volume的文件系统。

  EBS Volume提供EC2更大程度的数据可移植性。例如,如果您想增加存储容量,您只需要对现有的EBS Volume进行快照,创建一个有更多容量的新的EBS Volume,并且附加返回到EC2实例。这也适用于您需要升级或者降级到一个不同的EC2实例类型的情况。很重要的一点,多种多样的EBS Volume可以被安装在相同的EC2实例上。这种通过多种多样的容量支持分段或分区数据,可以获得更好的输入/输出和吞吐性能。这对I/O密集型数据特别有用。

  EBS Volume相较于本地EC2存储的另一个好处就是,EBS Volume能够被复制和替换到Amazon所称的“可用区域”中。在一个单一区域内(美国或欧洲),使用EBS您可以拥有大量的可用区域。“可用区域”的潜在目的是转移在硬件事故中或站点故障中丢失的数据,并且在某一个(地理)区域内提供较低的延迟。每个可用性区域均在物理上拥有自己的分布式数据中心架构,和EC2实例连在一起的EBS VOLUME必须存在于相同的可用区域。

  EBS也支持给S3使用point-in-time快照进行备份。每个备份是一个不同的快照文件,只有自上次快照改变的的块数据文件被保存。对于您的MySQL数据库,Point-in-time快照能够以高效的方式创建持续的备份。

  如果您的MySQL数据库里的数据可用性很关键,那么就很有必要使用EBS Volume。,您不应允许EC2实例由于获取本地数据失败而使您的数据不可用。使用EBS,您可以很简单的开始另一个EC2实例并且把其放到EBS Volume上。其次,根据Amazon的EBS页面,“在几乎所有的案例中,Amazon EBS Volume的延迟和吞吐量设计显著优于Amazon EC2实例的存储。这就意味着,您的MySQL数据库的I/O性能运行在EBS应该比本地EC2存储上更好。考虑在您MySQL数据库中使用EBS的另外一个原因是,通过简单的把EBS Volume放在更大的EC2实例上,您就可以从一个实例类型升级到另一个。最后,正如所说的那样,EBS在MySQL数据库中提供创建快照的能力,因此,如果您需要运行您的数据库的其他副本,或者只是要求用简便的方式创建point-in-time恢复您的数据库,那就选择EBS Volume吧。

  版权声明:

  本文由上海爱可生信息技术有限公司根据甲骨文公司官方文档翻译整理而成,版权归属甲骨文公司,转载请保留此版权声明。

0
相关文章