Skip to content

endvroy/minisql

Repository files navigation

A minimal database core with the essential functionality of creation, retrieval, update, and deletion of records. The core is implemented in Python 3.

The indexes are B+ trees. The core manages pages with caching, uses Least-Recent-Used (LRU) as the default replacement policy, and supports pinning of a page, forbidding it to be replaced.

Everything related to the database is stored under ./schema

./schema/metadata.pickle is the metadata of the database

All tables are stored under the sub-directories of ./schema/tables. Every table and its index are stored in the same directory, with the name of the table as XXX.table and the name of the index as XXX.index.

All primary key indexes are called PRIMARY.index

For example, for table spam and index spammer, the files are organized as:

./schema/tables/spam/spam.table

./schema/tables/spam/spammer.index

./schema/tables/spam/PRIMARY.index

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages