深入解析DB2

出版时间:2009-5  出版社:清华大学出版社  作者:牛新庄  页数:471  
Tag标签:无  

前言

前    言数据库内核是数据库系统稳定运行的心脏,DB2数据库内核庞大而复杂。本书从DB2内核组件入手,同时介绍了其与操作系统在进程、共享内存、信号量之间的关系。作者在本书中重点介绍了各个内部组件的层次与功能、内存内部结构、存储内部结构、高级锁等。优化器是任何数据库执行SQL的关键部分,本书对优化器产生的各种执行计划进行了详细解释,这对理解DB2内部工作原理大有裨益。同时,本书还介绍了DB2各种诊断工具的使用,各种数据库配置参数含义及调整、数据库系统视图等。本书结构第1章  DB2底层组件。本章介绍了支撑DB2数据库管理系统运行的各个组成部分,使得用户可以了解到DB2的内部工作机制。通过了解这些组件,用户对实际中碰到的各种问题更加容易地找到具体故障点。本章在介绍CCI、RDS、DMS、IXM、BPS、DPS等组件的同时,还对各个组件给出了故障诊断案例。第2章  DB2进程体系结构。本章介绍了DB2系统在不同平台上的进程模型。面对众多的进程/线程,作者将进程划分为与操作系统相关、与实例相关、与数据库相关和与应用程序相关的几类进程。本章还研究了DB2代理通信的工作原理,以及几个经常混淆的概念——交易、应用程序、代理之间的关系。本章最后介绍了与DB2备份、恢复、LOAD等实用程序有关的进程,并提及DB2 V9.5的多线程体系结构。第3章  DB2内存体系结构。内存是DB2从操作系统获取的最重要资源,本章介绍了DB2中内存集、内存池、内存块这三种内存的分配、回收机制。DB2从操作中申请到的内存主要被实例、数据库、应用程序所消耗,本章讲述了各个消耗单位与配置参数之间的关系。第4章  DB2存储内部结构。存储模型是数据库系统在磁盘上存放数据的组织形式,主要包括各种配置文件、数据文件、日志文件的存放位置、格式定义等。本章详细讲解了表空间的物理存储结构,包括SMS表空间、DMS表空间。更进一步,作者详细解释了一行数据在一个数据页面上的存放格式,同时介绍了索引页的组织形式。第5章  DB2优化器。优化器是数据库管理系统中产生执行计划的组件,本章主要介绍了DB2优化器的工作原理。本章解读了执行计划中常见的操作以及它们的性能优劣,如索引扫描、表扫描、合并连接、嵌套循环连接、Hash连接等。本章还介绍了对于不同的优化级别DB2系统所采用的优化算法的差别,以及与Oracle类似的基于规则的优化。作者还就如何影响优化器以产生我们期望的执行计划给出了一些建议,如更新统计信息、构建索引、修改配置参数等。第6章  高级锁。本章介绍了DB2在读取、写数据时的加锁工作过程,讲述锁在DB2中的内部结构以及在不同平台、位长上的区别。乐观锁是DB2 V9.5最新推出的功能,作者在本章中将其与传统的悲观锁进行对比,并详细解释了如何使用。本章同时还介绍了DB2内部使用的锁。第7章  数据库配置参数。DB2各种配置参数对系统有着很大的影响,本章从数据库管理器参数、数据库参数、注册变量三个层面详细介绍了各种参数的调整方法,包括调整前观察的监控点、调整的范围、调整后产生的影响等。第8章  DB2数据字典。本章介绍了SYSCAT模式、SYSIBMADM模式以及SYSSTAT模式下的数据字典包括的内容。这些数据字典能够帮助我们对DB2进行日常的管理、调优工作。本章详细讲解了利用SYSIBMADM模式下的数字字典进行数据调优的过程。第9章  高级诊断。本章介绍了在数据库启动失败时如何利用脱机高级工具db2dart在物理层面上诊断坏页。同时,作者还介绍了新的联机高级工具inspect的使用方法。db2trc工具是一个函数级诊断工具,它能够跟踪出DB2执行了哪些函数以及消耗的时间。第10章  深入讲解解释工具输出。本章通过各种解释工具讲解了如何解读工具产生的执行计划。对这些执行计划中经常碰到的表扫描、索引扫描、临时表等的性能差异进行了比较。本章还详细讲解了DB2排序工作原理,以及如何在执行计划中查看排序资源需求和如何优化排序性能。预取是提高数据库IO性能的一个好方法,作者讲解了预取的概念、预取分类,并给出提高预取性能的指导意见。致谢本书在出版的过程中得到了清华大学出版社王军编辑的大力支持!这套DB2书籍从选题、审稿到出版无不得到他的热心帮助,在此致以深深的谢意!感谢我的好兄弟骆洪青和袁春光,他们审核了书中的大部分章节。同时也感谢中信银行的胡瑞娟、苏兰芳和我的师弟林春,他们审核了部分章节并从用户的角度给我提出了很多宝贵的建议!最后,谨以此书献给我可爱的女儿,她是个小天使,是上天对我最好的恩赐!序一DB2 数据库进入中国其实已经很多年,还依稀记得本人安装的第一套基于DB2数据库的SAP系统还是在10多年前的事情了,随着DB2在技术上的逐步完善和发展越来越多的企业用户加入了DB2的行列。令人感到遗憾的是,与越来越庞大的DB2用户群和逐渐深入的系统应用相比,与之配套的相关中文资料却相当匮乏。除了一些从原版翻译的入门资料外,几乎没有任何全面阐述系统性能调优之类的进阶书籍,面对出现的各种问题,很多用户都只能依靠在网上搜索一些零星的知识点或解决方案,虽然也能暂时地应付一些突发的问题,但很多时候还是处于头痛医头,脚痛医脚的阶段。对DB2数据库系统性能优化的整体解决方案缺乏了解。犹如置身于一个巨大迷宫一隅,仅仅靠着身边微弱的烛光艰难前行。数据库性能调优的需求一直贯穿于整个数据库运行的始终,也是直接关系到以数据库为基础的各种应用软件运行效率。本人从事SAP系统性能优化10多年,其中很大一部分的工作也是在数据库层面上。深感数据库性能调优的重要性。过去一直苦于没有系统全面的DB2方面的资料,只好靠自己慢慢摸索,虽然花费了大量的实践和精力,但效果依然不尽如人意。一直期盼能有一本理论联系实际,透彻分析数据库工作原理并结合实际案例的工具书来提高工作效率。纵观当今业内, 我们并不缺少数据库方面的理论宗师, 更不缺乏技术娴熟的实践高手。 但同时身兼两大绝学并且将自己的多年积累的实践经验与广大DB2用户分享的,牛新庄博士当属国内第一人。本书的出版,填补了国内在这方面的空白,书中将各种离散的知识点有机地的结合起来并以全新的视角来俯瞰整个数据库的性能问题,使广大DB2数据库用户有了一个事半功倍的利器。 本书完全应该成为DB2数据库从业者以及相关技术人员人手一本的工具书。前SAP大中国区核心技术中心经理在SAP技术领域有着极为丰富的实践经验和专业知识背景,尤其擅长大型系统架构设计和系统性能调优国内顶尖SAP Basis 顾问上海建功思域信息科技有限公司 董事总经理张挺2009年5月序二这些年我负责中国DB2的售前技术团队,认识牛新庄已经好多年了。其中印象很深的是2006年与他的几次交流,我们讨论了许多数据库的实用技术,用户在数据库管理和应用方面的主要挑战。他丰富的实战经验给我留下了极深的印象。那时他正在参加首届中国数据库工程师大赛,最终获得了最高的杰出数据库工程师大奖。 新庄是国内较早使用DB2的技术人员。他从1999年开始使用DB2 V5.2,后来在工作中又学习了AIX、WebSphere、CICS和MQ等IBM技术,对Informix和Oracle等数据库也有非常深的理解。这些年他作为IBM培训部的资深认证讲师在国内讲解数据库技术,推动DB2在国内的传播。从2001年至今,新庄作为独立咨询顾问往返于国内大中城市,在金融六大行(工农中建交招)、农信、证券(国泰君安、海通、大通等)、电力(江苏电力公司、云南电力公司、山东电力公司等)、保险(中国人寿、信诚、平安等)、电信、邮政、移动(北京移动、上海移动、江苏移动、广东移动、天津移动、湖南移动、西藏移动、新疆移动、山东移动、吉林移动等)、青岛海尔、云南红塔、中远集团、宝钢等行业和国内中小企业之间做数据库架构设计、维护、问题诊断和性能调优。其深厚的产品知识和丰富的阅历和经验使得他在对一些疑难问题的判断和处理上有独到的见解。他往往能够跳出固有的框架从一个广阔的视角来认识和分析,并通过多年积累的方法论逐步排查,最终找到解决的方法。这一点在许多大型用户的案例中都得到了有效的印证,这些年我听到了很多大型用户对新庄技术的高度认可。DB2的学习资料在其信息文档和网络中有很多,然而由拥有丰富实践应用经验的专家来总结的DB2书籍相对较少。新庄写的这套书特点是注重实用,内容由浅及深,涵盖DB2的管理、运行维护、应用开发、内核及架构的剖析,以及性能调整和优化,我认为本套书将一系列相关的分散知识点真正形成了一个知识面。用好DB2数据库实际上涉及很多方面,不仅仅是数据库本身,而且需要考虑操作系统、存储规划、数据模型设计、应用开发设计、数据库的合理配置和运行监控等一系列相关的内容。 本套书不仅从产品的角度来介绍DB2,而且从实战的角度来剖析基于DB2的设计和应用。一个好的应用系统应该考虑哪些问题,如何有效管理维护好DB2系统,常见的故障如何排查及解决,在应用开发中如何有效使用DB2的特性。本书系统性地总结了DB2的发展历史,从一个系统构建生命周期的角度介绍了DB2数据库的安装、使用、开发、管理、 运行、调优的全过程。深入DB2内部剖析其核心架构,结合案例分享实战应用调优的经验。尤其是《DB2数据库性能调优和优化》这本书浓缩了新庄自己在应用DB2的心路历程,内容覆盖了系统的整体设计规划,DB2与性能相关的内部核心技术和架构,关键的相关应用设计要点,以及稳定运行监控所应考虑的内容。最难得的是作者分享了多年积累的DB2性能调优案例,使读者有可能在实际的环境中去了解解决复杂问题的思路,将基本的理论和技术与实战进行结合。这套书不仅是新庄10年DB2应用经验的总结,更是他10年对DB2数据库的热爱的结晶。今天国内已有越来越多的技术人员在使用DB2,我相信这套书能对学习和使用DB2提供很大的帮助。希望它能成为您DB2旅程上的一个朋友,为您答疑解惑,点亮您前进的道路。  刘晶炜  IBM 软件部中国区  DB2技术经理2008.11.2  于北京序三与牛新庄的接触源于10年前在大学里一起做项目,那时“恰同学少年”,虽无伟人们指点江山之意气风发,却也会因一个技术难题的攻克而一道去学校里排挡大快朵颐。牛新庄对技术追求之不懈在学校中就已经展现出那种“为依消得人憔悴,衣袋渐宽终不悔”的境界。在21世纪初的狂热的互联网大潮中,牛新庄从纷繁复杂的IT技术中选择了数据库作为自己的主攻方向并且一直持续至今,是为一纲举而百目张,终于成为国内数据库顶尖级高手。牛新庄涉猎极广,他从数据库出发,向下延伸至操作系统,存储,向上延伸至中间件,几乎所有企业应用涉及的平台他都有广泛而深入的研究,如AIX,HP-UX,IBM存储、EMC存储、Oracle、DB2、Websphere、CICS、MQ等。这些知识的融会贯通使得牛新庄在解决客户碰到的各种实际问题时,如庖丁解牛般游刃有余。牛新庄在各种实践的基础上不断总结,能够从更高的视角反思DBA遇到的各种问题,并且上升到方法论,始有这套书的雏形。DB2的学习资料在其信息文档和网络中有很多,但知识点分散,多不成体系,更是缺乏专家实践应用经验总结. 这个套书凝聚了牛新庄大量的心血,是其10年DB2应用经验的总结。这套书特点是注重实用,内容由浅及深,涵盖DB2的管理,运行维护,应用开发,内核及架构的剖析,以及性能调整和优化。书中还有大量的提示点,虽只有寥寥数语,确实作者多年或成功或失败的DB2实践体会,值得读者反复回味。DB2数据库系统对外表现出优异性能和高可靠性,这来源于DB2良好的内核设计,本书是国内第一本全面介绍DB2内核的专业书籍。本书从操作系统角度解读DB2在进程、内存、存储方面的工作原理。从整体上来说,本书适合于接触过DB2希望更加深入学习的朋友。对于刚刚接触DB2的朋友本书则稍显艰涩,这需要您有一定的耐心和坚持——这两点恰恰是迈向成功的不二法门。看过第一遍后,不能理解书中讲所有内容的朋友也不必灰心,好的书总是要反复咀嚼的,到您把本书翻破的时候必有收获。本书的目标就是帮助读者在解决实践中碰到的各种DB2问题时可以做到知其然,同时还知其所以然。北京银信长远软件技术有限公司 总经理数据库高级专家骆洪青2009-4

