我正在考虑在 Map/Reduce 解决方案(如 Hadoop)之上构建一些数据仓库/查询基础设施。
然而,令我震惊的是,所有 M/R 工作只是重复了 RDBMS 人员在过去 20 年中使用并行 SQL 数据库解决的问题。并行 SQL 实现跨节点扩展读写,就像 M/R 一样,但还包含来自常规数据库(SQL、现有集成库等)的细节。
问题是:您似乎没有发现这些公司的客户在网上发布了很多内容。那么,这里有没有人对这些解决方案有经验,可以给我一些见解和/或链接?
我正在考虑在 Map/Reduce 解决方案(如 Hadoop)之上构建一些数据仓库/查询基础设施。
然而,令我震惊的是,所有 M/R 工作只是重复了 RDBMS 人员在过去 20 年中使用并行 SQL 数据库解决的问题。并行 SQL 实现跨节点扩展读写,就像 M/R 一样,但还包含来自常规数据库(SQL、现有集成库等)的细节。
问题是:您似乎没有发现这些公司的客户在网上发布了很多内容。那么,这里有没有人对这些解决方案有经验,可以给我一些见解和/或链接?
我使用过 Netezza 和 Hadoop。并且拥有Infobright(一个列数据库)的二手知识。
Netezza 是一个真正的数据库并实现了 ACID 属性,这既有成本又有好处。Netezza 正朝着允许更多 M/R 代码使用新的 twinfin 架构在其表数据上运行的方向发展。在以前版本的设备中,它们支持用户定义的函数和聚合。在新版本中,在 SPU 上运行 linux 并使用 Intel 处理器,这扇门正在打开,可以编写更多接近数据的自定义代码。我对 Netezza 的体验非常积极——无论是技术还是公司。
Hadoop 是纯 map-reduce 计算。它不会产生 ACID 数据库属性的成本。所以,它确实是与 Netezza 不同的野兽。根据使用模式,它可能比 Netezza 更好,当然也更便宜。Hadoop 支持 Hbase 和 Hive,可以以较低的成本为您提供所需的查询便利。
我们团队的另一位开发人员评估了 Infobright,所以这是二手的,发现负载性能很差,一些聚合很慢。它与 Netezza 有一些相似之处(例如,在 netezza 中使用区域图来帮助缩小扫描范围)。Infobright 是开源的,具有社区版和受支持的企业版。
在您的特定问题的背景下可以说更多 - 可能超出了本论坛的范围。希望这可以帮助。
您尚未指定要尝试通过查询回答哪些问题,或数据的结构方式。在选择要使用的解决方案之前,您可能需要考虑这两件事。
你是对的:主要的 RDBMS 供应商都提供集群解决方案;并行处理和高可用性。他们拥有这项技术已有一段时间了,任何拥有大量数据的企业都可能正在使用它。当您购买 ($$$) 产品时,如果您负担得起,他们会为您提供大量文档并帮助您进行设置(更多 $$$)。
RDBMS 适用于在线事务 (OLTP);回答有关特定行的问题(玛丽住在哪里?);回答一些总结类型的问题(我们在第一季度销售了多少等)尽管可以让它们执行详细的总结问题(我们在第一季度销售了多少,按产品、销售人员、月份、和地区?),您通常会开始对其限制征税(任何需要访问所有行的查询都会很慢)。
对于这些类型的查询,大多数企业都有一个数据仓库,可以将数据构造成多维“立方体”。(参见 Cognos、Hyperion 等)。这可能适合您正在尝试做的事情。
我没有任何使用 MapReduce 的经验,但我已经阅读了关于使用的维基百科部分,所以如果你想要做的事情属于这些类别,我会继续使用它。
如果您在一个快速发展的组织中,您应该使用 Teradata。我们对 Teradata 有很好的体验。它为您提供任何其他供应商无法提供的可扩展性。一旦您习惯了它的 SQL 和工作方式,您就会真正欣赏 Teradata 的设计和架构。