PostgreSQL与MySQL内核源代码分析之旅(1)--出发
2013-09-11 22:07
309 查看
数据库是个很复杂的系统,涉及到算法、数据结构、编译原理、体系结构、网络通信等几乎涵盖计算机科学主要方面的东西,想要全搞懂了着实不易,但要真好好地把某个开源数据库内核实现研究一番,却又大有裨益。要提起开源数据库不能不提MySQL,可以说互联网的兴起都是受到这个开源产品的促进,随着MySQL被Oracle收购,PostgreSQL这个稍显学院派的数据库逐渐被人们重视起来,越来越多的人投入到PostgreSQL内核开发中来。
PostgreSQL与MySQL是两种经典的极端:MySQL偏重江湖实用性,PG散发着严谨的学院气息;MySQL的SQL引擎和存储引擎分离的,PG的SQL引擎与存储引擎的高度耦合;MySQL是多线程,PG是多进程的... ...
由于工作的关系,主要看PG的代码多一些,而PG又是经典的遵循了《数据库系统实现》这本书。只看一个系统实现的坏处就是总以为这个东西就该这么实现,放弃了思考多种可能的机会。所以将这两个系统放在一起对比阅读,将会是一种奇妙的体验。
工作又忙,自己又懒,为了鼓励自己坚持下去,用一篇《为学》来开篇吧。
天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。
吾资之昏,不逮人也;吾材之庸,不逮人也;旦旦而学之,久而不怠焉,迄乎成,而亦不知其昏与庸也。吾资之聪,倍人也;吾材之敏,倍人也;屏弃而不用,其与昏与庸无以异也。圣人之道,卒于鲁也传之。然则昏庸聪敏之用,岂有常哉!
蜀之鄙有二僧:其一贫,其一富。贫者语于富者曰:"吾欲之南海,何如?"
富者曰:"子何恃而往?" 曰:"吾一瓶一钵足矣。"
富者曰:"吾数年来欲买舟而下,犹未能也,子何恃而往!" 越明年,贫者自南海还,以告富者 。富者有惭色。
西蜀之去南海,不知几千里也,僧富者不能至而贫者至焉,人之立志,顾不如蜀鄙之僧哉?是故聪与敏,可恃而不可恃也;自恃其聪与敏而不学者,自败者也。昏与庸,可限而不可限也;不自限其昏与庸,而力学不倦者,自力者也。
PostgreSQL与MySQL是两种经典的极端:MySQL偏重江湖实用性,PG散发着严谨的学院气息;MySQL的SQL引擎和存储引擎分离的,PG的SQL引擎与存储引擎的高度耦合;MySQL是多线程,PG是多进程的... ...
由于工作的关系,主要看PG的代码多一些,而PG又是经典的遵循了《数据库系统实现》这本书。只看一个系统实现的坏处就是总以为这个东西就该这么实现,放弃了思考多种可能的机会。所以将这两个系统放在一起对比阅读,将会是一种奇妙的体验。
工作又忙,自己又懒,为了鼓励自己坚持下去,用一篇《为学》来开篇吧。
天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。
吾资之昏,不逮人也;吾材之庸,不逮人也;旦旦而学之,久而不怠焉,迄乎成,而亦不知其昏与庸也。吾资之聪,倍人也;吾材之敏,倍人也;屏弃而不用,其与昏与庸无以异也。圣人之道,卒于鲁也传之。然则昏庸聪敏之用,岂有常哉!
蜀之鄙有二僧:其一贫,其一富。贫者语于富者曰:"吾欲之南海,何如?"
富者曰:"子何恃而往?" 曰:"吾一瓶一钵足矣。"
富者曰:"吾数年来欲买舟而下,犹未能也,子何恃而往!" 越明年,贫者自南海还,以告富者 。富者有惭色。
西蜀之去南海,不知几千里也,僧富者不能至而贫者至焉,人之立志,顾不如蜀鄙之僧哉?是故聪与敏,可恃而不可恃也;自恃其聪与敏而不学者,自败者也。昏与庸,可限而不可限也;不自限其昏与庸,而力学不倦者,自力者也。
相关文章推荐
- PostgreSQL与MySQL内核对比分析之旅(1)--出发
- mysql内核源代码深度解析 缓冲池 LRU模块 全面分析(bufferpool部分二)
- PostgreSQL与MySQL源代码分析之旅(2)上--PG源代码结构
- PostgreSQL与MySQL源代码分析之旅(2)下--MySQL源代码结构
- LINUX3.0内核源代码分析-----内核同步
- postgreSQL内核分析1
- PostgreSQL数据库内核分析 笔记(这本书没有怎么很好的看,主要就是一些数据结构、概念和流程的文字介绍)
- Linux 内核源代码情景分析 chap 1 预备知识
- select,poll,epoll实现分析—结合内核源代码
- PostgreSQL的 initdb 源代码分析之十八
- PostgreSQL的 initdb 源代码分析之二十三
- WebKit 内核源代码分析 ( 四 )
- linux 3.4.10 内核内存管理源代码分析2:伙伴系统
- 卷一 内核源代码分析 第二章 异常 2.2.4 OMAP4的中断体系 图书试读版-请勿转载
- MySQL系列:innodb源代码分析之内存管理
- 《深入分析 Linux 内核源代码 》中的signal()例子
- FreeBSD 5内核源代码分析之系统调用过程
- mysql 内核分析
- PostgreSQL的initdb 源代码分析之六
- PostgreSQL的 initdb 源代码分析之十二