内容概要

数据库内核是数据库系统稳定运行的心脏,DB2数据库内核庞大而复杂。本书从DB2内核组件入手,同时介绍了其与操作系统在进程、共享内存、信号量之间的关系。作者在本书中重点介绍了各个内部组件的层次与功能、内存体系结构、存储内部结构、高级锁等。优化器是任何数据库执行SQL的关键部分,本书对优化器产生的各种执行计划进行了详细解释,这对于理解DB2内部工作原理大有裨益。同时,本书还介绍了DB2各种诊断工具的使用,各种数据库配置参数含义及调整、数据库系统视图等。

作者简介

牛新庄博士,是国内顶尖数据库维护、优化和架构专家,以217万年薪受聘于中国建行总行资深技术专家,在国内的金融六大行、证券、保险、电信、邮政、移动等行业,以及青岛海尔、云南红塔、中远集团、上海宝钢等知名企业做数据库的设计、维护、问题诊断和性能调优。
牛新庄博士拥有20多项国际厂商认证(包括DB2 V5~V9的全部认证),获得过国内数据库领域最高荣誉的“2006年中国首届杰出数据库工程师”奖,首届IBM杰出软件专家奖,“2006年IT 168技术卓越”奖等奖项。

书籍目录

第1章  性能调整概述   1.1  性能概述  1.2  性能评估  1.3  建立性能目标  1.4  什么时候需要做性能调整  1.5  性能调整准则  1.6  性能调整的方法和过程  1.7  性能调整总结第2章  存储I/O设计  2.1  存储基本概念  2.2  存储架构   2.3  存储相关性能调整案例  2.4  存储I/O设计总结第3章  操作系统相关性能问题  3.1  HP-UX系统性能监控综述  3.2  AIX性能监控综述  3.3  操作系统性能优化  3.4  逻辑卷和lvmo优化  3.5  总结第4章  数据库物理设计和逻辑设计  4.1  数据库物理设计   4.2  数据库逻辑设计  4.3  使用Autoconfig设计数据库  4.4  其他高级设计技术  4.5  数据库设计总结第5章  DB2性能监控   5.1  快照监视器案例  5.2  事件监视器及监控案例  5.3  利用表函数监控   5.4  性能管理视图及案例  5.5  db2pd   5.6  db2mtrk及监控案例  5.7  本章小结第6章  数据库配置参数调整  6.1  数据库配置参数  6.2  监控和调优实例(DBM)配置参数  6.3  监控和调优DB配置参数  6.4  调整DB2概要注册变量  6.5  内存自动调优  6.6  总结第7章  锁和并发  7.1  锁等待及调整案例  7.2  锁升级及调整案例  7.3  死锁及调整案例  7.4  隔离级别与锁  7.5  最大化并发性   7.6  锁相关的性能问题总结   7.7  锁与应用程序开发  7.8  本章小结第8章  索引设计与优化   8.1  索引概念  8.2  索引结构   8.3  理解索引访问机制  8.4  索引设计  8.5  索引创建原则与示例  8.6  影响索引性能的相关配置  8.7  索引维护  8.8  DB2 Design Advisor(db2advis)  8.9  索引调整总结 第9章  DB2优化器   9.1  DB2优化器介绍  9.2  SQL语句执行过程  9.3  优化器组件和工作原理  9.4  扫描方式  9.5  连接方法  9.6  优化级别  9.7  如何影响优化器来提高性能   9.8  优化器总结第10章  统计信息更新与碎片整理  10.1  统计信息更新  10.2  碎片整理   10.3  重新绑定程序包  10.4  本章小结第11章  SQL语句调优    11.1  通过监控找出最消耗资源的SQL语句  11.2  通过解释工具分析SQL语句执行计划  11.3  理解SQL语句如何工作  11.4  SQL调优案例  11.5  提高应用程序性能第12章  DB2调优案例、问题总结和技巧  12.1  调优案例一:某移动公司存储设计不当和SQL引起的I/O瓶颈  12.2  调优案例二:某银行知识库系统锁等待、锁升级引起性能瓶颈   12.3  调优案例三:某汽车制造商ERP系统通过调整统计信息提高性能  12.4  调优案例四:某农信社批量代收电费批处理慢调优案例  12.5  调优学习案例:利用压力测试程序学习DB2调优后记 参考文献

