最近不少朋友和我探讨学国产数据库怎么学,要学点啥?我想起了当年学 Oracle 数据库的时候。现在学习国产数据库实际上和当年我们学校 Oracle 差不太多,只是学习资料可能远远不如 Oracle 丰富而已。
和学习 Oracle 类似,要想学习国产数据库,首先要从安装一套数据库开始,一些集中式数据库大多数在官网提供下载,比如达梦,金仓,安装后都可以免费使用 1-3 个月。达梦数据库不用申请许可证,到期只需要重建数据库又可以继续使用。一些开源的国产数据库也可以直接下载。比较麻烦的是分布式数据库,安装部署要求比较高,可能练手想找个环境有点困难。不过一般学习时候可以用虚拟机部署,降低硬件门槛。网上有 Oceanbase 的单机部署文档,只要屋里内存有 32G 的单机也可以部署三副本。
完成部署是真正掌握一个数据库产品的第一步,这一步不能省略,纸上得来终觉浅,必须在真实环境上操作才能真正学好,这一点大家一定要注意。装好之后就要开始熟悉数据库的各种操作了,从数据库启动关闭开始,到建表建索引,以及各种系统表的查询,都是需要慢慢熟练的。
学习的第三步是找到数据库的各种日志,并学会如何查看日志。这时候最好找到一个错误信息的参考资料放在手边。在运维数据库的初级到高级,看日志都是最重要的技能。
至此,你对这个数据库已经初步了解了,这时候你可以对数据库做一些压测,并观察日志,已经系统监控指标和压测之间的关系,了解数据库的各个缓冲区的命中率的变化,从而掌握一些基本的和数据库性能相关的分析方法。
下一步你需要学习的是数据库高可用,分布式数据库则注重故障自动切换,你需要模拟一些故障来分析这些行为,也要学会高可用集群的搭建、数据复制与迁移等一系列的操作。练习一下从 Oracle 降数据迁移到目标数据库是十分必要的。
至此,你已经能够对这个数据库做初步的运维监控了,不过对数据库的内在原理和进一步理解数据库,分析数据库依然茫然。此时如果是 Oracle,那么你可以去看 Oracle concepts,很可惜大部分国产数据库并不存在这本书,因此你需要通过复杂的渠道去尽可能多的学习数据库的一些基本原理。像优化器的原理,大多数数据库都在学习 Oracle,因此 Oracle 的大多数优化器方面的知识可以参考。其他的一些知识就不能生套 Oracle 的知识,需要到网上去仔细搜寻。当然官方文档有时间还是可以去翻阅的,这是你能找到的关于这个数据库最主要和全面的资料。
因为缺少对数据库原理的深度描述,因此这时候最好的学习就是实战,你的测试环境已经不够用了,最好能够有份这方面的工作来进一步提高自己。在网上找一些这方面的案例的文章是一种学习方法,不过千万要擦亮眼睛,防止被错误的文章误导了,看文章时要留个心眼。