Skip to content

Instantly share code, notes, and snippets.

@nkabrown
Last active February 25, 2026 03:35
Show Gist options
  • Select an option

  • Save nkabrown/7222e3ef96cbfb2609e36e0f3f7cb523 to your computer and use it in GitHub Desktop.

Select an option

Save nkabrown/7222e3ef96cbfb2609e36e0f3f7cb523 to your computer and use it in GitHub Desktop.
Designing Data-Intensive Applications – Chapter 01

Goals for the reading group: exposure and learning

How do we learn this material?

Donald Norman's definition of learning – "the act of the deliberate study of a specific body of material so that it can be retreived at will and used with skill."

https://static1.squarespace.com/static/56acc1138a65e2a286012c54/t/57d03e7d59cc6867e7fe9e40/1473265277428/All-B%26W-Posters.pdf

Pick one or two of the strategies to try out for next time.

In search of concrete examples.

Reliable, Scalable, and Maintainable Applications

Summary

Data systems - tools for data storage and processing we can use as application building blocks.

3 big qualities we seek in our systems: reliability, scalability, and maintainablity

Reliability – the system whould continue to work correctly even in the face of adversity. Scalability – as the system grows there should be reasonable way of daling with that growth. Maintainability – over time, many different people will work on the system, and then should be able to work on it productively.

Quality Design Idea
Reliability Fault-tolerance
Scalability Scalable architecture patterns
Maintainability Make it easy

Reliability

Marks of a reliable system

  • functions correctly
  • withstands user misuse
  • is performant
  • is secure from unauthorized access and attack

Scalability

Scalability challenge: using honeycomb to determine load and performance.

Maintainability

Maintainability equals make it easy.

Operability makes it easy to keep the system running smoothly. Simplicity makes it easy for new engineers to understand by reducing complexity. Extensibility makes it easy to adapt the system to changing requirements.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment