HBase权威指南5中文版最新版.pdf
http://www.100md.com
2020年11月19日
![]() |
| 第1页 |
![]() |
| 第9页 |
![]() |
| 第19页 |
![]() |
| 第24页 |
![]() |
| 第35页 |
![]() |
| 第60页 |
参见附件(44060KB,504页)。
HBase权威指南探讨了如何通过使用与HBase高度集成的Hadoop将HBase的可伸缩性变得简单;把大型数据集分布到相对廉价的商业服务器集群中;使用本地Java客户端,或者通过提供了REST、Avro和Thrift应用编程接口的网关服务器来访问HBase;了解HBase架构的细节,包括存储格式、预写日志、后台进程等;在HBase中集成MapReduce框架;了解如何调节集群、设计模式、拷贝表、导入批量数据和删除节点等。

作者简介
Lars George,HBase项目组成员,他是cloudera的解决方案架构师,提供了关于Hadoop和HBase的技术支持、咨询服务和培训工作。他曾经在多个不同的Hadoop用户组会议发言,并且在如布鲁塞尔的自由及开源软件开发者欧洲会议(FOSDEM)这样的大型会议中发言。
可扩展性
RDBMS非常适合事务性操作,但不见长于超大规模的数据分析处理,因为超大规模的查询需要进行大范围的数据记录扫描或全表扫描。分析型数据库可以存储数百或数干TB的数据,在一台服务器上做查询工作的响应时间,会远远超过用户可接受的合理响应时间。
垂直扩展服务器性能,即增加CPU核数和磁盘数目,也并不能很好地解决该问题。
更糟糕的是,RDBMS的等待和死锁的出现频率,与事务和并发的增加并不是线性关系,准确地说,与并发数目的平方以及事务规模的3次方甚至5次方相关。分区通常是一个不切合实际的解决方案,因为它需要客户端采用非常复杂的方式和较高的代价来维护分区信息。
一些商业RDBMS也解决过类似的问题,但它们往往只是特定地解决了问题的某几个方面,更重要的是,它们非常非常的昂贵。而一些开源的RDBMS解决方案中,往往放弃了其中的一些甚至全部的关系型特性,如辅助索引,来换取更高的性能拓展能力。
问题是,为了性能而一直放弃以上关系型特性是否值得?用户可以反范式化(见1.3.3节)数据模型来避免等待,并且可以通过降低锁粒度的方式来尽量避免死锁。数据增长时,无需重新分区迁移数据并内嵌水平扩展性的方法。最后,用户还要面对容错和数据可用性问题,采用提高扩展性的机制,用户最终会得到一个NosQL的解决方案,更确切地说,HBase可以满足以上多种需求。
操作系统
推荐操作系统(OS)是一件非常棘手的事情,尤其是在开源领域中。在过去的两三年里,好像HBase偏好使用Linux系统工作,事实上,Hadoop与HBase本来就是基于Linux系统或者Unix系统开发的,还可以在其他的类Unix系统上运行。不过,用户可以在支持Java的任何一个OS中运行Hadoop和HBase,例如,Windows,不过Hadoop和HBase的测试只能在类Unix系统上进行,原因是启动与关闭等管理脚本都是由Linux或Unix命令行Shell提供的。
Unix与类Unix系统的区别是开源与闭源收费。此外,这两类系统都能用,具体用哪个就看用户所在公司的具体规定了。
HBase权威指南5中文版截图



您现在查看是摘要介绍页, 详见PDF附件(44060KB,504页)。





