StylusDB and wtf is all this?

StylusDB is a project to learn the inner workings of a key-value store and understanding the bottlenecks that occur and affect the key-value store at a low level, in a distributed environment by implementing one from scratch.

Best Practices , Rules and Mindset

🎙️Schedule, Links, and Recordings

Date Topic Session Title Session/Recording Link
30-12-2023 Introduction to Databases: Cover the basics of databases, including types (relational, NoSQL, etc.), database models, and key concepts What are we doing? Presentation: https://bit.ly/48zmAGg
06-01-2024 Database Design and Modelling: Discuss database design principles, ER models, normalisation, and data integrity. Code a Minimal SQL DB https://bit.ly/stylusdb-drive
15-01-2024 SQL and NoSQL Systems: Compare and contrast SQL and NoSQL systems, their use cases, strengths, and weaknesses Code a Minimal SQL DB Pt. II https://bit.ly/stylusdb-drive
21-01-2024 Basics of Distributed Systems: Introduce the principles of distributed computing, challenges, and benefits 1BRC using StylusDB-SQL - https://lu.ma/r5jqk1aq TBD
27-01-2024 Architecture of Key-Value Stores: Delve into the architecture of key-value stores, including data distribution, indexing, and caching strategies TBD TBD
03-02-2024 Use Cases and Performance Considerations: Explore common use cases for distributed key-value stores and discuss performance optimisation techniques TBD TBD
10-02-2024 Fundamentals of Consensus Algorithms: Explain the need for consensus in distributed systems, and introduce basic concepts and terminologies TBD TBD
17-02-2024 Deep Dive into Raft Algorithm: Provide an in-depth analysis of the Raft consensus algorithm, including its design, operation, and how it ensures consistency and reliability in a distributed environment TBD TBD
24-02-2024 Comparison with Other Algorithms: Compare Raft with other consensus algorithms like Paxos, highlighting their differences, pros, and cons TBD TBD
02-03-2024 File Management in Distributed Systems: Discuss how files are managed, stored, and accessed in distributed systems TBD TBD
09-03-2024 Commit Protocols and Data Integrity: Explain commit protocols such as two-phase commit, and their role in ensuring data integrity and consistency TBD TBD
16-03-2024 Handling Failures and Data Recovery: Cover strategies for dealing with system failures, data recovery, and ensuring high availability TBD TBD

Roadmap

The cohort is divided into 4 major sections as follows:

A) Database Fundamentals

  1. Introduction to Databases: Cover the basics of databases, including types (relational, NoSQL, etc.), database models, and key concepts.
  2. Database Design and Modelling: Discuss database design principles, ER models, normalisation, and data integrity.
  3. SQL and NoSQL Systems: Compare and contrast SQL and NoSQL systems, their use cases, strengths, and weaknesses.

B) Distributed Systems and Key-Value Stores

  1. Basics of Distributed Systems: Introduce the principles of distributed computing, challenges, and benefits.