《程序员》杂志:我的数据库学习“曲线”

数据库领域的四位图灵奖得主 数据库领域的四位图灵奖得主 1, Charles W. Bachman(查尔斯 • 巴赫曼) 1973 主持设计与开发了最早的网状数据库管理系统IDS 巴赫曼在数据库方面的主要贡献有两项,第一就是在通用电气公司任程序设计部门经理期间,主持设计与开发了最早的网状数据库管理系统IDS。IDS于1964年推出以后,成为最受欢迎的数据库产品之一,而且它的设计思想和实现技术被后来的许多数据库产品所仿... 阅读详情

学习收藏

《程序员》杂志:我的数据库学习“曲线”

 

  编者按:牛新庄,数据库维护、优化和架构专家;曾获得国内数据库领域最高荣誉——“2006年中国首届杰出数据库工程师”;数年前曾被IBM全球软件部以年薪60万元人民币聘用,而他却婉然拒绝。这样一个躲藏在幕后的“牛人”,有着怎样的学习、发展之路?为此,本刊特邀牛新庄博士,请他讲述一个真实版的“数据库之路”。

选定发展方向

    1999年,我在开始读研时就给自己确定了以后的发展方向。

    当时有两个方向:网络,数据库技术。因为在2000年之时,网络大热,市场上拥有CCNP、CCIE证书的人特别牛。所以我当时也考下了CCNP证书,但后来发现网络方向涉及很多硬件层面的东西,这些都对厂商的依赖性太强,个人发挥空间不大。而我喜欢钻研,所以慢慢开始转向专攻数据库技术。

    在认准数据库这个方向后,我开始深入学习数据库理论方面的知识。当时,人大王珊教授的《数据库系统原理教程》一书,我读了几十遍。在学习数据库理论的同时,我开始接触并深入学习DB2和Oracle,并从1999年开始使用DB2 V5.2。那时,市场上关于DB2方面的技术书籍几乎没有,互联网也不像现在这么发达。因为我的导师做一个课题需要用到DB2数据库,但是我只能依靠查看DB2随机文档来学习。那时,我还自己兼职,通过帮别人做些小软件赚钱,外加课题稿费,以支付考OCP认证和DB2认证的费用。

    到现在为止,我一直认为考认证是一个很好的学习动力。因为考试费用不菲,如果不想浪费钱只能拼命看书。我在读研的2000年就通过了OCP 8i认证,后来又陆续通过DB2 V5.2认证。这些认证极大地增强了我的自信。同时,在帮助导师用PB、Delphi等编程工具做应用开发时,我有意识地增强对SQL的学习,这对我后来的性能调优工作非常有帮助。

    这里我想说的是,做好一个时期的人生规划非常重要。我们首先要有一个明确的努力方向和规划,然后有意识的往这个方向努力。这种积极主动的学习要比被动学习效率高很多。

第一次做培训

    “机遇偏爱于有准备的头脑”,这句话虽是老生常谈,却是人生真谛。记得2000年底,我在网上看到一个帖子说需要一个人去安装DB2数据库,差旅报销,每天500元,我喜出望外。因为这项工作需要有DB2认证才能去,而我那时DB2高级系统管理和应用开发的认证都有,所以很快就通过了对方的审核。但是当我到客户现场时才发现,不是安装DB2而是要给客户讲课,当时我就傻眼了,因为讲课需要的知识远比安装配置数据库要难得多,更何况我之前根本没有讲过课。没办法,压力也是动力,只能前一天夜里看教材备课到凌晨5点。短短睡了两个小时后,8点半去讲课。四天讲课下来,我总共休息了12个小时。还好自己毕竟有DB2应用开发经验和DB2认证做基础,总算勉强应付了过去。只是没想到的是,这次并不算顺利的培训,竟是我未来几年培训生涯的开始。

