bustub
toydb
Our great sponsors
bustub | toydb | |
---|---|---|
13 | 16 | |
3,666 | 5,886 | |
4.4% | - | |
8.5 | 8.8 | |
15 days ago | 14 days ago | |
C++ | Rust | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bustub
-
Can we create a thread for some of the best materials on CS available online?
Introduction to Computing"
https://dcic-world.org/
# Programming Language Theory:
"Programming Languages: Application and Interpretation"
https://www.plai.org/
# Compilation:
"Essentials of Compilation: An Incremental Approach in Python"
https://github.com/IUCompilerCourse/Essentials-of-Compilatio...
# Database Systems:
"CMU: Intro to Database Systems"
https://15445.courses.cs.cmu.edu/
"CMU: Advanced Database Systems"
https://15721.courses.cs.cmu.edu/
# Calculus I/II & Real Analysis
"A Course in Calculus and Real Analysis"
https://link.springer.com/book/10.1007/978-3-030-01400-1
"A Course in Multivariable Calculus and Analysis"
https://link.springer.com/book/10.1007/978-1-4419-1621-1
# Linear Algebra & ML:
* A Series of books by prof. Joe Suzuki without using any external library for the implementations *
"Statistical Learning with Math and Python"
https://link.springer.com/book/10.1007/978-981-15-7877-9
"Sparse Estimation with Math and Python"
https://link.springer.com/book/10.1007/978-981-16-1438-5
"Kernel Methods for Machine Learning with Math and Python"
https://link.springer.com/book/10.1007/978-981-19-0401-1
# Discrete Mathematics:
"CMU 21-228 Discrete Mathematics (prof. Poh-Shen Loh"
https://www.math.cmu.edu/~ploh/2021-228.shtml
# Cryptography:
"Serious Cryptography: A Practical Introduction to Modern Encryption"
https://nostarch.com/seriouscrypto
# Problem Solving:
"Math 235: Mathematical Problem Solving"
https://www.cip.ifi.lmu.de/~grinberg/t/20f/
-
const/smart pointer confusions
The relevant classes are: https://github.com/cmu-db/bustub/blob/master/src/primer/trie.cpp and the header https://github.com/cmu-db/bustub/blob/master/src/include/primer/trie.h (you can look at the root github's repo README how to compile)
-
Any DSA resources that are NOT boring?
Take for example CMU's bustub DB. Great lecture material, but their own pedagogical database where you implement parts of the database.
-
The “Build Your Own Database” book is finished
This seems like a fairly shallow course: if you’re interested in some real awesome database hacking, I highly recommend bustub. It’s great and educational.
- 15-445 Projects source code
-
What's everyone working on this week (9/2023)?
Not a tutorial but I completed all the assignments for CMU Database System course (link) and watched all their youtube videos before I started it (I highly recommend it, it's a great course and it's possible to submit the solutions even if you're not a CMU student. The entry code to gradescope is in the FAQ). Though, what I do is not re-writing bustub in Rust, as bustub uses 2 phase locking to achieve transaction isolation, and this uses MVCC, pretty much like Postgres (though currently much simpler). I used this resource as a starting point how it works.
- The BusTub Relational Database Management System (Educational)
-
SimpleDB: A Basic RDBMS Built from Scratch
There is also BusTub from CMU which I stumbled upon earlier today:
https://github.com/cmu-db/bustub
-
Online courses to learn more about databases and the concepts taught in Week 7?
check this course from cmu
- C++ Project Ideas
toydb
-
ToyDB: A Rust learning adventure, fun open-source project, and database learning resource for the community
This is great, but you might want to consider a different name. There's already a Rust project called ToyDB, and it's a distributed database with a Raft log, SQL, disk persistence, ACID transactions, etc. It's under active development (though the developer now works at Cockroach Labs), and has 5K stars on GitHub, so I think they have the right to the name.
- What would you rewrite in Rust?
-
Any ideas for resume
Build something you’d like to learn about. Things I’ve considered replicating: A distributed database (see https://github.com/erikgrinaker/toydb), an interpreter (crafting interpreters is a good book), a Ray tracer (http://raytracerchallenge.com/), an RPC compiler and framework, a simpler neural network framework ( https://github.com/pjreddie/darknet)…
-
Which software do you think would be essential for the RISC-V to be succesful ?
Hilariously, I was trying out ToyDB on the Lichee-RV recently. While it does compile and run the five-node example setup (and memory usage is surprisingly low, which is a plus considering the 0.5GB of RAM), performance is three orders of magnitude lower than on a desktop x86 PC. Some of that is due to just having a single core run 5 nodes, some is due to the lower clock speed and slower memory, and some is due to slower storage (SD card). I don't think that explains everything, so I may investigate that later.
-
Learning Rust You Need a Cognitive Frame
toydb
-
Database Development
Well I think if you could replicate this https://github.com/erikgrinaker/toydb anybody would hire you.
- SimpleDB: A Basic RDBMS Built from Scratch
- Ask HN: What are some good rust code to read to learn the language?
- Distributed SQL database in Rust, written as a learning project
- ToyDB: Distributed SQL Database in Rust
What are some alternatives?
prql - PRQL is a modern language for transforming data — a simple, powerful, pipelined SQL replacement
duckdb - DuckDB is an in-process SQL OLAP Database Management System
ClickHouse - ClickHouse® is a free analytics DBMS for big data
surrealdb - A scalable, distributed, collaborative, document-graph database, for the realtime web
LevelDB - LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
dbdoc - Document your database schema, because your team will thank you, and a single text file makes it easy. Works well with PostgreSQL and others.
duckdb-rs - Ergonomic bindings to duckdb for Rust
MongoDB - The MongoDB Database
talent-plan - open source training courses about distributed database and distributed systems
RocksDB - A library that provides an embeddable, persistent key-value store for fast storage.
sled - the champagne of beta embedded databases