当前位置:大数据数据库 → 正文

开源第一弹:什么是HBASE?

责任编辑:editor005 |来源:企业网D1Net  2015-03-24 14:26:52 本文摘自:51CTO

开源第一弹:什么是HBASE?

在数据研究人员的工具集上有着大量的工具可以使用,这对于大数据技术,既是一件好事也是一件坏事。

当我们谈论从事大数据工作所使用的工具时,绝大部分讨论的会是Hadoop,Apache基金会关于Map Reduce和分布式存储系统的实现(HDFS是由Doug Cutting 阅读相关论文后在其供职于Yahoo时(他目前在Cloudera)建立的。但大数据工具很少单独工作,它是一个工具和数据库,以帮助数据研究人员能够更有效地分析他们的集合(或只是有利于加快速度)。

其中一项技术就是HBase。HBase的是一个非关系(NoSQL的)数据库,是Google BigTable的Java实现。它是柱状数据库中的一种。相对于关系数据库基于行存储数据,HBASE基于列存储。

不过这说起来容易,但其究竟是什么意思。让我们从对谷歌关于BigTable的相关文档的研究开始:

“Bigtable是一个具有稀疏性,分布性,持续性的多维有序映射。”

让我们深入其中,看看到底是什么意思。

稀疏

直觉上认为数据库稀疏的定义是数据库具有较少的数据项,但实际上,稀疏的意义是指数据库中数据项的数据列缺乏足够的数据。对于HBASE,之所以说它具有稀疏性,是因为它可以在其实体中容纳稀疏性数据。而对于关系表,将要求您填写的所有字段(或大部分)(想想你的关系数据库中客户资料表)。柱状数据库可以为空或NULL且不影响数据库的功能。此外,这也给你带来了其他好处,使你能够快速的添加其它你想捕捉的数据。在关系数据库中,创建一个架构(FirstName,LastName,SS#,TelephoneNumber),并希望在创建时已经得到所有你需要捕获的数据。NoSQL数据库无需设计过于复杂的架构,允许您根据需要在不中断业务正常流动时添加字段。

分布式和持久化

HBase的使用HDFS(Hadoop分布式文件系统),以实现在多个商用服务器分发数据。这是Hadoop和HBase能够处理海量数据工作的基础。它基于另一篇关于谷歌文件系统的文章(点击阅读),google文件系统是Doug Cutting 建立HDFS的基础。我们将在另一篇文章中详细讨论HDFS和DFS。

多维排序Map

一个Map(有时被称为关联数组)其中存储的键值索引不必是整数,可以是任意的字符串。其实质是键值对集合,且要求键具有惟一性。其中键按照字典序排列。(需要注意的是:此处的字典序不是按字母顺序排列,也不是按数字顺序,而是按字符串的Unicode值进行排序)

你的得与失

使用HBase可以让你对存储在Hbase的数据进行预处理和后处理操作,并给予你更大的灵活性和快速处理数十亿行数据的能力。不利的一面是,当您使用 HDFS的替代HBase,使用像Hive(类SQL数据检索)那样的工具会比在普通的HDFS慢4-5倍。此外,可以容纳数据的最大容量约为1 PB而不是HDFS中的30PB。

关键字:Hbase谷歌键值

本文摘自:51CTO

x 开源第一弹:什么是HBASE? 扫一扫
分享本文到朋友圈
当前位置:大数据数据库 → 正文

开源第一弹:什么是HBASE?

责任编辑:editor005 |来源:企业网D1Net  2015-03-24 14:26:52 本文摘自:51CTO

开源第一弹:什么是HBASE?

在数据研究人员的工具集上有着大量的工具可以使用,这对于大数据技术,既是一件好事也是一件坏事。

当我们谈论从事大数据工作所使用的工具时,绝大部分讨论的会是Hadoop,Apache基金会关于Map Reduce和分布式存储系统的实现(HDFS是由Doug Cutting 阅读相关论文后在其供职于Yahoo时(他目前在Cloudera)建立的。但大数据工具很少单独工作,它是一个工具和数据库,以帮助数据研究人员能够更有效地分析他们的集合(或只是有利于加快速度)。

其中一项技术就是HBase。HBase的是一个非关系(NoSQL的)数据库,是Google BigTable的Java实现。它是柱状数据库中的一种。相对于关系数据库基于行存储数据,HBASE基于列存储。

不过这说起来容易,但其究竟是什么意思。让我们从对谷歌关于BigTable的相关文档的研究开始:

“Bigtable是一个具有稀疏性,分布性,持续性的多维有序映射。”

让我们深入其中,看看到底是什么意思。

稀疏

直觉上认为数据库稀疏的定义是数据库具有较少的数据项,但实际上,稀疏的意义是指数据库中数据项的数据列缺乏足够的数据。对于HBASE,之所以说它具有稀疏性,是因为它可以在其实体中容纳稀疏性数据。而对于关系表,将要求您填写的所有字段(或大部分)(想想你的关系数据库中客户资料表)。柱状数据库可以为空或NULL且不影响数据库的功能。此外,这也给你带来了其他好处,使你能够快速的添加其它你想捕捉的数据。在关系数据库中,创建一个架构(FirstName,LastName,SS#,TelephoneNumber),并希望在创建时已经得到所有你需要捕获的数据。NoSQL数据库无需设计过于复杂的架构,允许您根据需要在不中断业务正常流动时添加字段。

分布式和持久化

HBase的使用HDFS(Hadoop分布式文件系统),以实现在多个商用服务器分发数据。这是Hadoop和HBase能够处理海量数据工作的基础。它基于另一篇关于谷歌文件系统的文章(点击阅读),google文件系统是Doug Cutting 建立HDFS的基础。我们将在另一篇文章中详细讨论HDFS和DFS。

多维排序Map

一个Map(有时被称为关联数组)其中存储的键值索引不必是整数,可以是任意的字符串。其实质是键值对集合,且要求键具有惟一性。其中键按照字典序排列。(需要注意的是:此处的字典序不是按字母顺序排列,也不是按数字顺序,而是按字符串的Unicode值进行排序)

你的得与失

使用HBase可以让你对存储在Hbase的数据进行预处理和后处理操作,并给予你更大的灵活性和快速处理数十亿行数据的能力。不利的一面是,当您使用 HDFS的替代HBase,使用像Hive(类SQL数据检索)那样的工具会比在普通的HDFS慢4-5倍。此外,可以容纳数据的最大容量约为1 PB而不是HDFS中的30PB。

关键字:Hbase谷歌键值

本文摘自:51CTO

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^