达梦数据库DM8培训日记
关于达梦Database
随着公司业务发展和国家对软件国产化自主可控的支持力度越来越大,许多客户都从Oracle、SQL Server逐步切换到达梦、人大金仓等国产数据库。作为一名还算资深的 Java 开发工程师,在本次培训前其实我已经接触过达梦数据库了,只不过当时的达梦DB版本还是7.0。虽有接触,更多是通过代码的方式使用JDBC连接达梦做开发,没有了解达梦本身的安装、维护过程,不利于今后的工程项目实施和售后。因此,得知达梦提供针对初级用户的DCA培训服务,我马上报名参加。
这里要感谢公司领导的支持,为我和同事们在本次的培训中提供经费和必要条件,包括提前将工作安排在培训以外的时间,让我们得以全心全意地参加本次培训。
值得一提的是,本次培训完全是线上完成的,视频授课的老师是一位温柔的小姐姐,还有大纲、讲义、练习等资料,便利又不失完整,看得出达梦在安排上还是非常用心的,不像有些公司的培训比较水。
培训 Day 1
老师带我们了解了一些市场上常见的多元数据库产品Oracle,Mysql,NoSQL的一些数据库等,这些都是大家所熟知的,尤其是开发人员经常使用的数据库,还有一些国产数据库的产品,以及应用案例,又聊了一下国产数据库的现状,以及发展前景,抛砖引玉,我们开始认识了国内首屈一指的数据库产品,达梦数据库DM8。
老师讲述了达梦数据库与Oracle数据库的一些架构体系的差别,虽然达梦数据库是以Oracle数据库做原型的,但还是有很多自己的特色在里面的,它的定制化服务更符合了国内一些公司对数据库的需求,让我们看到了它们所存在的价值,毕竟源码是属于达梦公司的,这也就决定了达梦数据库的自主研发的可扩展性更强,更适用于国内市场。
上课时我发现老师真的很喜欢讲故事,他会把自己在工作中的一些小故事,开发中的一些小案例,一步步引人深入到数据库的底层实现,帮我们更好的理解DM数据库的应用场景和它的优缺点。老师并没有按部就班的遵循教案授课,更多的是带我们认识,探讨,使用数据库,系统环境部署,达梦数据库安装的一些基本操作,可视化的使用命令。
大概是同学间并不是很熟识,大家都很腼腆,没有太多的提问题。因为我本身就是一名开发人员,所以对于部署环境,linux的操作,数据库的配置都是比较容易上手的,我也就很快的搭建好了数据库环境,所以在课上我更感兴趣的还是老师讲的那些故事或者案例,还有其他同学提出的一些问题,这些东西才是我今天课上的收获。
虽然我在数据库安装和操作上还算熟悉,但是为了更熟练的操作数据库,回家以后我还是多操作了几遍,也是有遇到一些问题的,毕竟服务器环境跟我目前开发使用的服务器还是有出入的,遇到的问题,我会在后续的技术文档中分享出来。
培训 Day 2
通过昨天的边学边练,我已经熟悉了安装-卸载-脚本安装等操作,今天上课主要就是回顾了一下昨天的内容,也就是简单概括一下。今天同学就比较活跃了,提的问题也比较多了,针对于昨天讲技术点的回顾很到位的,老师也比较满意。
今天练习的操作如下:
- 数据库安装
- 库的创建
- 表空间的创建
- 用户的创建
- 用户授权
- 表和视图的创建
- 索引的类型和适用场景
- 数据库的备份归档
很多操作都是在可视化界面操作的,服务管理界面,数据库操作界面,控制台界面,即使这样老师还是有带我们去一遍一遍的敲命令实现,对此,我觉得老师真的很尽职的,即使出现了问题,也都是当场解决的。我这个人比较喜欢挑毛病,大概这是我集中注意力的一种方式吧,在我的视觉里,我会尽可能找到老师操作中的失误。
我大多数时候会跟着老师敲一些命令,来更好的熟悉DM数据库的操作,感觉还不错。今天的课程我最感兴趣的还是老师讲到的索引和分布式集群的技术点以及老师的一些小案例,大概是我之前的开发中这些是我经常遇到,并亟需解决的难点,贴合了我本身的应用开发场景,就会更容易理解和吸收的。其实今天上课的内容相对于昨天就丰富多了,除却认证考试的一些操作内容,还有就是新增了很多额外的知识点,比如DCM才会考到的一些技能点,还有就是Oracle和DM的体系架构拆解,两者的比对,等等,虽然第一天老师也有讲到,但是今天的提到的点就更深入了一些,对我们这些开发来说是非常重要的点,我有总结到自己的笔记当中,后来我发现在老师的书里面也有提到。
培训 Day 3
今天上课的内容比较丰富,老师把剩下的内容讲完了,主要还是认证考试的内容。
接着讲了昨天没讲完的:
- 数据库的备份(脱机和联机状态切换)
- 归档
- 还原
- 数据字典
- JDBC(未深入)
- ODBC
除却这些教案上的知识点以外,老师讲的最多的还是一些复杂SQL,这些SQL都是我曾经开发中写过的,虽然场景不同,但是业务逻辑大同小异,老师很有耐心的拆解了这些SQL,通过执行计划进行了优化。很多复杂的业务逻辑都可以用SQL实现,还有很多复杂的SQL在DM数据库中都有自己的独特的写法,比如老师重点提过的 INSERT ALL。
课程的最后,老师带我们回顾了这三天讲的知识点,其实当我回顾这三天的学习时,是很抽象的,虽然写了笔记,但是更多的还是实操比较多,笔记只是用来记录了上课内容,并没有一个系统的架构视图。
总结
通过这次达梦DCA培训,以后项目上的DM7/8运维应该都没有问题了,解决了只会用不会修的难题。
总的来说课程比我想象中简单,如果要深入还有更高阶的培训,期待后天的考试顺利过关。