0

我正在为以下场景寻找云计算解决方案,但我在 Amazon AWS 等中找不到任何符合我的问题描述的服务。你知道我的问题有什么云计算平台吗?

一般问题: 我想对数据流进行一些数据分析(每秒只有大约 1k)。数据分析由一组在该数据流上运行的独立线程执行。每个线程只计算一个布尔值。我拥有的线程越多,计算结果就越好。

我目前的解决方案: 我从另一个部门购买了一个装有 Intel Core i7 的盒子,但现在他们想要它回来:-)。

理想的解决方案: 一些服务为我提供了一个抽象机器(如具有无限资源的 JVM),我可以在其上生成大量线程。还需要某种连接来流式传输输入数据并取回计算结果(< 1k 每秒)。事情应该实时发生(而不是像“在接下来的几分钟内”那样安排执行)。

所以瓶颈不是内存或磁盘空间,而只是计算能力和延迟。(而且由于我时不时需要数据分析,所以云计算在这里似乎在经济上是合理的。)

4

4 回答 4

2

有趣的是,我刚刚写了一篇关于让 Hadoop 运行得更快的文章,其中我指出流基础处理尽可能地加快输入的处理时间,而不是批量处理它们。该解决方案使用名为 Cloudify 的开源项目。

Cloudify允许我通过单个命令在 Amazon 或任何其他云上生成整个环境,并随着负载的增长自动扩展处理。

此处提供了带有源代码和分步指南的演示环境

在我看来,这可能会满足您的需求 - 如果不是这种情况,请告诉我,我会进一步深入研究,看看我是否可以提出其他解决方案。

于 2012-08-23T23:54:13.987 回答
1

对于主要供应商的完整性,您有几类选择:

  1. 可扩展的云计算,来自 AWS 它是 EC2;来自 Google,它是 Google Compute Engine(仍处于私人测试阶段);来自微软的 Azure 虚拟机(也仍处于私人测试阶段)。当然,还有许多其他供应商,例如 Rackspace(使用 OpenStack 等)。鉴于您的情况,我相信此类别中的某些内容将是您的最佳选择

  2. 基于云的 MapReduce(在 Hadoop 上运行) ——来自 AWS,即 Elastic MapReduce;来自 Google 的 BigQuery;来自 Microsoft 的 Azure 上的 Hadoop(仍处于测试阶段)。在这个领域还有其他供应商...... Cloudera、HortonWorks 等......这里有一个列表。

  3. 基于云的数据库(RDBMS 或 NoSQL)——这里有很多选择。因为您将您的场景描述为“计算密集型”,所以我认为这可能不需要。但是,根据上行/下行流量的数量和频率,如果您的场景允许批处理,那么您可以选择上传、处理和存储在云中,然后通过时间表下拉。在 AWS 中,托管 RDBMS 的方法有很多——通常选择 RDS 或 EC2;对于 Google,您可以通过 Google Cloud SQL 访问 MySQL;对于 Microsoft,您的选择是 Azure VM 上的 SQL Azure 或 SQL Server(后者仍处于测试阶段)。对于云托管的 NoSQL,您拥有 AWS DynamoDB;从谷歌你有谷歌云存储或高复制存储(后者要求你使用 GAE);从 Microsoft 获得 Azure 存储(表、blob 和队列)。
于 2012-08-24T00:27:14.273 回答
1

我注意到您标记了 google-app-engine。可能不是您想要的,它更多的是用于 Web 服务。不过,Google 相对较新的 Compute Engine 与您的描述相符。

http://cloud.google.com/products/compute-engine.html

于 2012-08-23T14:36:03.330 回答
1

对于您的情况,我强烈推荐 Amazon Elastic MapReduce。您可以参考此文档了解详细信息:- Amazon EMR

如果您是 AWS 的新手,最初可能会有些困难,但一旦您知道它是如何工作的,那就太好了。

于 2012-08-23T13:25:11.627 回答