将培训当学习的动力

    经过第一次讲课后,我看到了自己的差距,知道仅有认证是不够的。客户的很多问题,书本上没有答案,需要自己在实践经验上做努力。另外,讲课前讲师需要把一些原理、概念性的东西弄清楚,也需要对数据库进行深入学习。

    后来,IBM培训部通过一些渠道知道我能讲DB2且拥有相关证书,就找我讲授DB2系列课程。所以,从2001年开始,我就经常作为IBM官方讲师讲授DB2系列的所有课程。我自认为讲课是一个很好的学习过程,因为课前要深入了解概念,对于自己的理论深入学习有很大帮助。同时,课堂上学员的实际操作问题也会强迫自己做更深入的研究。

    我对培训有这样的认识:学员听你讲三个小时,要远远胜过自己看3小时的书。如果把一堂课的内容比喻成一杯水,那老师至少应该提前储备一桶水。所以,在讲课之前,我精心准备实验,深入和学员交流。我讲课从不照本宣科,而是自己准备了很多教材外比较实用的知识来扩展教材内容。同时争取上课过程中把一些概念用浅显易懂的例子来讲解。要想做到这些,首先自己必须对这个概念有深刻的理解才行,这一切都在客观上促进了自己的学习。

    随着培训的增多,有部分客户开始找我做实际的调优工作。记得我第一次去为客户现场调优是2001年,去大连大通证券解决锁等待问题。客户环境用的是AIX和CICS。当时虽然问题解决了,但自己心里还是比较虚,因为对AIX和CICS不了解,万一是这两个方面有问题,自己就没办法搞定了;这让我认识到一个复杂系统的调整往往需要具备多方面的知识。这件事之后,我在网上买了一个140的IBM工作站小机,自己安装AIX并开始学习。

数据库学习Tips

    根据我对数据库的理解,目前市场上虽然有Oracle,DB2,Informix,Sybase和SQL Server数据库,但Informix数据库已经被IBM收购,而Sybase数据库在技术和市场上正走向没落,占据市场主要份额的就是Oracle,DB2和SQL Server数据库。SQL Server数据库非常好,但是很遗憾的是只能在Windows平台使用。所以如果你深入研究SQL Server数据库,我只能说获取高薪的概率稍低,而且坦白的说,使用SQL Sever数据库的企业一般是中小企业居多。而国内做Oracle数据库的人太多,如果你想在Oracle领域出人头地,难度极大。但是,做DB2数据库的人反而不太多,物以稀为贵。况且,DB2数据库广泛应用在银行、电信、制造行业、零售行业、保险行业等“高薪”领域中,所以我强烈建议学习DB2数据库,做IBM技术一般获取高薪的概率相对会大一些。我们的时间精力是有限的,所以必须选择好方向然后努力为之。除了SQL Server,这几个数据库我都在使用,我个人感觉除了功能外,对于运行稳定而言,相对于Oracle不太稳定的优化器,DB2无疑是最稳定的,它的优化器无比强大。如果能在锁方面再有更先进的技术,那么DB2将是完美的。

    这期间,我一边学习,一边通过了AIX的全部认证。记得非常清楚的是,为了做HA的实验,我花费了很大工夫。因为那时小型机不像今天这么普及,无法搞到7133阵列。后来我又学习了CICS、WebSphere、MQ和存储。就这样,在我培训的过程中,发现自己哪方面薄弱并且感觉这个方向有前途,我就会开始学习。不过,那时我的技术主要还是围绕IBM产品为主。由于自己对培训比较用心且颇受客户好评,找我做培训的国内培训机构开始变多。这个期间我自己的技术水平也增长很快。

    2002年11月,我参加了首届 “IBM DeveloperWorksLive! China 2002”大会,并获得IBM首次在国内评选的“杰出软件技术专家”奖,当时在6名获奖者中名列第2。这个奖项客观上对我在客户群的拓展方面起到很大帮助。找我解决问题的人更多了,所以2002—2003年也成了我技术提升最快的两年。

    这两年内,我陆续学习了HP-UX、WebSphere和MQ并通过认证。我自己的感觉是,如果你把一门技术研究得非常深、非常透,由于触类旁通的缘故,再去学习另一门技术时就很轻松。所以,我在学完AIX再去学习HP-UX时,感觉非常轻松。同样,在学习ORACLE和DB2后再去学习Informix也同样很容易。通过这种纵向的深入和横向的比较,各种产品的所长所短也会非常清楚,自己的技术视野无意间更加全面化。而且通过对一个产品的深入,你往往能够发现这个产品的缺点和需要改进的地方。就拿DB2来说,每次版本更新的新特性,在新版本未上市前我就可以猜得差不多了。这主要有三个原因:一是我贴近真实用户,了解他们的真正需求;二是自己一直在用且不断总结思考;三是这些特性别的数据库有,而DB2没有,那在下个版本就会增加。所以相对来说,我自身对新版本的新特性学习就非常轻松了。就DB2而言,我拥有DB2 V5.2 、V7.1、V8.1和DB2 V9的全部认证,而且我应该是国内第一个把DB2 V8认证全部通过的人,当然,这其中也有巧合的成分。

    重要的一点是:学习过程中,要不断地把实践和理论融合,知其然更知其所以然,这样提升就会快很多。

