SuibianwanwanDB is a simple relational database written in java. Most of the implementation refers to the implementation principle of mysql, and realizes the basic functions of mysql.
- Complete data recovery caused by abnormal downtime through redo logs
- mvcc version chain realizes snapshot read and transaction rollback
- Optimized LRU algorithm, page replacement through hot and cold chain
- Use netty to realize simple http communication (easy access)
- B+ tree and gap lock
- mysql basic lexical analysis
- Implemented read committed, read uncommitted, repeatable read three transaction isolation levels
- deadlock detection
- Optimizing sql syntax parsing
- Adding null lists and variable-length field lists
- Adding Clustered Indexes
- Adding log cache
First clone the file and run it, if it is not jdk17, modify the compilation properties in the pom file,If there is a need for port, page size, data path, etc., you can configure it in the yml file.
When you see the following code, it means that the http service starts successfully
Use json format to send post requests to write sql statements in sql to execute commands
Inserting a thousand data takes time (not using log caching leads to poor performance)
Searching one hundred data takes time
suibianwanwan