处理千兆字节的数据

时间:2009-07-31 11:28:07

标签: hadoop dataset

我将开始一个新项目。我需要在.NET应用程序中处理数百个数据。现在很早就提供关于这个项目的详细信息。一些概述如下:

  1. 大量写入和大量读取相同的表,非常实时
  2. 扩展非常重要,因为客户端经常坚持扩展数据库服务器,因此,应用程序服务器也是如此
  3. 预测,可以实现聚合查询的大量使用
  4. 每行数据可能包含许多要处理的属性
  5. 我建议/有以下作为解决方案:

    1. 使用分布式哈希表的持久性(不是S3而是内部的)
    2. 对于跨节点的任何分析过程,使用Hadoop / Hive喜欢(.NET中的任何替代?)
    3. ASP.NET / Silverlight中的Impelement GUI(需要大量的ajaxification)
    4. 你们觉得怎么样?我在这里有意义吗?

5 个答案:

答案 0 :(得分:2)

您的目标是绩效,可维护性,提高成功的可能性,是否具有前沿性?

不要过早放弃关系数据库。使用100美元的外部硬盘和样本数据生成器(RedGate很好),您可以非常轻松地模拟这种工作负载。

在非关系数据库和云数据库上模拟该工作负载,您可能正在编写自己的工具。

答案 1 :(得分:2)

“预见,可以实现聚合查询的大量和大量使用”

这是数据仓库的标志。

这是DW处理的技巧。

  1. 数据是FLAT。事实和维度。最小的结构,因为它主要是加载而不是更新。

  2. 要进行聚合,每个查询都必须是简单的SELECT SUM() or COUNT() FROM fact JOIN dimension GROUP BY dimension attribute。如果您正确执行此操作以使每个查询都具有此表单,则性能可能非常非常好。

  3. 数据可以存储在平面文件中,直到您想要聚合为止。然后加载人们实际打算使用的数据,并从主数据集创建“datamart”。

  4. 没有什么比简单的平面文件更快。您不需要任何复杂性来处理数TB的(根据需要)加载到RDBMS数据集中以进行聚合和报告的平面文件。

    使用RDBMS的工具可以非常快速地简单地处理简单的维度和事实表。

    您可以使用超高速平面文件处理轻松预分配所有PK和FK。这使得批量加载变得更加简单。

    获取Ralph Kimball的数据仓库工具包书籍。

答案 2 :(得分:1)

现代数据库与千兆字节一起工作得非常好。当你进入太字节和数PB时,RDBMSs往往会崩溃。如果您预见到这种负荷,可能是医生要求的HBase或Cassandra之类的东西。如果没有,花一些时间调整数据库,插入缓存层(memached)等。

答案 3 :(得分:0)

“在同一张桌子上进行大量读写,非常实时” - 诚信是否重要?其中一些是事务性的吗?如果是这样,请坚持使用RDBMS。

扩展可能很棘手,但这并不意味着您必须使用云计算。 DBMS中的复制通常会与Web应用程序集群,负载平衡器等一起发挥作用。

答案 4 :(得分:0)

让RDBMS有责任保持诚信。并将此项目视为数据仓库。 保持一切清洁,您不需要使用许多第三方工具:使用RDBMS工具。 我的意思是,使用RDBMS具有的所有工具,并编写一个GUI,使用精心设计的物理数据模型(索引,分区等)编写好的存储过程从Db中提取所有数据。

Teradata可以处理大量数据并且可以扩展。