SimpleDb (can also be called simpledb as well) is a light, statble and effecive object-oriented relational server-side database engine. SimpleDb is intended to design and store more intuitive data model. When you use object-oriented language to build program like java, python etc, the object data structure in the code and the table structure in the SimpleDb database have direct one-to-one mapping relationship. By SimpleDb, you can easily save the data in memory to disk without unnecessary data structure conversion as well as reading data from disk.
SimpleDb is a server-side database engine and only support Linux environment for now.
SimpleDb uses Lex & Yacc to realize sql lexical analyzer and parser. If you want to compile the sql file, you must have theses tools or substitutes.
Debian or Ubuntu
sudo apt-get install flex bison
Centos
yum install flex bison
SimpleDb cli bases the GNU Readline as command helper, so if you want use cli, you must install GNU Readline firstly.
Debian or Ubuntu
sudo apt install libreadline-dev
Centos
yum install readline-devel
Compile all Makefile:
make
If you want debug:
make DEBUG=1
- B-Tree data page store
- Based Lex&Yacc implement sql parser
- Create a table using sql
- Query data using sql
- Insert data using sql
- Update data using sql
- Delete data using sql
- Query special column data using sql
- Query data under conditions using sql
- Query data with aggregate function sum, avg, max, min, count
- Multiple data type, bool, char, int, float, double, varchar string(dynamic scalable string), date, timestamp and reference
- Data type valid check
- Implement MVCC, support transaction and support the four types of transaction isolation levels
- ACID
- Refer function for manipulating Reference Data.
- Subquery
- Join query
- Support index, B+Tree index store
- Support view
- Bin Log
- Distributed