当前位置: 首页 > 科技观察

开源第一弹:什么是HBASE?

时间:2023-03-22 14:11:17 科技观察

在数据研究人员的工具集中拥有大量可用工具对于大数据技术来说既是好事也是坏事。当我们谈论用于处理大数据的工具时,大多数讨论将是Hadoop,Apache基金会对MapReduce和分布式存储系统的实现(HDFS是由DougCutting在阅读相关论文并在雅虎工作后开发的(他是目前在Cloudera)。但是大数据工具很少单独工作,它是工具和数据库的集合,以帮助数据研究人员更有效地分析他们的集合(或者只是促进速度)。最早的技术之一是HBase。HBase是一种非关系型(NoSQL)数据库,是GoogleBigTable的Java实现,属于列式数据库的一种,相对于关系型数据库按行存储数据,HBASE是基于列存储的。不过这个说起来容易,但是什么究竟是什么意思呢,我们先来研究一下Google关于Bigtable的相关文档:“Bigtableisasparse,distributed,andpersistentmultidimensionalorderedmap.”深入研究一下看看是什么意思秒。稀疏直观上认为数据库稀疏的定义是数据库的数据项较少,但实际上,稀疏的含义是指数据库中数据项的数据列缺乏足够的数据。对于HBASE,之所以说它是稀疏的,是因为它可以在其实体中容纳稀疏数据。而对于关系表,系统会要求您填写所有字段(或大部分字段)(想想关系数据库中的客户资料表)。列式数据库可以为空或NULL,而不影响数据库的功能。此外,这还为您带来其他好处,让您可以快速添加其他想要捕获的数据。在关系型数据库中,创建一个schema(FirstName,LastName,SS#,TelephoneNumber),希望在创建的时候拥有所有需要捕获的数据。NoSQL数据库不需要设计过于复杂的架构,让你可以在不中断业务正常流程的情况下,按需添加字段。分布式和持久化HBase使用HDFS(Hadoop分布式文件系统)跨多个商业服务器分布数据。这是Hadoop和HBase处理海量数据的基础。它基于另一篇关于Google文件系统的文章(点击阅读),google文件系统是DougCutting构建HDFS的基础。我们将在另一篇文章中详细讨论HDFS和DFS。多维排序Map一个Map(有时称为关联数组),其中存储的键值索引不必是整数,可以是任意字符串。它的本质是键值对的集合,要求键是唯一的。其中键按字典顺序排序。(需要注意的是,这里的字典顺序不是字母顺序,也不是数字顺序,而是字符串的Unicode值顺序。)你的得失使用HBase可以让你对存储在Hbase中的数据进行排序,执行预-和后处理操作,并为您提供更大的灵活性和快速处理数十亿行数据的能力。不利的一面是,当您使用HDFS作为HBase的替代品时,使用Hive(类似SQL的数据检索)等工具将比普通HDFS慢4-5倍。此外,可以容纳数据的最大容量约为1PB,而不是HDFS中的30PB。原文链接:www.searchdatabase.com.cn/showcontent_88365.htm