什么时候才应该使用HBase?
在使用HBase一定要明白HBase的适用场合,因为HBase并非适用于每种情况。
首先,要确认有足够多的数据存入HBase。
如果有几亿或者几十亿条记录要存入HBase,那么HBase就是一个正确的选择;否则如果你仅有几百万条甚至更少的数据,那么HBase当然不是正确的选择,这种情况下应当选择传统的关系型数据库,因为如果这么少的数据存入HBase,就会导致数据堆积在一两个节点上,而HBase集群内部的其他节点都处于空闲状态。
其次,要确认即便不使用传统关系型数据库提供的额外功能(比如数据库的列有强类型限制,secondary index,transaction,SQL等高级查询语言)系统也能顺畅工作。
基于传统关系型数据上的应用不能通过简单的更换JDBC驱动程序"迁移"到HBase。系统从普通的关系型数据库迁移到HBase将导致整个系统的重新设计。
最后,确认有足够的硬件服务器来支撑HBase的运行。
即便单独运行HDFS,HDFS在少于5个节点的情况下工作不理想,由于在默认情况下HDFS的block replication factor为3,另外还要加上一个Namenode。
参考资料:http://hbase.apache.org/book.html#arch.overview
分享到:
相关推荐
当数据量达到TB或PB级的时候,传统关系型数据型已力不从心。在大数据热潮中,推出了NoSQL数据库,这种天生就为分布式存储而设计的技术,尤其以Apache HBase为代表,占领海量数据存储技术的大半壁江山。本教视从实战...
《HBase大数据》压缩包包含了对HBase这一分布式大数据存储系统的深入探讨,是学习和理解HBase的重要资源。HBase,作为Apache软件基金会的一个顶级项目,是构建在Hadoop文件系统(HDFS)之上的非关系型数据库,专门...
### 基于集群的HBase安装和配置 #### Zookeeper简介 Zookeeper作为Hadoop生态中的关键组件,主要用于提供高可用性和分布式协调服务。它能够有效地管理Hadoop集群中的各种资源和服务,例如Hadoop NameNode管理和...
然而,有时候在尝试通过`from hbase import Hbase`导入HBase模块时,可能会遇到`ImportError`,这通常是由于Python标准库中的hbase模块存在问题或不兼容。 为了解决这个问题,开发者通常会寻找替代方案,其中两个...
"HIVE和HBASE区别" HIVE和HBASE是两种基于Hadoop的不同技术,分别是数据仓库和Key/Value系统。它们之间有很多区别,包括设计理念、应用场景、查询语言等方面。 HIVE HIVE是一个构建在Hadoop基础设施之上的数据...
列族是HBase存储数据的基本单位,它们必须在创建表的时候指定,而且是在创建表的过程中唯一可以指定的属性。 5. 向表中插入数据: - 向test表中的row1行,cf1列族下的greet列中插入字符串'hello':`put 'test', '...
Apache Phoenix是构建在HBase之上的关系型数据库层,作为内嵌的客户端JDBC驱动用以对...直接使用HBase的API,结合协处理器(coprocessor)和自定义的过滤器的话,小范围的查询在毫秒级响应,千万数据的话响应速度为秒级
HBase的一个重要特点就是它的schema设计,它使用行键来组织数据,以及列族(column family)的概念来管理列数据。 首先,了解HBase的架构是理解其schema设计的前提。HBase表由多个区域(regions)组成,每个区域由...
2. **集成背景**:在大数据分析中,有时我们需要对存储在HBase中的数据进行批处理,这时候就需要通过Hadoop的MapReduce框架来实现。Hadoop MapReduce可以处理大量数据,但不擅长实时查询,而HBase则能提供低延迟的...
Linux 系统最大可打开文件数的默认参数值是 1024,如果不进行修改,在并发量上来的时候会出现“Too Many Open Files”的错误,导致整个 HBase 不可运行。可以通过修改 ulimit 命令来临时或持久地修改最大文件数。...
在HBase中,默认情况下,在创建表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这个region写数据,直到这个region足够大了才进行切分。为了加快批量写入速度,可以通过预先创建一些空的...
/hbase/archive (1) 进行snapshot或者升级的时候使用到的归档目录。compaction删除hfile的时 候,也会把旧的hfile归档到这里等。 /hbase/corrupt (2) splitlog的corrupt目录,以及corrupt hfile的目录。
启动 HBase Shell 需要在命令行中输入 bin/hbase shell,然后即可使用各种命令来操作 HBase 数据库。 二、 HBase 客户端 HBase 客户端是指通过编程语言来访问和操作 HBase 数据库的客户端。常见的 HBase 客户端有 ...
2. HBase 的架构:HBase 内置有 Zookeeper,但一般我们会有其他的 Zookeeper 集群来监管 master 和 region server,Zookeeper 通过选举,保证任何时候,集群中只有一个活跃的 HMaster,HMaster 与 HRegionServer ...
- 使用 `tar -zxvf hbase-0.98.17-hadoop2-bin.tar.gz` 命令进行解压,这将创建一个名为 `hbase-0.98.17-hadoop2` 的目录。 2. **配置环境变量**: - 编辑 `~/.bashrc` 或 `~/.bash_profile` 文件,添加HBase的...
Zookeeper在HBase架构中起到关键作用,它保证任何时候都有一个运行中的Master,监控并管理Region Server的状态,同时存储HBase的Schema信息。 HBase Master可以有多个实例,通过Zookeeper的Master选举机制保证只有...
HBase数据备份与恢复技术是在云计算环境下,为了保证大规模分布式数据库的数据安全,提供数据恢复能力的重要技术手段。HBase作为Apache开源项目Hadoop的数据库子项目,是一个分布式的、面向列的开源数据库,适用于非...
5. 检查当前时候已经完成负载均衡的工作,也就是所有的 RegionPlan 是否全部设置了目的地址,如果全部已经分配了目的地址的话,这时集群的负载均衡的工作已经做完。 6. 如果第 6 步没有返回的话,这时表明还有 ...
默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。 一种可以加快批量写入速度的方法是通过预先创建一些...