我们目前面临着如何有效地从非常大的数据集(数十亿)中存储和检索数据的问题。我们一直在使用mysql,并对系统、操作系统、raid、查询、索引等进行了优化,现在正在寻找新的发展方向。
我需要做出明智的决定,决定采用什么技术来解决我们的数据问题。我一直在研究使用HDFS的map/reduce,但也听说过关于HBase的好消息。我情不自禁地认为还有其他选择。现有的技术是否有很好的比较,以及每种技术的权衡是什么?
如果你有链接可以分享,我也将不胜感激。
发布于 2011-01-20 14:33:43
这是一个广泛的问题。我会试着给出方向,对于每个方向,你可以查看或询问进一步的信息。第一个是...conventional DB。如果数据足够有价值,您可以使用RAID和良好的服务器- Oracle可能是好的,但昂贵的解决方案。TPC-H是用于决策支持查询的行业标准基准:http://www.tpc.org/tpch/results/tpch_perf_results.asp,它是指向顶级性能结果的链接。正如您所看到的- RDBMS可以扩展到to级的数据。
其次是HDFS + Map/Reduce + Hive形式的Hadoop。Hive是基于MapReduce的数据仓库解决方案。你可以获得一些额外的好处,比如能够以原始格式存储数据和线性扩展。你将会看到的一件事--索引和运行非常复杂的查询。
第三个是MPP -大规模并行处理数据库。它们可以从几十个节点扩展到数百个节点,并具有丰富的SQL支持。例如Netezza、Greenplum、Asterdata、Vertica。在它们之间进行选择并不是一项简单的任务,但如果有更精确的要求,也可以完成。
https://stackoverflow.com/questions/4742876
复制相似问题