最近感慨万分啊,一位同事告诉我应该写点东西更加催生我这骚动的内心,那就给自己顶一个要求吧以及
因为最近业务发展的不错,所以之前很多遗留的问题也在凸显出来,他们集中在了数据,所有就借此机会
来聊聊数据的东西,,主要包括几个方面仅仅只是针对于关系型数据库
1. Database operators and query processing
2. Indexing and access methods
3. Buffer pool design and memory management
4. Join algorithms
5. Query optimization
数据库架构
这里先简单的描述一下
我们这里假设在电商平台购买一个商品的场景
1 :当我们点击购买的按钮的时候(client) 调用 API 通过你的4g网络连接到DBMS 的Client Communication Manager (当然中途可能还有一些web server 或者一些中间层,这里仅仅是一个简化模型)
2:当 DBMS 收到一个 client的 query 请求的时候, 它会分配一个”线程”来处理这个请求.然后该”线程"请求 Admission Control 来决定是否 立即处理该请求还是等待有足够的资源时候进行一个处理
3: 一旦 被运行处理请求,该"线程”会立即调用 Reational Query Process ,它会检验权限将 SQL 转换为内部的执行计划,然后交给 Plan Executor,这个执行计划包括(连接,选择,投影,聚会,排序 等.)
4:生产 执行计划通过Transactional Storage Manager 来获取数据,这里面包括 磁盘的访问,buffer 的管理 等等
后面会继续对这些进行一个展开说明,然后一步步实现一个简单的数据库
领取专属 10元无门槛券
私享最新 技术干货