当当网图书信息:
http://search.dangdang.com/?key=impala
写作背景
作为曾经的传统关系型数据库从业者,我们不仅需要了解数据库本身,还需要了解运行数据库的主机,存储数据库数据的仓库,读取数据库数据的中间件以及应用本身的特点。随着硬件的发展以及数据处理的细化,数据库技术从传统的基于磁盘的关系型数据库,向内存数据库、MPP数据库不同的方向演进,数据库产品也从高大全向单一RDBMS吃遍天、短小精悍的方向发展。在架构时,我们必须根据应用的特点选择合适的数据库产品。
自2009年开始,笔者开始尝试使用基于Hadoop的技术来解决传统数据库无法线性扩展的问题。Hadoop不能称之为“数据库”,也不能简单地称之为“应用”,而是介于数据库和应用之间的一种既能用于存储和处理数据,又能处理应用业务逻辑的一个混合体,我们通常称之为“数据平台”。Hadoop虽在本质上解决了磁盘IO的扩展问题,但同时由于其基于磁盘(自Hadoop 2.3起支持缓存特性),因此对于某些实时性要求更高的任务无能为力,Impala及其他的基于内存的运算技术应运而生。
Impala的存储基于HDFS,运算基于表的统计信息生成执行计划,具备资源管理功能,是最像传统数据库的大数据技术。笔者着手写作本书时Impala的最新版本为1.3.1,而目前已演进至 2.1版本,在SQL语法、安装、扩展性及性能方面进一步增强。
主要内容
工欲善其事,必先利其器,第1章手把手地为大家介绍如何离线搭建一个Impala环境。有了一个环境之后,我们可以暂时不考虑细节,先尝尝鲜使用一下它。第2章介绍如何在Impala上进行简单的数据加载、建表、查询等操作。作为Impala的管理者,仅仅能够简单使用它是远远不够的。第3章系统地介绍Impala的架构体系及各组件的作用。第4章是为Impala的使用者量身定做的,花费比较大的篇幅介绍了Impala SQL、函数、UDF等。任何一款数据库都会提供一个命令行工具,方便在没有图形界面的情况下,或者在Shell中进行调用,Impala也不例外,第5章介绍Impala的命令行工具Impala-shell。那如何有效地避免硬件资源的过载使用呢?当然是通过资源管理,第6章将详细介绍Impala的资源管理机制,另外也可以将Impala使用YARN来进行管理。第7章详细介绍了Impala底层支持的文件类型,基本囊括了Hadoop主流的文件类型。第8章介绍了Impala的分区机制。第9章介绍了Impala性能优化的指导原则,以及优化过程中使用到的各项技术。第10章介绍了在企业应用中使用Impala时的设计原则及应用案例。
读者对象
l 内存计算技术初学者
l 数据库管理员及数据库开发人员
l Hadoop及内存计算的运维工程师
l 开源软件爱好者
l 其他对大数据技术感兴趣的人员
致谢
在此感谢Cloudera的苗凯翔博士、Deborah Wiltshire、Yale Wang对本书的认可。感谢我的好兄弟闫猛、付乐庆对我一直以来的鼓励。感谢我曾经服务过的客户们对我的信任。感谢我的家人和朋友们,你们是我不断努力的源动力。
作者简介
贾传青,数据架构师,Oracle OCM,DB2迁移之星,TechTarget特约作家,从数据库向大数据转型的先行者。曾服务于中国联通、中国电信、建设银行、PICC等,目前供职于一家大数据解决方案提供商,致力于使用大数据技术解决传统数据库无法解决的问题。
作者
2015年1月