数据库引擎与SQL优化器开发 数据库引擎视频教程 SQL优化器开发视频教程 炼数成金
课程介绍
本课程为原先《数据库引擎开发》课程第二版改版,增加了大家较为感兴趣的“SQL优化器开发”部分,课程名也改成《数据库引擎与SQL优化器开发》。SQL优化器设计是任何数据库的核心技术,加入这部分内容后,本课程所研发的数据库已经超出原有范畴,迥然变身成当前最时尚的NewSQL数据库!
中国IT行业起步较晚,加上国情和民族性格的原因,大部分人更乐于使用外国人现成的软件(大部分还是盗版),开发点小应用,系统级别的软件几乎没有胆量去挑战。在大多数国人的心目中,象大型操作系统,大型数据库系统这样的软件,就是个禁区。对于性格容易自卑,技术学习没有恒心和耐力,遇难则退的国人,根本从来没有想象过有一天,自己也有能力去挑战。君不见,PUB上的数据库爱好者们,对于各种Oracle内幕,比如块构造,隐藏参数等津津乐道,对于调整好一条SQL使之在甲骨文的优化器下能高性能运转具有巨大的满足感成功感,仿佛自己掌握了天下最有价值的真理,驾驭了天下最有难度的技术。但对于设计,编写出这个数据库的人来说,他们看到此情此景,只好躲在一边偷偷哂笑。用数据库的称为大师,那么自己写出一个数据库的又该称为什么呢?
我们具有聪明的头脑,缺乏的是高瞻远瞩的眼光和迎难而上的勇气!现在,我们设计了一个新的课程,参与者将有机会学习怎样用C++写出一个完整的数据库软件!而这个课程几乎是免费的!课程不光培养技术,更加培养勇气!
《数据库引擎开发》课程概述:
该课程通过15次课,大约30课时介绍创建一个简易分布式文档型数据库
课程目标
通过本课学员可以:
深入理解NoSQL数据库的内部工作原理
实现一个可存取数据的分布式数据存储
理解文档式NoSQL数据库的适用场景
了解关系型数据库与非关系型的针对特性与各自的实现机制
暂时还没有列入本课程的内容:
实现关系型数据库的ACID
实现商用型非关系型数据库
保证数据的高可用性与稳定性
SQL语法解析
授课对象
熟悉C/C++语言
对数据库底层实现感兴趣的IT人或学习者有兴趣往
源代码方向发展的挑战者
预期收获
1 知道怎样去设计和实现一个数据库,从而获得加入数据库软件厂商的研发团队的机会
2 通过课程极度熟悉c++编程,特别是socket编程和内存管理,这是晋升c++高手的必经之路,c语言的能力属于内功级,可以增加IT人的底气,无论从事系统级软件,还是底层开发,嵌入式开发,移动开发,客户端开发都能得心应手!具备源码级挑战能力的高手深受各大企业的欢迎,金饭碗指日可待!
3 加深对数据库的理解,即使只是数据库用家也能从中获益
讲师简介
王涛
ITPUB资深斑竹(wangzhongnew),毕业于加拿大卡尔加里大学,于2005年在IBM多伦多实验室进行DB2数据库的研发与技术支持,并参与设计IBM下一代弹性数据平台。2012年创立SequoiaDB巨杉NoSQL数据库并担任总架构师与首席技术官。
-------------------课程目录-------------------
第一课:NoSQL数据库简介与环境配置
讲述数据库的核心功能,以及NoSQL与关系型数据库的侧重点
简述该课程的目标,在课程结束后能够实现的数据库功能
介绍数据库的整体架构
介绍开发环境的搭建
预计时间两小时
第二课:建立数据库连接
实现单线程客户端连接,能够向服务端发送请求
实现多线程服务端连接,能够从客户端接收请求
预计时间两小时
第三课:阀锁,配置,日志等
定义服务端的一些底层基础组件
预计时间两小时
第四课:数据库引擎底层搭建1
建立线程数据结构
建立线程调度机制
预计时间两小时
第五课:消息封装
定义客户端服务器的消息通讯结构
预计时间两小时
第六课:数据的持久化存放
Mmap,内存与磁盘的映射
数据块的分配与回收
预计时间两小时
第七课:数据的存储结构
BSON与数据记录的结构设计
数据文件存储结构设计
预计时间两小时
第八课:数据的插入,读取与删除
数据的插入,查询与删除
客户端增加相应的功能
预计时间两小时
第九课:散列索引
数据键的散列桶与内存结构
数据库启动自动建立散列索引
预计时间两小时
第十课:数据库理论
介绍数据库的一些基本原理,包括事务,SQL编译与执行等
预计时间两小时
第十一课:SQL解析和优化
SQL编译进阶,优化器概念与实现原理。
预计时间2小时
第十二课:Java驱动
连接多点数据库并查询
建立数据的散列机制,能够在正确的分区上查找数据
预计时间一小时
第十三课:监控、性能调优和测试
介绍数据库监控和调优理论,并实现数据库的基本监控快照功能
介绍软件测试流程与自动化测试
预计时间两小时
第十四课:Java应用
建立Java应用程序,使用驱动与数据库通讯
预计时间两小时
第十五课:总结
总结前14节课的步骤
扩展讨论
多数据层次(表空间,表)
日志
高可用性
持久性
锁
事务
多字段查询与更新
B树索引
SQL解析
基于规则的SQL优化器
基于开销的SQL优化器
预计时间2小时