现场救援“赶场”记

    2004—2005年是我最忙碌的两年,那时候找我讲课的培训机构和需要性能调优的客户非常多,基本上整天在天上飞。培训机构找我讲课常常需要提前一个月预约。那两年内,除了过年几天,其他时间都是在做培训和诊断、调优,足迹遍及国内主要城市。我自己基本上是国内六大银行开发中心和数据中心培训的指定讲师,并为北京银信科技、山东农信、广东农信,交行大集中IBP等项目做数据库技术顾问。

    那时的我年轻、精力充沛。记得最刺激的一次是2004年9月的一天,上午9点为上海移动IT部门做AIX动态逻辑分区(DLPAR)培训,结束时是17点。之后,立刻坐出租车前往扬州,于20点到达扬州供电局并协助他们进行电力负荷控制系统项目上线,一直奋战到凌晨3点半。接着,又连夜乘出租车赶往上海,在凌晨6点到达酒店。休息两小时后,8点出发,准时出现在上海移动培训现场。那时我对报酬不太在意,想的主要是用心积累技术经验和客户资源。在我看来,能够不断通过实践让自己成长是第一要义。而且,去的客户现场越多,处理的问题就越多,也就越多地发现自己的不足,然后再拼命学习,不断积累、总结和思考,进入了一个良性循环。

    至今我仍然怀念那段充实、紧张而充满激情的光辉岁月。2004年和2005年,一方面因为以独立咨询顾问的个人身份无法出具发票;另一方面,项目越做越大,尤其是很多银行的数据库架构和维护项目涉及合同金额也越来越大,需要签订正式公司合同。于是,我就分别在上海、北京注册了公司。当然这些年我并非都是一帆风顺,也犯过一些重大错误,例如:我曾经在2002年5月1日把海南美兰机场的数据库调死,导致机场航班信息管理系统瘫痪。早期也曾经因为调整某证券系统宕机而影响股民交易,这些都对客户造成了影响,但这些都是成长必须要走的路。经过这两次事件后,我自己也思考、总结了很多,在之后的调优工作中我基本上再没有犯过错误。

我的秘诀:学习、积累、规划

    2006年8月我获得“2006年中国首届杰出数据库工程师”称号,算是对我多年学习数据库的一个总结。自2007年开始,我专注于做一些大客户的运维工作,并相应减少了培训次数。2008年,我被建设银行以年薪217万聘请为资深技术专家来维护Oracle和Informix数据库。就做技术而言,以一己之力能挣到年薪几百万常常令我感到自豪,也让我感受到技术的魅力,觉得自己多年来对技术的钻研得到了认可。

    之所以讲述我的技术之路,主要目的是给大家一些参考,尽可能多地去了解社会的需求,有意识给自己制定人生规划。我自己认为,多年来能取得这样的成绩,勤奋、努力和坚持一直是我最看重的。因为有了这些,才不至于当机遇光顾时,你却不知所措。

    现在很多年轻人,恰恰缺少的就是这样的忘我与痴迷,在我熟悉的数据库技术领域,很多年轻人越来越早地将注意力集中在薪水和职位上,这是很不明智的行为。其实,往往那些将诸如高薪与职位忘怀的人反而能更快地取得成功。“不经一番寒彻骨,安得梅花扑鼻香?”这样的道理人人都懂,可能够真正去实践的人却并不多。结合我的学习经验与感悟,我总结有16字要诀:去除浮躁,认真学习,不断积累,寻找机遇。

    最后,我用这句话与大家共勉:古之成大事者,不唯有超世之才,亦唯有坚韧不拔之志也!

