数据库内核的南天门-内核专场(54页).pdf

编号:87309 PDF 54页 1.02MB 下载积分:VIP专享
下载报告请您先登录!

数据库内核的南天门-内核专场(54页).pdf

1、数据库内核的南天门SQL编译器开发内核开发的困难(一)内核开发的困难(一)系统性讲PostgreSQL内核开发的文档或者书籍很少 官方的WikiDevelopment informationhttps:/wiki.postgresql.org/wiki/Development_information PostgreSQL数据库内核分析、PostgreSQL指南内幕探索等书籍。打开日志debug开关管中窥豹 查看SQL执行的内部过程,在gdb或者日志中查看语法树,代码的执行路径。但是,很难从全局理解一个数据库程序的核心功能是什么。PostgreSQL已经有91万行c代码,30万行注释,没有人能去

2、读取规模这么庞大的源码内核开发的困难(二)内核开发的困难(二)管中窥豹,很容易误入歧途 陷入代码庞大结构以及复杂的细节中,而且这里面涉及进程、内存、网络、存储等方方面面的API 不能理清需求 我要做什么,我做的有没有用,会不会被社区接纳从软件工程的角度审视从软件工程的角度审视PostgreSQL 需求?设计?编码?测试?需求需求 PostgreSQL 是一个关系型数据库(抽象概念抽象概念)数据模型是关系模型,用表表的集合来表示数据与数据之间的联系,每个表表有多个列列,每个列列有唯一的列名。关系模型是数据库软件的最核心也是最基础的概念,E-R模型是对现实中对象-关系的一种抽象,而关系模型则用二维

3、表的形式表示了实体以及其联系。所以一个关系型数据库,就是实体以及联系在软件空间的实现。SQL(Structured Query Language)是一种为关系型数据库管理系统(RDBMS)设计用于管理数据的编程语言SQL是数据库的功能接口,SQL的能力直接决定了数据库实现的功能设计设计 数据库的实现文档 数据库系统概论 数据库系统实现 Architecture of a Database System 其他各种出版物以及论文最核心的需求是二维表在数据库软件中的表示以及二维表的操作接口实现实现程序架构程序架构实现实现执行逻辑执行逻辑从从Parser开始数据库内核开发开始数据库内核开发 不管是重新

4、开发还是基于现有数据库修改,一开始很容易就进入了编码编码阶段,没有理清楚软件要表达的核心的概念,也没有搞清楚软件的基础架构。因为SQL语言是数据库的功能接口,是对关系模型的语言表达,所以对于数据库开发来说,最核心的是定义支持的SQL,解释SQL,执行SQL。SQL定义 SQL-92,SQL-99,SQL-2016等 自定义SQL从从Parser开始数据库内核开发(续)开始数据库内核开发(续)SQL解释 SQL编译器,词法分析,语法分析,语义分析 SQL执行 生成执行计划,执行执行计划编译器的基础知识编译器的基础知识 编译原理(龙书、虎书)只需要理解词法分析,语法分析,语义分析了解一下 Flex

5、&Bison(OREILLY)Flex 词法分析器官方文档:https:/westes.github.io/flex/manual/GNU Bison官方文档:https:/www.gnu.org/software/bison/manual/bison.html编译的执行过程编译的执行过程 查询经过TCP/IP或者Unix socket以数据包的形式传递给backend进程,然后作为一个字符串传递给parser,词法分析器(scan.l)将字符串打散成一个个的token(单词),语法分析器依次读取token并适配对应的语法规则(gram.y)然后生成抽象语法树。Backend Flowchar

6、t https:/www.postgresql.org/developer/backend/编写一个完全用Yacc语法分析器的语义动作短语来实现的编译器是有可能的,但是这种编译器很难阅读和维护。为了便于模块化,最好将语法问题(语法分析)和语义问题(类型检查和翻译成机器代码)分开处理。达到此目的的一种方法是由语法分析器生成语法分析树.技术上,每一个输入单词对应着对应着语法树中的一个叶子节点,每一个语法规则对应着书中的一个内部节点。现代编译原理4.2抽象语法分析树语法以及语法树语法以及语法树语法语法statement:NAME=expressionExpression:NUMBER+NUMBER|

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(数据库内核的南天门-内核专场(54页).pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