内存存储引擎
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 4.4k
- Forks
- 1.6k
- PR merge metrics
- No merged PRs in 30d
Description
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设计。
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.