章节摘录

DB2进程体系结构UNIX和Linux用户通常会检查运行在其服务器上的进程或线程,以分析可能的问题及检查服务器中消耗的资源。该信息不仅对执行问题和资源分析的系统管理员有用,而且对于那些开发确保应用高度可用性和处理故障转移脚本(这些脚本监控DB2进程,以确定何时需要进行诸如数据库重新启动或服务器故障转移之类的操作)的数据库管理员也很有用。如果您正在使用AIX,则可以使用命令“ps-ef”检查进程。在Solaris和HP-UX上,“ps-ef”将只显示所有服务器端进程(例如代理程序、记录器、页面清除程序和预取程序)的db2sysc进程(主DB2引擎进程)。如果您正在使用Solaris和HP-UX,利用命令“/usr/ucb/ps -axw”您可以看到这些服务器端进程。这两种版本的“ps”命令都可以在Linux上使用。 当在运行DB2数据库客户机或服务器的计算机上执行该命令时,您可能会看到列出了多个DB2进程。本章的目的是详细讲解这些进程的工作原理,并解释它们的作用以及它们何时可能会运行。通过本章内容,您将会理解每个DB2进程,当您看到这些进程时,您会明白DB2正在执行什么操作。 本章主要讲解如下内容:● DB2进程技术模型● 代理进程通信● 实用程序相关进程● DB2 V9.5多线程体系结构2.1  DB2 进程技术模型DB2进程技术模型的知识可以帮助您确定问题的性质,因为它会帮助您理解数据库管理器和与其相关联的组件如何交互作用。所有DB2服务器使用的进程技术模型使数据库服务器与客户机以及本地应用程序之间的通信更加容易。它还确保数据库应用程序独立于数据库控制块和关键数据库文件之类的资源。对于正在访问的每个数据库,启动各种引擎调度单元(Engine Dispatchable Unit,EDU)以处理各种数据库任务,例如预取、通信和日志记录。数据库代理程序是一类特殊的EDU,创建它们是为了处理数据库的应用程序请求。数据库会为每个客户机应用程序连接分配一个协调代理程序。协调代理程序代表应用程序工作,并根据需要使用专用内存、进程间通信(IPC)或远程通信协议与其他代理程序通信。 DB2进程体系结构提供一个防火墙,以便应用程序在不同于DB2的地址空间中运行。防火墙将数据库和数据库管理器与应用程序、存储过程和用户定义的函数(UDF)隔开。防火墙维护数据库中数据的完整性,原因是它禁用应用程序编程错误覆盖数据库管理器的内部缓冲区或文件。防火墙还提高了可靠性,原因是应用程序错误不能使数据库管理器崩溃。DB2的进程技术模型如图2-1、图2-2所示。图2-1  DB2进程技术模型图1(适用于DB2 V9.5之前版本)下面我们详细介绍DB2进程技术模型中的相关进程。图2-2  DB2进程技术模型图2 2.1.1  与操作系统相关的进程我们都知道DB2是安装在操作系统上的,因而在我们使用DB2数据库时,会产生一些和操作系统相关的进程,通常这些进程的owner是操作系统的root用户。下面是在AIX上我们使用“ps –ef |grep –i db2”命令的输出结果: $ ps -ef |grep db2 owner                  pid                  ppid    ------------------------------------------------------------------------root 315626        1              0 02:31:45  -  0:00 db2wdog 0 db2inst1 434408 536582              0 02:31:47  -  0:00 db2srvlst 0 db2inst1 438308 520202              0 02:31:48  -  0:01 db2hmon 0 db2inst1 499808 536582     0 02:31:48  -  0:00 db2spmlw 0 root 512010 520202       0 02:31:46  -  0:00 db2ckpwd 0 db2inst1 520202 315626                 0 02:31:46  -  0:00 db2sysc 0 root 528386 520202  0 02:31:46  -  0:00 db2ckpwd 0 root 532484 520202  0 02:31:46  -  0:00 db2ckpwd 0 root 53897  1   0 02:31:46  -  0:00 db2licc  0db2inst1 536582 520202  0 02:31:46  -  0:00 db2gds 0 db2inst1 540680 520202 0 02:31:46  -  0:00 db2ipccm 0 db2inst1 544778 520202   0 02:31:46  -  0:00 db2tcpcm 0 ---------------------------------略-------------------------------------在命令的输出中我们可以看到“db2wdog”、“db2ckpwd”和“db2licc”进程的owner都是操作系统的root用户,下面我们详细讲解这些和操作系统相关的进程。db2wdog进程我们都知道在UNIX/Linux上,init进程是所有进程的父进程;同样,在DB2的进程中,“db2wdog”进程是所有其他DB2进程的父进程。这个进程是由操作系统的init进程派生的。从上面的命令输出中我们可以看到“db2wdog”的“ppid”(parent pid)是操作系统的init进程。“db2wdog”进程是在UNIX和Linux操作系统上处理异常终止的看守程序。“db2wdog”是“db2 watch dog”的缩写,是看门狗的意思,这个进程的工作机制如图2-3所示。图2-3  db2wdog进程的工作机制图2-3  db2wdog进程的工作机制在UNIX中,“db2wdog”看守程序是必需的,因为UNIX中的进程只能跟踪其父进程的标识。如图3-3所示,每次新进程启动时,“db2gds”进程就会通知DB2看守程序。如果任何DB2进程接收到CTRL-C或其他异常信号,该进程就会向看守程序发送信号,而看守程序会将信号传播给实例中其他所有进程。如果“dbzwdog”进程出现异常,那么整个DB2数据库将无法正常工作。db2ckpwd进程 我们在《循序渐进DB2—— DBA系统管理、维护与应用案例》的“第13章:数据库安全”中给大家介绍过DB2数据库和其他别的数据库不一样的地方在于DB2数据库没有数据库用户的概念,DB2所使用的用户只能是操作系统的用户,DB2使用的安全机制是依赖操作系统或第三方安全插件来实现的。那么,如果有一个应用程序连接数据库,如何来验证其用户名和密码的合法性呢?“db2ckpwd”进程用于检查DB2服务器上的用户标识和密码。由于DB2依赖于操作系统级别的认证,因此,当某个用户或应用程序连接到服务器上的数据库时,便使用该进程验证用户标识和密码。当将AUTHENTICATION设置为SERVER时,或者当连接是从非安全的操作系统建立的时候,就会进行认证。图2-4显示了利用“db2ckpwd”进程来验证用户和密码的过程。 图2-4  db2ckpwd进程的工作过程在图2-4中,当用户发出“db2 connect to sample user Melanie using Dallas”命令后,“db2ckpwd”进程把用户名“Melance”和密码“Dallas”与“/etc/security/passwd”文件中相应的内容进行比较,验证用户和密码的合法性。db2licc进程该进程管理已安装的DB2许可证。

