S3(Simple Storage Service,简单存储服务),即可扩展的云存储,又称桶存储,S3 是一种面向 Internet 的存储服务。
S3为任意类型的文件提供临时或永久的存储服务。用于存储图片、视频、音乐和文档。S3是专为大型,非结构化的数据块设计的S3 设置了最小的功能集:写入、读取和删除数据元Bucket(1 字节到 5 TB 数据)S3系统构架在Dynamo之上,采取的并不是传统的关系数据库存储方式,原因:
- 简单、高效;
- 存储、读取,非查询:非传统关系数据库存储模式,关系数据库只会增加系统的复杂性
S3基本概念:
1.对象:S3的基本存储单元(数据、元数据),数据类型任意- 数据(任意类型)和元数据(描述数据的数据 )
- 元数据是通过一对键-值(Name-Value)集合来定义
系统默认元数据:
2.键:对象的唯一标示符
3.桶:存储对象的容器
不能嵌套在S3中名称唯一每个用户最多创建100个桶
4、基本操作
根据Amazon提供的技术文档,目前S3支持的主要操作包括:Get、Put、List、Delete和Head5、S3的数据一致性模型:
S3系统采用冗余存储最终一致性模型- 优势:某些服务器出现故障时用户仍然可以对其数据进行操作
- 弊端:用户在操作时可能会出现获取的数据为原来的数据。
出现这些现象是因为S3为了保证用户数据的一致性而采取的一种折中手段,即在数据被充分传播到所有的存放节点之前返回给用户的仍是原数据。
S3的安全措施:
1.身份认证:数字签名方式基于HMAC-SHA1的数字签名方式来确定用户身份
2.访问控制列表
- S3提供的可供用户自行定义的访问控制策略列表
- S3中有三大类型的授权用户
1)所有者
2)个人授权用户 3)组授权用户
S3上传速率的测试
对于美国的服务器:10Mbit的宽带上传速率平均在300KB/秒。
多连接并行传输可以大幅提升传输速率。如:多线程并行上传(20个并行任务)平均在:21M/秒在不考虑成本的情况下,结合EC2进行上传可以提高上传速率。平均在2-2.5MB/秒。