如何存储和查询非常大的数据集(超出关系数据库)

时间:2011-01-20 02:17:15

标签: hbase hdfs large-data-volumes large-data

我们目前面临的问题是如何从非常大的数据集(到数十亿)中有效地存储和检索数据。我们一直在使用mysql并优化了系统,操作系统,raid,查询,索引等,现在正在寻求继续前进。

我需要就解决数据问题的技术做出明智的决定。我一直在用HDFS调查map / reduce,但也听说过关于HBase的好东西。我不禁想到还有其他选择。是否对可用技术进行了很好的比较,以及每种技术的权衡取舍?

如果你有链接分享每个,我也会很感激。

1 个答案:

答案 0 :(得分:4)

这是一个广泛的问题。我会尝试给出指示,对于每一个你都可以查看或询问更多信息。 第一个是......传统的DB。如果数据足够有价值,你可以拥有RAID和良好的服务器 - 甲骨文可能是好的,蝙蝠昂贵的解决方案。 TPC-H是决策支持查询的行业标准基准:http://www.tpc.org/tpch/results/tpch_perf_results.asp,它是最佳性能结果的链接。如您所见 - RDBMS可以扩展到数TB的数据。
其次是Hadoop,采用HDFS + Map / Reduce + Hive的形式。 Hive是MapReduce之上的数据仓库解决方案。您可以获得一些额外的好处,例如以原始格式存储数据和线性扩展的功能。您将看到的一件事 - 索引和运行非常复杂的查询。
第三个是MPP - 大规模的parralel处理数据库。它们可以从数十个节点扩展到数百个节点,并且具有丰富的SQL支持。例如Netezza,Greenplum,Asterdata,Vertica。选择它们并不是一项简单的任务,但只要有更精确的要求,也可以做到。