课程信息
  • 课程首页
  • 拼团活动
  • 专业套餐
  • 优惠活动
  • 我的课程
  • 站内消息
  • 站内提醒
  • 我的钱包
  • 道具 | 抵价券
  • 登录


【快班】数据库引擎与SQL优化器开发

数据库

15周

3人

讲师
wangzhonnew
王涛,ITPUB资深斑竹(wangzhongnew),毕业于加拿大卡尔加里大学,于2005年在IBM多伦多实验室进行DB2数据库的研发与技术支持,并参与设计IBM下一代弹性数据平台。2012年创立SequoiaDB巨杉NoSQL数据库并担任总架构师与首席技术官。
课程简介

中国IT行业起步较晚,加上国情和民族性格的原 因,大部分人更乐于使用外国人现成的软件(大部分还是盗版),开发点小应用,系统级别的软件几乎没有胆量去挑战。在大多数国人的心目中,象大型操作系统, 大型数据库系统这样的软件,就是个禁区。对于性格容易自卑,技术学习没有恒心和耐力,遇难则退的国人,根本从来没有想象过有一天,自己也有能力去挑战。君 不见,PUB上的数据库爱好者们,对于各种Oracle内幕,比如块构造,隐藏参数等津津乐道,对于调整好一条SQL使之在甲骨文的优化器下能高性能运转 具有巨大的满足感成功感,仿佛自己掌握了天下最有价值的真理,驾驭了天下最有难度的技术。但对于设计,编写出这个数据库的人来说,他们看到此情此景,只好 躲在一边偷偷哂笑。用数据库的称为大师,那么自己写出一个数据库的又该称为什么呢?


我们具有聪明的头脑,缺乏的是高瞻远瞩的眼光和迎难而上的勇气!现在,我们设计了一个新的课程,参与者将有机会学习怎样用C++写出一个完整的数据库软件!而这个课程几乎是免费的!课程不光培养技术,更加培养勇气!

课程章节
  • 第1课 NoSQL数据库简介与环境配置
    • 1-1 讲述数据库的核心功能,以及NoSQL与关系型数据库的侧重点
    • 1-2 简述该课程的目标,在课程结束后能够实现的数据库功能
    • 1-3 介绍数据库的整体架构
    • 1-4 介绍开发环境的搭建
  • 第2课 建立数据库连接
    • 2-1 实现单线程客户端连接,能够向服务端发送请求
    • 2-2 实现多线程服务端连接,能够从客户端接收请求
  • 第3课 阀锁,配置,日志等
    • 3-1 定义服务端的一些底层基础组件
  • 第4课 数据库引擎底层搭建1
    • 4-1 建立线程数据结构
    • 4-2 建立线程调度机制
  • 第5课 消息封装
    • 5-1 定义客户端服务器的消息通讯结构
  • 第6课 数据的持久化存放
    • 6-1 Mmap,内存与磁盘的映射
    • 6-2 数据块的分配与回收
  • 第7课 数据的存储结构
    • 7-1 BSON与数据记录的结构设计
    • 7-2 数据文件存储结构设计
  • 第8课 数据的插入,读取与删除
    • 8-1 数据的插入,查询与删除
    • 8-2 客户端增加相应的功能
  • 第9课 散列索引
    • 9-1 数据键的散列桶与内存结构
    • 9-2 数据库启动自动建立散列索引
  • 第10课 数据库理论
    • 10-1 介绍数据库的一些基本原理,包括事务,SQL编译与执行等
  • 第11课 SQL解析和优化
    • 11-1 SQL编译进阶,优化器概念与实现原理。
  • 第12课 Java驱动
    • 12-1 连接多点数据库并查询
    • 12-2 建立数据的散列机制,能够在正确的分区上查找数据
  • 第13课 监控、性能调优和测试
    • 13-1 介绍数据库监控和调优理论,并实现数据库的基本监控快照功能
    • 13-2 介绍软件测试流程与自动化测试
  • 第14课 Java应用
    • 14-1 建立Java应用程序,使用驱动与数据库通讯
  • 第15课 总结
    • 15-1 总结前14节课的步骤
    • 15-2 扩展讨论
    • 15-3 多数据层次(表空间,表)
    • 15-4 日志
    • 15-5 高可用性
    • 15-6 持久性
    • 15-7 锁
    • 15-8 事务
    • 15-9 多字段查询与更新
    • 15-10 B树索引
    • 15-11 SQL解析
    • 15-12 基于规则的SQL优化器
    • 15-13 基于开销的SQL优化器
授课对象

对数据库底层实现感兴趣的IT人或学习者有兴趣往源代码方向发展的挑战者

收获预期

1 知道怎样去设计和实现一个数据库,从而获得加入数据库软件厂商的研发团队的机会
2 通过课程极度熟悉c++编程,特别是socket编程和内存管理,这是晋升c++高手的必经之路,c语言的能力属于内功级,可以增加IT人的底气,无论从事系统级软件,还是底层开发,嵌入式开发,移动开发,客户端开发都能得心应手!具备源码级挑战能力的高手深受各大企业的欢迎,金饭碗指日可待!
3 加深对数据库的理解,即使只是数据库用家也能从中获益

---------------------------
预习参考书目C++对于大部分人,至少都在求学阶段学过,但可能长期没有使用。如果要重拾和补强,老师给了一些参考书,可以在课前预习,也可以边上课边补,有充足的时间让你变得更加强大!
Essential C++
http://product.dangdang.com/product.aspx?product_id=20925824

C++ Primer Plus
http://product.dangdang.com/product.aspx?product_id=22783504

The C++ Standard Library
http://www.amazon.com/Standard-Library-Tutorial-Reference-2nd/dp/0321623215

Boost程序库完全开发指南
http://product.dangdang.com/product.aspx?product_id=23170652

编译:
autotools
http://www.amazon.com/Autotools-Practioners-Autoconf-Automake-Libtool/dp/1593272065

Socket:
TCP/IP Sockets编程
http://product.dangdang.com/product.aspx?product_id=20719481

多线程:
Programming POSIX Threads
http://www.amazon.com/Programming-POSIX-Threads-David-Butenhof/dp/0201633922

学费

学费: ¥400 ( 固定学费: ¥300, 逆向学费: ¥100 )

新颖的课程收费形式:“逆向收费”约等于免费学习,仅收取300元固定收费+100元逆向学费,学习圆满则逆向学费全额返还给学员!

炼数成金移动版 v2.0