DB2数据库性能调整和优化 牛新庄 PDF DB2数据库性能调整和优化(第2版)侧重于介绍DB2数据库的性能调优。性能调优是一个系统工程:全面监控分析操作系统、I/O性能、内存、应用及数据库才能快速找到问题根源;深刻理解DB2的锁及并发机制、索引原理、数据库参数、优化器原理、SQL语句调优等内部机理才能针对性地快速提出解决问题的方法;快照、db2pd、db2expln及事件监控器等则是必须熟练掌握的工具。《DB2数据库性能调整和优化(第2版)》覆盖了进行DB2数据库性能调优所需的全部知识和工具,并提供了大量的性能调优的实际案例。 立即下载

相关推荐

数据库人物专访:牛新庄1

牛新庄目录简介牛新庄博士自传编辑本段简介[1] 牛新庄博士,是国内顶尖数据架构与信息治理专家,以217万年薪受聘于中国建行总行资深技术专家,在国内的金融六大行、

国内数据库技术大牛:牛新庄博士自传(附:项目经验)

国内数据库技术大牛:牛新庄博士自传(附:项目经验) 发表于: DataBase, DB2, IT精英, Linux, Oracle, UNIX | 作者: 谋万世全局者 标签: 博士,技术大牛,数据库,牛新庄,自传 牛新庄博士,是国内顶尖数据库维护、优化和架构专家,以217万年薪受聘于中国建行总行资深技术专家,在国内的金融六大行、证券、保险、电信

junecauzhang的专栏 6807

我的数据库学习“曲线”

众所周知,Oracle占据着企业数据库领域超过48.1%的市场份额,成为高端企业数据库软件的绝对领导者。随着时间的推移,企业数据库的规模不断扩大,富有经验的资深OracleDBA越来越受到企业的欢迎。我们从著名的找工作网站上的职位需求可以很清楚地看到这一点。

数据库大牛

最近在看一本,淘宝技术这十年,2013年出版,当时没有看。 由于各种原因当时在工厂卖苦力。如今,碰巧看见一本二手的,10块钱,还比较新。 就拿下了。顺便一口气看完! 然后,看到时面的内容,引申的学习。才有了这文章。 淘宝的数据库,最先是mysql ,后转Oracle ,现在又转回 MySQL。 存在很多数据库的牛人,冯春培,冯大辉,等等。 顺便看了,Oracle 官网,中国区的 AC...

Ooo0oops 779

小红书x-mini签名逆向实战:Frida动态Hook与算法还原

在移动App协议分析中,请求签名机制是保障接口安全的核心技术,其本质是客户端对请求参数、时间戳、设备指纹等要素进行加密认证的过程。理解签名原理需掌握Native层加密流程、JNI调用机制及密钥动态派生逻辑。Frida作为主流动态插桩工具,能绕过符号剥离、字符串加密和控制流混淆等反分析手段,在函数执行瞬间捕获寄存器状态、内存数据与调用上下文,实现签名算法的完整还原。该技术广泛应用于合规内容监测、API自动化调用与竞品协议研究等工程场景。本文聚焦小红书x-mini签名这一典型样本,详解从JNI_OnLoad定位

weixin_31264565的博客 463

wsl --install 不执行,显示帮助信息

在安装使用wsl的时候碰到了wsl --install 不执行,而显示帮助信息,提供了解决方案。

