【问题标题】:Small data storage: Amazon S3/DynamoDB vs. Windows Azure vs. Google Cloud小数据存储:Amazon S3/DynamoDB vs. Windows Azure vs. Google Cloud
【发布时间】:2016-06-09 11:13:39
【问题描述】:

情况:

我有一个网站,用户可以在其中输入信息、保存信息、刷新页面并查看他们刚刚输入的信息。

目前我正在使用 sql 数据库,但计划迁移到一些云存储服务。

  1. 我将用户信息存储在 json 文档中。这通常是 30 KB 或更少,但最坏的情况可能是 900 KB。
  2. 我想要强写后读一致性。
  3. 我希望 json 文档在未来会增长,但不会超过 1 MB。
  4. 我希望尽可能快地保存/加载(这是最不重要的)。

调查:

  1. AWS DynamoDB 将字符串的最大大小限制为 400 KB。我可以尝试压缩 json 文档来满足这个要求,但我担心将来文档会增长到无法压缩到 400 KB 的大小。
  2. AWS S3 可以存储高达 5 TB 的文件。但是,它不支持写后一致性读。

问题:

我不熟悉 Windows Azure 或 Google Cloud。所以我的问题是:

  1. Windows Azure / Google Cloud 是否具有强读写一致性?
  2. Windows Azure / Google Cloud 对单个字符串大小有任何限制吗?
  3. 我目前使用 EC2 主机作为服务器。三者的上传速度有何不同? (我猜 S3 更快,因为我使用的是 EC2?)
  4. 是否还有其他数据存储服务支持强读写一致性、1 MB 单个字符串大小、1 MB 字符串的保存/加载时间小于 5 秒?

【问题讨论】:

  • Google Cloud 产品有多种,每种产品都有自己的一致性承诺。对于像这样的小对象,您可能需要 Google Cloud Datastore,或者如果您计划将它们变得非常大,您可能需要 Google Cloud Storage。两者都有优点和缺点,但在直接读取特定对象或行时两者都具有很强的一致性。您可能也有兴趣使用 Firebase 等更高级别的服务:firebase.google.com
  • 奇怪的是,SimpleDB 具有一致的读取和 1MB 的最大响应大小,任何单个属性的最大大小为 1K...所以也许有一些有用的东西...但不知道你为什么想要远离 RDBMS 的黄金标准。
  • 感谢大家的回复。我的最终设计是每次用户单击保存时创建一个新的 S3 文档,更新 DynamoDB 以存储新的 S3 链接,删除旧的 S3 文档以释放空间。在 S3 中创建新文档具有很强的一致性,并且在 DynamoDB 中仅保存一个 S3 链接不会给我任何空间问题。谷歌云存储绝对是一个不错的选择,但由于我使用的是 EC2 主机,我觉得 S3+DynamoDB 是最好的选择
  • @BrandonYarbrough 对于大型项目(除了每个实体的写入速度限制)不使用 Google Cloud Datastore 有什么特别的原因吗?

标签: azure amazon-web-services amazon-s3 google-cloud-storage amazon-dynamodb


【解决方案1】:

我将尝试从 Azure 的角度回答您的问题。我相信也会有人从 Google 的角度来回答。

Windows Azure/Google Cloud 是否具有强读写后写功能 一致性?

是的,Azure 存储(Blob、表、队列、文件)遵循强一致性模型。如果写入成功,则可以立即读取内容。

Windows Azure / Google Cloud 有没有限制 单个字符串大小?

有限制。这取决于您使用的存储类型。如果您使用的是 Azure Blob 存储,则出于您的目的,您将使用 Block Blob,并且块 blob 的最大大小可以是 200 GB。如果您使用 Azure 表(即键/值对 NoSQL 存储),则实体的最大大小可以为 1MB。如果您使用的是 DocumentDB,请maximum size of a document can be 512KB

我目前使用 EC2 主机作为服务器。上传速度是多少 三者的区别? (我猜 S3 更快,因为我正在使用 EC2?)

老实说,这是一个非常广泛的问题,因为上传速度取决于许多因素。但是,是的,从速度的角度来看,将应用程序和数据存储在同一个区域具有明显的优势,因为延迟会比它们在不同区域(或不同的云提供商)中相对更低。我不建议将您的应用程序和存储拆分到不同的云提供商中。如果可能,请将它们都放在同一个云提供商。

还有其他支持强数据存储服务吗 写后读一致性,1 MB 单个字符串大小,保存/加载更少 1 MB 字符串超过 5 秒?

同样,这是一个征求意见的问题,范围很广,因此我不会回答这个问题。

【讨论】:

    猜你喜欢
    • 2015-05-09
    • 1970-01-01
    • 2020-05-06
    • 2012-03-11
    • 1970-01-01
    • 2020-05-05
    • 2017-04-28
    • 2011-03-09
    • 2014-05-01
    相关资源
    最近更新 更多