Skip to content

arthur-zhang/letsddia-go

Repository files navigation

Let's implement DDIA in golang

“What I cannot create, I do not understand.” – Richard Feynman

This repository contains code implementations for 'Designing Data-Intensive Applications (DDIA)' by Martin Kleppmann in Go. The project aims to provide practical examples and hands-on exercises based on the concepts and principles discussed in the book, showcasing solutions in multiple programming languages.

It serves as a valuable companion for those who want to delve deeper into the world of designing and building scalable and maintainable data-intensive applications across different language ecosystems.

Project status

Algorithms

Storage

BTree

SkipList

Commons

  • byteorder provide rust like byteorder crate for golang
  • file_utils provide Java commons-io like file_utils for golang

Upcoming

  • Gossip
  • Raft
  • Wal
  • Delay queue(Rust done, Go in progress)
  • Ntp
  • Sql parser
  • Column-storage

If you are interested in this project or would like me to prioritize implementing a certain component, please don't hesitate to submit an issue. If you encounter any problems with the code, you are also welcome to submit a PR with the appropriate modifications.

About

Code implementation of DDIA, primarily using Go language

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages