我们有大约 1000 万个小文件 - blob,其中大多数在 1-2kB 左右,一些在 100kB 左右,极少数超过 1MB,总大小为 50GB。它们具有来自 MySQL 数据库的唯一整数 ID - 密钥。它们将始终通过密钥访问,永远不会被搜索。一个 Blob 的访问时间应为 50 毫秒。但我们希望偶尔将它们存档,或者进行一些批量删除或更新。我需要在谷歌云中选择合适的存储选项:
- 存储 - Blob 的自然选择。但不能很好地存档和恢复大量对象 - 没有批量下载/上传操作。
- 数据存储 - 是否适合用作 Blob 存储?但每个实体限制为 1MB。
- CloudSQL - 适合作为 blob 存储吗?
- 大桌子 - 太贵了:-(
- 自定义文件服务器 - NFS,Gluster,...
- 自定义NoSQL?也是一种选择,但我们更喜欢托管的Google解决方案。
- 其他?
要求,您将在Google Cloud Platform选项上受到一些限制。
理想的方法是使用数据存储,但是是的,它们对实体有大小限制。CloudSQL是一种选择,但它实际上是为事务设计的,因此运行它的成本更高。
因此,我会说 - 您需要使用 CloudSQL 或在实例上拥有自己的存储设置,直到他们希望增加限制。