水滴爬呀爬 2775

牛新庄大侠的简历,我辈后生共勉

原文链接: http://blog.youkuaiyun.com/programmer_editor/article/details/3865839 编者按:牛新庄,数据库维护,优化和架构专家;曾获得国内数据库领域最高荣誉----"2006年中国首届杰出数据库工程师"; 数年前曾被IBM全球软件部以年薪60万元人民币聘用,而他却婉然拒绝;这样一个躲藏在幕后的"牛人",有着怎样的...

绝尘的Blog 1688

ubuntu18.04安装gtsam过程及报错error: invalid initialization of reference of type ‘const std::vector<bool>&’

这里建议从这个链接下,不要从官网下,可能会有版本冲突 2.安装依赖 3.编译 报错: 1. error: invalid initialization of reference of type ‘const std::vector&’ from expression of type ‘const std::vector’ 124 | const std::vector& mask() const { retur...

qq_35102059的博客 2914

《程序员》杂志:我的数据库学习“曲线“(转)

编者按:牛新庄,数据库维护、优化和架构专家;曾获得国内数据库领域最高荣誉——“2006年中国首届杰出数据库工程师”;数年前曾被IBM全球软件部以年薪60万元人民币聘用,而他却婉然拒绝。这样一个躲藏在幕后的“牛人”,有着怎样的学习、发展之路?为此,本刊特邀牛新庄博士,请他讲述一个真实版的“数据库之路”。选定发展方向    1999年,我在开始读研时就给自己确定了以后的发展方向。    当时有两个方向

wwwbbb8510的专栏 667

量子计算入门指南:密度算符的核心概念与应用解析

本文深入解析了量子计算中密度算符的核心概念与应用。作为描述量子系统“状态的状态”的关键数学工具,密度算符能有效处理混合态与子系统描述,是理解量子噪声、量子纠错和开放系统演化的基石。文章通过对比纯态与混合态,阐释了密度矩阵的数学定义与物理意义,并结合代码示例演示了其在实际量子计算问题中的强大威力。

day7的博客 471

机器学习系列(3)_逻辑回归应用之Kaggle泰坦尼克之灾

f作者: 寒小阳 &&龙心尘 时间:2015年10月。 出处: 声明:版权所有,转载请注明出处,谢谢。手把手机器学习之逻辑回归应用——Kaggle泰坦尼克之灾1.引言先说一句,年末双十一什么的一来,真是非(mang)常(cheng)欢(gou)乐(le)!然后push自己抽出时间来写这篇blog的原因也非常简单: 写完前两篇逻辑回归的介绍和各个角度理解之后,小伙伴们纷纷表示『好像很高级的样纸,

寒小阳 43万+

牛新庄 我的数据库学习“曲线”

《程序员》杂志:我的数据库学习“曲线”   编者按:牛新庄,数据库维护、优化和架构专家;曾获得国内数据库领域最高荣誉——“2006年中国首届杰出数据库工程师”;数年前曾被IBM全球软件部以年薪60万元人民币聘用,而他却婉然拒绝。这样一个躲藏在幕后的“牛人”,有着怎样的学习、发展之路?为此,本刊特邀牛新庄博士,请他讲述一个真实版的“ 数据库之路”。选定发展方向    1999年,我在开始读研时就给自

创世元年 928

基于Simulink的异步电机定子磁链定向控制(SFOC)仿真

本文带你从零构建了异步电机SFOC系统​ 的完整Simulink仿真模型,实现了:✅ 搭建异步电机、逆变器、风机负载的主电路与传感器模型;✅ 用MATLAB Function实现定子磁链观测(电压模型)、坐标变换、双闭环PI控制;✅ 验证SFOC在转速跟踪(响应0.2s、超调4%)、转矩响应(恢复0.15s)中的高性能;✅ 对比RFOC,明确SFOC在参数鲁棒性(转子电阻+50%时波动<2%)上的独特优势;✅ 理解SFOC“定子磁链定向+解耦控制”的核心思想(低成本高鲁棒性驱动的工程实现)。

xiaoheshang_123的博客 393

数学很差的人能当程序员吗?

【优快云 编者按】作者在大学时代受《程序员》杂志的启发,从数学专业投身计算机编程,毕业后进入软件开发行业。过去9年,他去过大厂敲代码,也曾在创业公司带过团队,一直从事“下一代”软件技术的...

AI科技大本营 1165

secureCRT 破解方法

3、输入注册信息打开keygen.exe,点击path,选择SecureCRT的安装目录(例如D:\VanDykeSoftware\Clients)的securecrt.exe打开,继续下一步打开LicenseHelper.exe,如下。1、注册SecureCRT9.1打开keygen.exe,出现以下问题(没有关掉安全防护,一双击打开,Windows会自动识别keygen.exe为bingdu并删除)打开桌面SecureCRT,此界面不输入内容,直接点击下一步。2、存储配置文件夹(可以默认安装)

逆水行舟 1万+

基于深度学习的柠檬等级检测系统 —— YOLOv8 + UI界面 + 数据集

本项目的目标是构建一个柠檬等级检测系统,通过深度学习模型自动检测柠檬的等级。自动检测柠檬等级:通过图像中的柠檬特征,自动判断其成熟度和质量。实时视频检测:通过摄像头实时监控柠檬的质量等级。用户友好的UI界面:为用户提供简洁直观的操作界面,支持图像上传、实时视频检测等功能。本项目展示了如何基于YOLOv8模型开发一个柠檬等级检测系统,结合PyQt5实现了用户友好的UI界面。通过该系统,用户可以快速上传柠檬图像并自动识别其等级,极大提升了检测效率和准确性。数据集的扩展。

YOLO 1114

Vibe Coding 实战:从产品的唯美主义用 Qoder 打造个人专属时尚杂志应用

摘要: 本文记录了一位广告设计师使用 Qoder 和 Vibe Coding 技术,仅用一个下午从零开发全栈时尚杂志应用的经历。Vibe Coding 的核心是通过自然语言描述“感觉”(如“像Vogue杂志封面”),由AI直接生成代码,无需传统编程知识。 过程亮点: 需求对齐:AI通过对话引导设计师明确需求,自动生成PRD文档,精准定位“个性化时尚杂志”的核心功能。 风格定义:用感官语言(如“高级杂志风”)描述视觉风格,AI输出详细设计规范(配色、字体等)。 代码生成:通过提示词模板,AI30秒内生成260

wdracky的专栏 2838

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

“软件中国2006年度风云榜”获奖名单隆重揭晓

 引自 csdn 我们期望有这么一个奖项,可以全面地盘点在本年度为中国信息化发展做出卓越贡献的技术、产品、企业与个人,包括将技术巧妙运用在互联网领域的Web站点,和普及软件技术的图书;   我们期望有这么一个奖项,可以多方位展示中国软件业一年来取得的进步与不足,从而在表彰与总结中迈向下一个阶段;   我们期望有这么一个奖项,可以搭建一个最终用户与企业相互交流的平台,在此平台之上双方可以有...

weixin_30908941的博客 329

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

大模型工程师薪资狂飙120%!小白程序员如何抓住AI红利?速收藏!

相比之下,传统程序员的薪资增长正面临结构性瓶颈。以Java后端工程师为例,其核心技能(Spring框架、MySQL优化、分布式系统设计)的供给已高度饱和。据某招聘平台统计,2024年Q1,Java工程师的求职者数量是岗位数量的4.2倍,而大模型工程师的这一比例仅为1:0.8。更关键的是,十年经验的价值正在被AI工具削弱。以代码生成工具GitHub Copilot为例,它可在数秒内完成一位初级工程师需要数小时编写的代码。当AI能处理80%的常规编程任务时,企业对“十年经验”的溢价支付意愿自然降低。

python12345_的博客 155
下一篇: 程序员的基本素质如何?
photon21
博客等级 码龄18年 10粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值