我收集了1kB大小的大量数据块(数亿个数亿),并且需要一种存储和查询这些数据块的方法。数据块被添加,但从未删除或更新。我们的服务部署在S3,EC2平台上。
我知道亚马逊SimpleDB的存在,但我想要一个平台不可知论的解决方案(例如,如果我们需要离开AWS )。
所以我的问题是,这两种存储和检索数据块的方法的利弊是什么。表现如何?
上
会有那么大的性能差异吗?
发布于 2009-04-29 21:32:58
您需要直接向应用程序的用户提供对这些数据块的访问吗?如果不是,那么S3和HTTP请求就是过头了。考虑到S3是一个安全的服务,每个GET请求(仅1KB的数据)的开销将相当大。
MySQL服务器集群是一个更好的主意,但是要在EC2中运行,您需要使用弹性块存储。最后,不要排除SimpleDB。这也许是解决你问题的最好办法。仔细设计您的系统,以后您就可以轻松地在其他数据库系统(分布式或关系系统)中迁移。
发布于 2009-05-14 04:19:16
我尝试使用S3作为一种“数据库”,使用微小的XML文件来保存我的结构化数据对象,并依赖S3“键”查找这些对象。
这种性能是不可接受的,甚至从EC2到S3的延迟也太高了。
即使有这么多记录,在EBS设备上运行MySQL也要快一个数量级。
https://stackoverflow.com/questions/804333
复制相似问题