当你不知道从何入手研究或解决一个复杂系统的问题时,通常意味着你没有找到合适的切入点或者缺乏对系统整体和细节之间联系的理解。在这种情况下,一个有用的策略是寻找系统的基本原理或构成要素。
小时候,你可能也玩过玩具四驱车。有的四驱车设计得比较封闭,集成度高,除了换电池外几乎不允许拆卸。而另一种则是可组装的,允许在有限的零件中自由更换,为你提供了丰富的选择空间。我个人偏爱后者,它不仅展示了玩具车的整体构造,还让每一个零件都呈现在我的眼前。对我来说,这不仅仅是一辆车,而是一个由众多零件组成的系统,我能够向我的伙伴详细介绍每个零件独特之处和它们如何共同作用。
其实你也看出来了,当一个被外壳裹挟的四驱车你可能玩过一段时间就不会再去玩它,渐渐被你淡忘。而以一件一件零件的形式摆在你面前,你会更好奇的去探索它,并且印象深刻。
那么我要上第一板斧就是拆解:
“要想了解一个复杂系统,我们需要从拆解的角度去看问题”
我们需要分解这个系统
要深入理解一个复杂系统,首先要将其分解成更小、更易于理解的部分。
上大学的时候,老师让我们在自己的计算机上安装一个服务器(更懒的老师可能就直接在机房直接给你安装好,你再软件中操作就是了),然后再从window系统的某个角落掏出一个你不知道什么时候就安装好的自带的客户端,通过远程连接,连上了。然后教你理论知识,什么是范式理论,如何去画一个ER图,接下来就教你第一句MYSQL命令了。可能老师没有点出来,但是这会,你不知不觉就接触到了这个系统,虽然此时蒙上了厚厚的一层灰。你看:
客户端/服务器模型
现在,我们知道了,MySQL这个系统,它遵循客户端/服务器(Client/Server)模型,其中:
客户端:提供用户接口,允许用户通过各种客户端工具或者是编程语言接口发送SQL查询。
服务器:MySQL服务器是核心组件,负责处理所有数据库命令和操作,包括查询解析、分析、优化以及执行。
连接器
紧接着我们来到服务器端的连接器。客户端在与服务器进行通信时,首先要和连接器打交道。连接管理器负责处理网络连接、授权客户端、管理连接的安全验证。