人们似乎非常热衷于将现有应用程序迁移到 Hadoop 基础架构中,并且在许多公司或组织中似乎有一个口头禅:如果您有大量数据,请使用 Hadoop。我想了解现有解决方案对集中(大)数据的依赖性如何影响 Hadoop 是否是一个好的解决方案的决策。
在许多情况下,您的典型“大数据”应用程序希望尽可能高效和快速地处理数十亿事物,例如文档、消息、文件。我看到了以 map/reduce 方式在多个节点之间分配工作的优势。然而,为了能够处理这些东西,处理函数(映射器)通常必须在某处查找东西。例如,向 SQL 服务器发送查询,在图形数据库中查找内容,在巨大的键/值存储中查找数据。此外,每个函数可能需要大量内存来存储/缓存处理其事物所需的所有数据。
这是违背 Hadoop 做事方式的事情,还是通常以这种方式做事?底线是,除了将处理工作分散到一堆 Hadoop 节点上之外,您还需要找到一种方法来并行化或升级您的“中央服务器”(SQL、图形数据库等),以便它们可以回答来自并行 Hadoop 节点的所有请求,不是吗?
当并行处理依赖于大型中央数据存储中的快速查找时,使用 Hadoop 的最佳方式是什么?