论坛元老
- 威望
- 58
- 贡献
- 83
- 热心值
- 0
- 金币
- 14148
- 注册时间
- 2020-8-31
|
课程介绍:
该课程通过15次课,大约30课时介绍创建一个简易分布式文档型数据库,课程偏底层,需要懂c和数据库原理
学习目标:
1.创建一个Linux下简易分布式文档型数据库
2.深入理解NoSQL数据库的内部工作原理
3.实现一个可存取数据的分布式数据存储
4.理解文档式NoSQL数据库的适用场景
5.了解关系型数据库与非关系型的针对特性与各自的实现机制
6.暂时还没有列入本课程的内容:
7.实现关系型数据库的ACID
8.实现商用型非关系型数据库
9.保证数据的高可用性与稳定性
10.SQL语法解析
适合人群:
熟悉C/C++语言
对数据库底层实现感兴趣的IT人或学习者有兴趣往源代码方向发展的挑战者
预期收获:
1 知道怎样去设计和实现一个数据库,从而获得加入数据库软件厂商的研发团队的机会
2 通过课程极度熟悉c++编程,特别是socket编程和内存管理,这是晋升c++高手的必经之路,c语言的能力属于内功级,可以增加IT人的底气,无论从事系统级软件,还是底层开发,嵌入式开发,移动开发,客户端开发都能得心应手!具备源码级挑战能力的高手深受各大企业的欢迎,金饭碗指日可待!
3 加深对数据库的理解,即使只是数据库用家也能从中获益
编程语言:
语言:C++
目标代码量1-3万行
课程目录:
第一课:NoSQL数据库简介与环境配置
讲述数据库的核心功能,以及NoSQL与关系型数据库的侧重点
简述该课程的目标,在课程结束后能够实现的数据库功能
介绍数据库的整体架构
介绍开发环境的搭建
预计时间两小时
第二课:建立数据库连接
实现单线程客户端连接,能够向服务端发送请求
实现多线程服务端连接,能够从客户端接收请求
预计时间两小时
第三课:阀锁,配置,日志等
定义服务端的一些底层基础组件
预计时间两小时
第四课:数据库引擎底层搭建1
建立线程数据结构
建立线程调度机制
预计时间两小时
第五课:消息封装
定义客户端服务器的消息通讯结构
预计时间两小时
第六课:数据的持久化存放
Mmap,内存与磁盘的映射
数据块的分配与回收
预计时间两小时
第七课:数据的存储结构
BSON与数据记录的结构设计
数据文件存储结构设计
预计时间两小时
第八课:数据的插入,读取与删除
数据的插入,查询与删除
客户端增加相应的功能
预计时间两小时
第九课:散列索引
数据键的散列桶与内存结构
数据库启动自动建立散列索引
预计时间两小时
第十课:数据库理论
介绍数据库的一些基本原理,包括事务,SQL编译与执行等
预计时间两小时
第十一课:SQL解析和优化
SQL编译进阶,优化器概念与实现原理。
预计时间2小时
第十二课:Java驱动
连接多点数据库并查询
建立数据的散列机制,能够在正确的分区上查找数据
预计时间一小时
第十三课:监控、性能调优和测试
介绍数据库监控和调优理论,并实现数据库的基本监控快照功能
介绍软件测试流程与自动化测试
预计时间两小时
第十四课:Java应用
建立Java应用程序,使用驱动与数据库通讯
预计时间两小时
第十五课:总结
总结前14节课的步骤
链接:https://pan.baidu.com/s/1Mg86660liLf8Qj56iMfcHQ 密码:mid6
链接已失效
|
|