我通过构建应用程序自学JavaScript和PHP,我决定使用Amazon EC2和S3作为平台。我的问题是将S3用作“数据库”,但我将从一些背景开始。
该应用使用此类与S3存储桶进行交互:http://undesigned.org.za/2007/10/22/amazon-s3-php-class/documentation#getObject
当用户登录应用程序时,应用程序将从S3存储桶下载文件。每个用户都有自己的文件。使用JSON,它将带来数据客户端,然后大多数“交互”是客户端(使用JavaScript)和一些PHP。一旦用户完成(可能在30分钟左右),应用程序将保存/上传并替换S3文件。
我所有这一切背后的理由是,我认为该应用程序将具有很高的可扩展性。我希望我可以使用负载平衡,每个实例都可以直接与S3交互。如果有很多用户登录,我可以简单地创建许多“微”或“小”实例来处理它们。 EC2的一个缺点是,如果实例崩溃或脱机,所有数据都会丢失,所以我的想法是,而不是经常不得不备份所有内容 - 为什么不首先在S3周围构建应用程序?
我的问题:这有意义吗?有没有理由我没有在“现实世界”中看到过很多关于这种事情的例子?
非常感谢您的时间!
干杯,
答案 0 :(得分:8)
我刚访问了这个网站,该网站很好地描述了使用S3作为数据库的经验
http://petewarden.typepad.com/searchbrowser/2010/10/how-i-ended-up-using-s3-as-my-database.html
答案 1 :(得分:2)
你见过Amazon SimpleDB吗?
创建自己的数据存储区并将其存储在S3上听起来并不实用,特别是因为你必须每隔30分钟上传和下载一个文件,这对我来说几乎听起来不太可能!如果您的服务器出现故障或文件丢失怎么办?
您可以在亚马逊上运行MySQL和其他数据库,为什么不将它们(比如说每天)备份到S3上。