内存存储引擎
hnwyllmm opened this issue · 1 comments
hnwyllmm commented
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
当前仅支持传统的磁盘存储引擎,为了能够让同学们学习更多的引擎以及使用MiniOB做更多的实验,希望可以支持更多的存储引擎。
ref #264
Describe the solution you'd like
A clear and concise description of what you want to happen.
支持内存存储引擎。
可以分期实现,比如第一个阶段做一个简单的内存存储引擎:
- 使用页/块组织内存(当前MiniOB已经有内存缓存池,参考mem_pool.h);
- 支持动态扩展;
- Hash索引;
- 引擎访问抽象层:SQL 引擎通过抽象接口访问内存存储引擎、默认引擎;
- 建表支持指定存储引擎类型
暂时不做:
- 支持事务;
- 持久化(比如WAL);
- 快照;
- Range索引,比如 B+树
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
此功能比较简单,适合新手。主要挑战是引擎访问抽象层的设计,如何给当前默认的存储引擎以及新引擎提供统一的访问方式,可以参考MySQL的handler设计。
lychnin commented
/assign