【发布时间】:2020-04-03 13:45:38
【问题描述】:
我想将 Google Cloud Storage 设置为我的数据湖,并且我正在使用 Pubsub + 数据流将交互保存到其中。 Dataflow 每 5 分钟创建一个新文件以将其存储在 GCS 文件夹中。这最终会导致给定文件夹中有很多文件。 GCS文件夹中可以保存的文件数量是否有限制?
【问题讨论】:
标签: file memory google-cloud-storage limit directory-structure
我想将 Google Cloud Storage 设置为我的数据湖,并且我正在使用 Pubsub + 数据流将交互保存到其中。 Dataflow 每 5 分钟创建一个新文件以将其存储在 GCS 文件夹中。这最终会导致给定文件夹中有很多文件。 GCS文件夹中可以保存的文件数量是否有限制?
【问题讨论】:
标签: file memory google-cloud-storage limit directory-structure
没有实际限制。请记住,云存储中甚至没有真正的“文件夹”。只是有路径名称类似于文件夹的对象,目的是帮助您组织和导航所有内容。
【讨论】:
上限是 5.2 pentillion,甚至需要很多年才能创建
我们将部分服务存储为零计算 JSON 文件,并在 GCP 存储桶中包含子文件夹。我想确认我们可以在一个存储桶中存储超过 42 亿个文件夹,这样我们就可以像在数据库中一样通过 ID 访问我们的文件(目前每个文件夹最多有超过 10 万个文件 - 我们基本上使用 GCP 存储桶作为一种类型读:写比率远超过 1m:1 的数据库)。
我要求我们的工程团队开票并确认我们的使用是实用的,并且可以通过 42 亿个项目。谷歌云支持证实,今天有客户使用云存储,远远超过 42 亿(32 位)的限制,达到数万亿,并且主索引目前涉及 64 位指针,这可能是唯一的限制。
64 位是 5.2 pentillion,准确地说是 9,223,372,036,854,775,807。
他们确实有其他相关的限制,例如每个存储桶每秒 1k 写入/5k 读取,它可以自动扩展但有细微差别,所以如果你认为你可能会达到这个限制,你可能想在这里阅读它: https://cloud.google.com/storage/docs/request-rate.
作为参考,这里有一般的存储配额和限制:https://cloud.google.com/storage/quotas
...它没有描述 64 位 / 5.2 pentillion 项目限制,可能是因为该限制实际上是不可能达到的,因为创建对象大约需要十年,之后它将是2032 年,他们可能会设计超过 64 位 :)
【讨论】: