Amazon开发并提供了一系列云计算服务,这些云计算服务共同构成了亚马逊的云计算服务平台AWS(Amazon Web Service)。
AWS提供的服务主要包括:基础存储架构Dynamo,弹性计算云EC2,简单存储服务S3,非关系型数据库服务SimpleDB和DynamoDB,关系数据库服务RDS,
简单队列服务SQS和内容推送服务CloudFront等。
简单存储服务S3的基本概念:
简单存储服务(Simple Storage Services,S3)构架在Dynamo之上,用于提供任意类型文件的临时或永久性存储。
S3的设计目标:
S3的总体设计目标是可靠、易用及低成本。
S3存储系统的基本结构:p104
两个基本概念:
桶(Bucket):
桶是用于存储对象的容器,其作用类似于文件夹,但桶不可以被嵌套,即在桶中不能创建桶。
目前,Amazon限制了每个用户创建桶的数量,但没有限制每个桶中对象的数量。
桶的名称要求在整个Amazon S3的服务器中是全局唯一的,以避免在S3中数据共享时出现相互冲突的情况。
在对桶命名时,建议采用符合DNS要求的命名规则,以便与CloudFront等其他AWS服务配合使用。
对象(Object):
对象是S3的基本存储单元,主要由数据和元数据组成。
数据可以是任意类型,但大小会受到对象最大容量的限制
元数据是数据内容的附加描述信息,通过名称-值(name-value)集合的形式来定义,可以是系统默认的元数据或者用户指定的自定义元数据。
系统默认的元数据:
每个对象在所在的桶中有唯一的键,通过(桶名,键名)来标识每个对象。
基本操作:
S3支持对桶和对象的操作,主要包括:Get、Put、List、Delete和Head。
S3的数据一致性模型:
S3中采用了最终一致性模型
S3中数据一致性模型的示意图:p105
在数据被充分传播到所有的存放节点之前,服务器返回给用户的仍是原数据。此时用户的操作可能会出现如下几种情况:
S3的安全措施:
S3的安全措施包括身份认证(Authentication)和访问控制列表(ACL)
(1)身份认证
(2)访问控制列表
访问控制列表是S3提供的可供用户自行定义的访问控制策略列表。S3的访问控制策略(ACP)提供如下所列的五种访问权限:
ACL不具有继承性
S3中有三大类型的授权用户: