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

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

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

我需要就采用什么技术来解决我们的数据问题做出明智的决定。我一直在研究 HDFS 的 map/reduce,但也听说过有关 HBase 的好消息。我忍不住想还有其他选择。是否对可用技术以及每种技术的权衡进行了很好的比较?

如果您有可分享的链接,我也将不胜感激。

最佳答案

这是一个广泛的问题。我会尽力给出指示,对于每一个,您都可以查看或询问更多信息。 第一个是......传统数据库。如果数据足够有值(value),您可以拥有 RAID 和优质服务器 - Oracle 可能是一个不错的解决方案,但价格昂贵。 TPC-H 是决策支持查询的行业标准基准:http://www.tpc.org/tpch/results/tpch_perf_results.asp它是指向最高性能结果的链接。正如您所看到的 - RDBMS 可以扩展到 TB 级的数据。
其次是HDFS + Map/Reduce + Hive形式的Hadoop。 Hive 是 MapReduce 之上的数据仓库解决方案。您可以获得一些额外的好处,例如能够以原始格式存储数据并线性扩展。您将看到的一件事是索引和运行非常复杂的查询。
第三个是 MPP——大规模并行处理数据库。它们可从数十个节点扩展到数百个节点,并具有丰富的 SQL 支持。例如 Netezza、Greenplum、Asterdata、Vertica。在其中进行选择并不是一件简单的事情,但是如果有更精确的要求也是可以完成的。

关于hbase - 如何存储和查询非常大的数据集(超出关系数据库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4742876/

相关文章:

apache - 批量加载时,Phoenix Hbase rowtimestamp功能不起作用

java - 如何更新 HBase 中的现有列值

java - Hadoop HDFS问题

filter - 普通口齿不清 : What is the downside to using this filter function on very large lists?

node.js - NodeJS 无法捕获的异常

python - 如何处理 Thrift 客户端断开连接问题

hadoop - HDFS 表示文件仍处于打开状态,但写入文件的进程已被终止

hadoop 2.7.3 HDFS Namenode -format No Such FIle or Directory 错误

apache - 快速处理apache日志

python - 如何为大型数据集的 python 多处理选择 block 大小