
显然数据库文档是各家数据库产品最权威的使用手册,包含了数据库的基本概念、架构、内核、数据模型、对象语法、管理手段、性能优化、安全策略等,还提供了操作步骤示例、限制和注意等事项,帮助用户深入理解数据库的运作机制和管理方法。
这几年行业对国产数据库建议,数据库文档的完善也是重要一点。比如中国农业银行数据中心一文提到的国产数据库八大痛点,其中一点是技术文档不够完善,详见原文。阿里巴巴早期数据库专家、中国最早一批 Oracle ACE、互联网名人冯大辉老师,对国产数据建议第一条就是改进文档,详见原文。

因此,不管从资料的权威性、全面性,还是行业机构、专家的建议,数据库文档都是数据库最重要的学习资料。

在阅读数据库文档中,我们会得到三类信息:

图片来自网络
从 what 到 why,抽象等级增加,理解难度加大。what 的知识,知道就够了。how 的知识,光知道还不够,还需要动手操作,就像人不能只看视频学游泳,只看数据库文档也不能提高数据库性能。只有将数据库文档知识结合业务、硬件环境等,才能做出最合理的优化建议。
花时间最多的是第三类 why 的知识,比如原理类,不仅要知道是什么还要求理解并记住。比如我们知道关系型数据库通常支持事务,但是不理解其原理,就无法全面理解数据库特性。
然而在实际工作中,why 的优先级可能不是最高的。就像司机不知道发动机原理也可以开车。在很多情况下,不明白为什么也能将事情往前推进。我接触过一些聪明人,经常花大量时间搞清背后的为什么,却不做实践。我的建议是对数据库有一定了解后,再去掌握 why 类知识,而不是一上来就死磕原理,不重视实践。


图片来自网络
入门指南(Getting Started)
入门指南通常是数据库文档的第一部分,它帮助用户如何开始使用数据库,一般包括安装升级、启动和连接、用户权限管理、基本sql操作以及一些学习资源,如在线培训、文档链接、社区论坛等。
概念介绍部分涵盖了数据库系统的基本概念、架构和原理,包括数据模型、数据类型、事务处理、数据存储结构等。这部分内容对于理解数据库系统的工作原理非常重要,是深入学习数据库的基础。
SQL参考(SQL Reference)
SQL语言参考部分包含了数据库系统支持的SQL语法和语句的详细说明。这部分内容通常按照SQL语法的不同部分进行组织,包括数据查询、数据操作、数据定义等方面的内容,帮助用户了解和使用SQL语言。
管理员指南(Administrator's Guide)
管理员指南部分主要面向数据库管理员(DBA),介绍了数据库系统的管理和运维操作,包括备份和恢复、性能优化、安全管理、数据迁移、参数设置、管理工具介绍等方面的内容。这部分内容帮助 DBA 可以更好地了解数据库的管理和运维方法,从而确保数据库的稳定运行。
开发者指南(Developer's Guide)
开发者指南主要面向开发人员,介绍了数据库和开发相关操作,包括 表、存储过程、触发器、函数、视图、序列等数据库对象介绍;以及开发编写应用程序时对数据库使用的指导和建议,包括连接数据库、执行SQL查询、处理结果集、事务处理等内容;另外,还介绍了数据库系统的高级功能和性能优化技巧,如索引优化、查询优化、分区表、并发控制等内容。这部分内容帮助开发人员编写高效、可靠的应用程序。
参考手册(Reference Manual)
参考手册部分提供了数据库系统的详细参考资料,包括系统参数、错误代码、函数和存储过程的说明等。这部分内容通常比较庞大,是查阅特定功能和信息的主要参考来源。

图片来自Oracle官方文档

除了熟悉文档目录,下面再分享几个小技巧,提高阅读效率,。
关键字搜索
如果我们不熟悉文档结构,点了几页也没有找到相关的,内心的退堂鼓响起来了,小手不听使唤的要打开“梦里寻他千百度”那味毒药。
这个时候使用文档搜索功能就变得非常重要,以搜索 PosrgreSQL索引为例,输入 "index"返回315条相关项,第一条就是创建索引相关项。这样使用起来就高效多了。

图片来自Postgresql官方文档
Release Notes
很多时候我们不是学习一个全新的数据库,而是要了解最新版本的特性和差异,这个时候 Release Notes就特别重要了,它记录了数据库每个版本的变化、新增功能、修复的缺陷以及可能的已知问题。它能帮助用户快速了解最新版本的更新和改进,确保使用的是最高效、最安全的数据库版本。

图片来自MySQL官方文档
善用 CMD
如果一个命令不是经常使用,我们只记得命令的关键字,它的语法、参数等使用并不是特别清楚,合格的程序猿肯定不是靠死记硬背记住这些,因为大部分数据库在命令行(command)模式下,输入:coomand --help
,命令行会自动输出相关详细的内容并给出文档链接,比如下图 MongoDB 统计分析命令。
root@test:~# mongostat --helpUsage:mongostat <options> <polling interval in seconds>Monitor basic MongoDB server statistics.See http://docs.mongodb.org/manual/reference/program/mongostat/ for more information.general options:--help print usage--version print the tool version and exitverbosity options:-v, --verbose=<level> more detailed log output (include multiple times for more verbosity, e.g. -vvvvv, or specify a numeric value, e.g. --verbose=N)--quiet hide all log outputconnection options:-h, --host=<hostname> mongodb host(s) to connect to (use commas to delimit hosts)--port=<port> server port (can also use --host hostname:port)...

上面说的这么多,其实关键点就是掌握数据库的文档目录,这样不管阅读什么数据库的文档,我们都可以快速上手。
总结下数据库文档的作用,首先它提供数据库详尽的技术细节、API指南和操作说明还包含了设计理念和最佳实践;其次通过阅读文档,用户也能体会到数据库架构的复杂性和功能丰富性;另外,文档中的示例帮助用户更好地理解如何在工作中应用这些知识。
总之学习数据库,官方文档是最好的资料,而看文档的第一步就是掌握其结构,另外本文也介绍了一些小技巧。
附 DB-Engine 排行前10 的数据库文档地址:
Oracle:https://docs.oracle.com/en/database/oracle/oracle-databaseMySQL:https://dev.mysql.com/doc/SQL Server:https://learn.microsoft.com/en-us/sql/?view=sql-server-ver16PosrgreSQL:https://www.postgresql.org/docs/MongoDB:https://www.mongodb.com/docs/Redis:https://redis.io/docs/Elasticsearch:https://www.elastic.co/guide/en/elasticsearch/reference/index.htmlDb2:https://www.ibm.com/support/pages/db2-database-product-documentationSnowflake:https://docs.snowflake.com/SQLite:https://www.sqlite.org/docs.htm
如果这篇文章对你有帮助,欢迎点击留言、在看和转发。

作者介绍


01
02
裸程序员必备的数据库知识1——数据存储结构
03

END