编辑推荐

《深入解析DB2:高级管理、内部体系结构与诊断案例》特色:◆ 本书把DB2作为一个运行在操作系统上的普通程序,这样更容易理解DB2在系统资源方面如何与操作系统交互的。◆ 贯穿全书的是丰富的实践案例和脚本,读者可以从这些案例和脚本中观察出作者诊断和解决问题的思路。◆ 本书把对DB2数据库内核讲解提升到关系型数据库管理系统应具有的组件和功能高度,熟悉其他关系型数据库的读者可以触类旁通很容易理解DB2数据库。

图书封面

图书标签Tags

评论、评分、阅读与下载


    深入解析DB2 PDF格式下载


用户评论 (总计44条)

 
 

  •   对需要了解DB2数据库内部工作原理的人来说,非常有帮助
  •   从开始接触DB2,我就一直很佩服牛新庄,
    不因为别的,就因为他的本书,
    牛老师不仅技术精湛,而且书中很多地方用词也是恰到好处
    可以说“句句是精华,字字是经典”
    平时遇到的问题,从网上找到的答案,
    发现很多都是直接或者间接的出自牛老师的书。
    关于DB2的书市场上很少,能称得上好的就更难找了,
    之前一直在看电子版的,
    自己是做技术的一直是个菜鸟,
    但是因为有了牛博士的书做平时的自学教材,
    自己的DB2能力感觉进步挺大。
    谢谢牛博士,谢谢当当网
    暂且先买一本,过段时间,再搞另外2本
  •   要学好DB2必须要先读通牛新庄的三本DB2的书,以此为基础再学其他的内容
  •   想学db2的一定要看这本书
  •   对于想要深入了解DB2的开发者很有帮助
  •   牛人,好书,学习DB2这套书帮了大忙了
  •   牛新庄的书,你懂的!
  •   本书知识点的总结概述很详细也很明晰!
  •   内容很适合高级DBA
  •   看着挺深奥的,我这种初学者得花点时间了,入门的第一本书,希望有大用
  •   正版,很好的一本书,收益很多,准备买全一套书
  •   牛博士的图书值得细细品味。
  •   深入学习,学到想要的知识
  •   内容挺丰富的。对于有一定了解的人有帮助了解底层。
  •   没有理想中的好
  •   有深度的书,不错,慢慢看:)
  •   不错,经典教材~知识点总结很到位
  •   还没看过,牛老师的书会好好看的。。
  •   牛总的书,不错
  •   很喜欢这边书,正在阅读
  •   学什么一定要学底层,才能变厉害 !
  •   牛哥的书,不用说
  •   还可以。现在还看不明白
  •   好书,很值得看!
  •   牛庄新的书真不错
  •   好书,推荐大家看看。
  •   很不错的一本书,讲的很详细,适合有一定DB2开发和管理基础的开发人员和初级的DBA!
    好好研读,收获肯定很大!
  •   看完循序渐进,在看这个会更好,会有一个全面深入的了解
  •   书的质量还好,给技术人员购买的书籍,按照需求所买,应该是好书
  •   现在工作中正好可以用到这些东西!
  •   大概浏览了一下,挺满意的
  •   还没看完 应该很不错
  •   看了一遍了,争取再看一遍
  •   帮朋友买的,感觉不错,只是送货慢了点
  •   此书必须有很好的基础才行啊,本人刚刚看,有点摸不到头脑,望坚持
  •   书籍不错,理论与实际结合
  •   不错的一本书,好好学习ing....
  •   非常不错,强烈推荐!!!
  •   很好的学习DB2的进阶书籍。。
  •   作者三本书都看了,感觉内容大部分来源于IBM db2文档和IBM官方自由拟稿人写的文章,本书作者只是翻译后拼凑到一起了,且内容组织,逻辑结构实在有点不太合理,应了作者那句话:时间仓促,加了少许案例,怀疑并非出自个人之手
  •   本书为DB2的进阶之作,
  •   老婆要买的
  •   老师推荐的书 很喜欢
  •   牛老师的书真不错
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7