我正在创建一个文件系统,我想我会将文件存储在数据库中(http://sietch.net/ViewNewsItem.aspx?NewsItemID=124和http://blog.druva.com/2009/01/25/file-systems-vs-databases/似乎表明这是一个好主意)。
由于它是一个文件系统,我需要很多I / O并且真的很快。如果我在EC2上托管,Amazon SimpleDB是否会成为一个不错的解决方案?
答案 0 :(得分:1)
SimpleDB的最大记录大小为1,000 BYTES,因此它非常不适合存储文件/ blob(除非它们很小)。
人们使用SimpleDB索引文件,然后将文件存储在S3中,这更适合存储大型对象,这是很常见的。
答案 1 :(得分:0)
SimpleDB(和最近的DynamoDB)不适合存储文件。为什么不对其中一个进行版本控制,索引存储在S3上的文件?
您不需要覆盖S3上的文件,因为您可以根据需要为其命名,并从数据库中获取原始名称(和其他信息)。例如,对于文本文件,您甚至可以在数据库上预览或开始文件,或者对于图像,在S3上有缩略图并从数据库获取此信息,因此当用户列出他们获得的文件时只有缩略图,如果需要,他们会下载完整尺寸的文件。
查看http://aws.amazon.com/en/dynamodb/faqs/#When_should_I_use_Amazon_DynamoDB_vs_Amazon_S3和http://aws.amazon.com/en/running_databases/