云服务是不是适合此应用程序?
Posted
技术标签:
【中文标题】云服务是不是适合此应用程序?【英文标题】:Is a cloud service suitable for this application?云服务是否适合此应用程序? 【发布时间】:2010-10-01 08:28:18 【问题描述】:我正在寻找弹出的云服务(例如 Amazon/Azure)的详细信息,并且想知道它们是否适合我的应用程序。
我的应用程序基本上有一个大约 500GB 的单表数据库。它以 3-5 GB/天的速度增长。 我需要从中提取文本数据,一次大约 100 万行,过滤大约 5 列。此提取的数据通常约为 1-5 GB,压缩后可达 100-500MB,然后在网络上提供。
这里有我现有实现的一些细节 One 400GB table, One query - Need Tuning Ideas (SQL2005)
所以,我的问题: 现有的云服务是否适合托管此类应用程序?存储这么多数据和带宽的成本是多少(带宽使用量约为 2GB/天)?
持久性系统是否适合存储这样的大型平面表,它们是否提供在多个列上进行搜索的能力?
我目前的实现在低于 10k 美元的硬件上运行,因此如果成本远高于 5k 美元/年,那么迁移就没有意义。
【问题讨论】:
是否需要从其他地方访问数据?如果不是,您为什么要承担“带宽使用量约为 2GB/天”的成本? 是的,需要访问几 GB(压缩到几百兆)。加上添加到数据库的 3-5 GB(也压缩 10 倍)需要上传。 假设这是 NOSQL,基于它是单个表的事实。这个正确吗? 【参考方案1】:鉴于海量数据及其增长速度,我认为亚马逊不是一个好的选择。我假设您希望将数据存储在持久存储中。但是对于 EC2,您需要分配给定数量的存储并将其作为磁盘附加。除非您想分配大量空间(然后为未使用的磁盘空间付费),否则您将不得不不断添加更多磁盘。我快速回顾了包络计算,我估计每年的托管费用在 2,500 美元到 10,000 美元之间。由于亚马逊收取的所有可变因素(实例正常运行时间、存储空间、带宽、磁盘 io 等),我很难准确估计。这是EC2 pricing。
【讨论】:
为什么不使用文档数据库?为什么要使用关系数据库来查询 1 个单表? NoSQL db 在这种方法上要快得多,例如,MongoHQ 提供的 SSD 驱动器对于这种应用程序来说会很可爱……为什么是 EC2?为什么选择关系数据库?【参考方案2】:假设这是非关系数据(不能在单个表上处理关系数据),您可以考虑使用 Azure 表存储,这是一种专为非关系结构化数据设计的存储机制。
您将遇到的问题是 Azure Tables 只有一个主索引,因此无法按您的要求按 5 列进行索引。除非您将数据存储 5 次,否则每次都按您希望过滤的列进行索引。不过不确定这是否会非常划算。
Azure 表存储的成本低至每月每 Gig 8c USD,具体取决于您存储的数据量。每笔交易和出口数据也有费用。 有关定价的更多信息,请点击此处; http://www.windowsazure.com/en-us/pricing/calculator/advanced/
您需要从哪里访问这些数据? 它是如何写入的?
基于此,还可以考虑其他选项,例如 Azure 驱动器等。
【讨论】:
以上是关于云服务是不是适合此应用程序?的主要内容,如果未能解决你的问题,请参考以下文章