当以艺术眼光看程序,寻找程序后面的原理,做到化而不忘
全部博文(57)
分类: Windows平台
2014-06-20 12:37:50
我的工作是汽车软件开发,离C语言很近,天天用,离数据库很远,还是在上学时,学了点数据库知识,自己安装MySQL和SQLServer2000,练着玩。以后陆续看到数据库方面居然还可以考证,真心强大。虽然数据库知道不多,但是用C语言实现一个数据库就很让人着迷了,就像用C写处OS一样。它真正体现了C的强大和思维架构的巧妙。
看到本书,算是找到了数据库的精华了,至少他能让你明白当你输入 select指令时,MySQL内核是如何运行的,先做什么,后做什么,比单纯讲指令有意思多了。
C语言是很强大的,但是这只是语言本身,能把它用得出神出化,那就是语言之外的功夫了。就比如说,C语言是刀剑,而设计思想就是功夫,二者结合才能无所不胜。单纯地知道C语言,就是单纯地有一把刀剑,如果没有好的思想去驾驭它,那也是很无聊的,所以思想永远是王者。本书很好地提供了这样的机会,它让我知道了,C语言也可以这样使用,原来数据库内部也是像OS一样,有架构,有思想,有技巧。比如其中提到了伙伴系统分配,这不就是Linux的内存分配算法吗?内存池不就是线程池的模仿吗?本书循序渐进地讲解了MySQL的内核相关机制,让人经历了一场设计之旅,达到了思想和架构层面的交流,很强大。
另外,我对数据库的存储原理很是有兴趣,比如数据库的安全性如何保证?数据回滚是如何实现的?大量数据如何合理存储且保证其读写性能?这些问题像谜语一样,一直想深入探究,但能力和时间不允许,有了此书,或可解开我的谜团。