数据库实现(一)

最近感慨万分啊,一位同事告诉我应该写点东西更加催生我这骚动的内心,那就给自己顶一个要求吧以及

因为最近业务发展的不错,所以之前很多遗留的问题也在凸显出来,他们集中在了数据,所有就借此机会

来聊聊数据的东西,,主要包括几个方面仅仅只是针对于关系型数据库

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 的管理 等等

后面会继续对这些进行一个展开说明,然后一步步实现一个简单的数据库

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180910G18PBT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券