- Creating a database.
- Inserting a data to the meomory RAM
- Accessing the data --> List all, get one, and where conditions
- Able to update one or many data
- Able to detete the database
-
First Create Common command database where list of database is stored, 1.a Each database will contain schema_meta, index_meta files --> These files will contain the structure for table.
-
If yes, create an entry if the database exists. Each database is a single file
-
Writing to common command database is immidiately and remaining databse entry is batchified --> First comple incremental database entry to the database
-
Incremental: a. If incremental, all the changes are directly written in the database b. The files are encoded before sending it back to client,
Batchify:
-
All the operation will go to engine as an oplog code --> database, collection, command
Create Basic CRUD operation (Done) Create Batch and incremental flush Basic Structure (Done) Crate Machanism for writing data to file --> Secodary Storage (Done) Load and upload data from secondary storage to main memory and vice versa (Done) Make serach more capable --> implement trie algorithm for searching a key
- Create a basic structure to store data in structure and store it as a file
- A parser to understand the file and reach to a specific part of the file
- For starter work on key value pair. This will be synced directly
- How Databases knows which part of file to access when knowing the row number. Do they store the pointer seperately ? --> We know for each column how much data to take to store the data --> int32 --> 32bit, float32 --> float32 etc use this as hint for knowing the pointer position
- Should the database be row based or column based ? --> If column based, then how the datas will be stored in files. internally, do we need to store the mapping ? --> Does column based database needs more amount of space then the row based database ? --> Row based database. --> How does the sharding works in cloumn based database (Question for lateron) --> Seek generally takes constant amout of time for ssd --> Thus seeking to specific part of file and then taking data