小型数据存储:Amazon S3/DynamoDB vs. Windows Azure vs. Google Cloud
Small data storage: Amazon S3/DynamoDB vs. Windows Azure vs. Google Cloud
情况:
我有一个网站,用户可以在其中输入信息、保存信息、刷新页面并查看刚输入的信息。
目前我正在使用 sql 数据库,但打算迁移到某些云存储服务。
- 我将用户信息存储在 json 文档中。这通常是 30 KB 或更少,但最坏的情况可能是 900 KB。
- 我想要强烈的读后写一致性。
- 我期待 json 文档在未来增长,但不会超过 1 MB。
- 我希望save/load尽可能快(这是最不重要的)。
调查:
- AWS DynamoDB 限制字符串的最大大小为 400 KB。我可以尝试压缩 json 文档以满足此要求,但我担心将来文档会增长到无法压缩到 400 KB 的大小。
- AWS S3 最多可以存储 5 TB 的文件。但是不支持写后一致读。
问题:
我不熟悉 Windows Azure 或 Google Cloud。所以我的问题是:
- Windows Azure / Google Cloud 是否具有强读后写一致性?
- WindowsAzure/Google云对单个字符串大小有限制吗?
- 我目前使用 EC2 主机作为服务器。三者的上传速度有什么区别? (我想 S3 更快,因为我使用的是 EC2?)
- 是否有任何其他数据存储服务支持强写后读一致性、1 MB 单个字符串大小、save/load 1 MB 字符串小于 5 秒?
我会尽量从Azure的角度来回答你的问题。我相信也会有人从Google的角度回答。
Does Windows Azure / Google Cloud has strongly read-after-write
consistency?
是的,Azure 存储(Blob、表、队列、文件)遵循强一致性模型。如果写入成功,可以立即读取内容
Does Windows Azure / Google Cloud has any restriction on
single string size?
有限制。这取决于您使用的存储类型。如果你使用的是 Azure Blob 存储,那么你将使用 Block Blob
并且块 blob 的最大大小可以是 200 GB。如果您使用的是 Azure 表(即 Key/Value 对 NoSQL 存储),实体的最大大小可以为 1MB。如果您使用的是 DocumentDB,maximum size of a document can be 512KB
.
I am currently using EC2 hosts as server. What are the upload speed
difference among the three? (I guess S3 is faster since I am using
EC2?)
老实说,这是一个非常宽泛的问题,因为上传速度取决于很多因素。但是,是的,从速度的角度来看,将应用程序和数据存储在同一区域具有明显的优势,因为与在不同区域(或不同的云提供商)中相比,延迟会相对较低。我不建议将您的应用程序和存储拆分到不同的云提供商中。如果可能,将它们都放在同一个云提供商处。
Are there any other data storage services that supports strong
read-after-write consistency, 1 MB single string size, save/load less
than 5 sec for 1 MB string?
同样,这是一个征求意见的问题,范围很广,因此我不会回答这个问题。
情况:
我有一个网站,用户可以在其中输入信息、保存信息、刷新页面并查看刚输入的信息。
目前我正在使用 sql 数据库,但打算迁移到某些云存储服务。
- 我将用户信息存储在 json 文档中。这通常是 30 KB 或更少,但最坏的情况可能是 900 KB。
- 我想要强烈的读后写一致性。
- 我期待 json 文档在未来增长,但不会超过 1 MB。
- 我希望save/load尽可能快(这是最不重要的)。
调查:
- AWS DynamoDB 限制字符串的最大大小为 400 KB。我可以尝试压缩 json 文档以满足此要求,但我担心将来文档会增长到无法压缩到 400 KB 的大小。
- AWS S3 最多可以存储 5 TB 的文件。但是不支持写后一致读。
问题:
我不熟悉 Windows Azure 或 Google Cloud。所以我的问题是:
- Windows Azure / Google Cloud 是否具有强读后写一致性?
- WindowsAzure/Google云对单个字符串大小有限制吗?
- 我目前使用 EC2 主机作为服务器。三者的上传速度有什么区别? (我想 S3 更快,因为我使用的是 EC2?)
- 是否有任何其他数据存储服务支持强写后读一致性、1 MB 单个字符串大小、save/load 1 MB 字符串小于 5 秒?
我会尽量从Azure的角度来回答你的问题。我相信也会有人从Google的角度回答。
Does Windows Azure /
Google Cloudhas strongly read-after-write consistency?
是的,Azure 存储(Blob、表、队列、文件)遵循强一致性模型。如果写入成功,可以立即读取内容
Does Windows Azure /
Google Cloudhas any restriction on single string size?
有限制。这取决于您使用的存储类型。如果你使用的是 Azure Blob 存储,那么你将使用 Block Blob
并且块 blob 的最大大小可以是 200 GB。如果您使用的是 Azure 表(即 Key/Value 对 NoSQL 存储),实体的最大大小可以为 1MB。如果您使用的是 DocumentDB,maximum size of a document can be 512KB
.
I am currently using EC2 hosts as server. What are the upload speed difference among the three? (I guess S3 is faster since I am using EC2?)
老实说,这是一个非常宽泛的问题,因为上传速度取决于很多因素。但是,是的,从速度的角度来看,将应用程序和数据存储在同一区域具有明显的优势,因为与在不同区域(或不同的云提供商)中相比,延迟会相对较低。我不建议将您的应用程序和存储拆分到不同的云提供商中。如果可能,将它们都放在同一个云提供商处。
Are there any other data storage services that supports strong read-after-write consistency, 1 MB single string size, save/load less than 5 sec for 1 MB string?
同样,这是一个征求意见的问题,范围很广,因此我不会回答这个问题。