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
- [~] C
- Python
- Fortran
- Rust
- Go
- C++
- Java
- JavaScript
- Ruby
- Swift
- Kotlin
- 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)
- 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
- 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