关系数据库是软件开发中最常见的一个组件,它的工作原理是IT程序员必须要掌握的。我们可以把数据库看做是轮子,学习造轮子是基础中的基础。那么造一个轮子遥涉及到哪些知识呢?下面一起来看看:
(1)实现对SQL的解析,你需要实现一个语法分析器, 《编译原理》的基础知识就用上了;
(2)数据需要保存到硬盘上,你需要考虑存储引擎,涉及到《操作系统知识》需要对外提供接口,设计数据结构,《数据结构》的知识就会用上;
(3)需要实现索引,B+树是必须的,又是数据结构;
(4)需要做表的Join,事务的ACID, 又有各种算法;
(5)如果需要提供网络访问,还要涉及到socket等计算机网络的知识。