An open API service indexing awesome lists of open source software.

https://github.com/cheeksthegeek/dbs

a collection of database management systems in a lot of different schemes in a lot of different languages
https://github.com/cheeksthegeek/dbs

Last synced: 8 months ago
JSON representation

a collection of database management systems in a lot of different schemes in a lot of different languages

Awesome Lists containing this project

README

          

# Databases Handcrafted By CheeksTheGeek

This is just a collection of DBMS's in a lot of different schemes in a lot of different languages.

Writing databases (I'll refer DBMS simply as DBs a lot in this repo) in different languages helps me build a big picture of how databases' internals work. I'm not a database expert, but I'm learning.

One might find some of the databases to be very simple, or some to be very targeted at different themes of database designs.

Along the way

## Languages I'm Targeting

- [~] C
- [ ] Python
- [ ] Fortran
- [ ] Rust
- [ ] Go
- [ ] C++

##### Maybe Some Day If I'm Really Bored:

- [ ] Java
- [ ] JavaScript
- [ ] Ruby
- [ ] Swift
- [ ] Kotlin

## DB Flavours

- [ ] SQL (Full, like MySQL or Postgres (I should be afraid of this kind of big talk))
- [ ] SQL (Partial, like SQLite)
- [ ] NoSQL (Document, like MongoDB)
- [ ] In-Memory NoSQL (Key-Value, like Redis)

##### If I Feel Adventurous:

- [ ] NoSQL (Column, like Cassandra)
- [ ] Graph (Also NoSQL, but it's better to call it a Graph DB, like Neo4j)
- [ ] Time Series (Like InfluxDB)
- [ ] Search (Like ElasticSearch)
- [ ] NewSQL (Like CockroachDB)
- [ ] Multi-Model (Like ArangoDB)

> ![Context] #### DB Schemes
> - [ ] Key-Value
> - [ ] Document
> - [ ] Column
> - [ ] Graph
> - [ ] Time Series
> - [ ] Search
> - [ ] Multi-Model

## Resources Used

- cstack's DB Tutorial: https://cstack.github.io/db_tutorial/
- SQLite's Documentation: https://www.sqlite.org/docs.html
- Redis' Documentation: https://redis.io/documentation
- Jeff Zarnett's Course Notes From ECE 356: https://github.com/jzarnett/ece356/tree/master/lectures/compiled/notebook.pdf
-