learning-notes/books/designing-data-intensive-applications.md at master · keyvanakbary/learning-notes
A fault is usually defined as one component of the system deviating from its spec, whereas failure is when the system as a whole stops providing the required service to the user. You should generally prefer tolerating faults over preventing faults. This is how do we cope with increased load. We need to succinctly describe the current load on the system; only then we can discuss growth questions. Twitter main operations Two ways of implementing those operations: Approach 1, systems struggle to keep up with the load of home timeline queries. So the company switched to approach 2. The average rate of published tweets is almost two orders of magnitude lower than the rate of home timeline reads. Downside of approach 2 is that posting a tweet now requires a lot of extra work. Some users have over 30 million followers. A single tweet may result in over 30 million writes to home timelines. Twitter moved to an hybrid of both approaches. Tweets continue to be fanned out to home timelines but a s
Designing Data-Intensive Applications Reliable, scalable, and maintainable applications Reliability Scalability Maintainability Data models and query language Relational model vs document model Query languages for data Graph-like data models Storage and retrieval Data structures that power up your database Transaction processing or analytics? Column-oriented storage Encoding and evolution Formats for encoding data Modes of dataflow Replication Leaders and followers Problems with replication lag Multi-leader replication Leaderless replication Partitioning Partitioning and replication Partition
Explore this link on the map →related reading
- Everything I know about good system designseangoedecke.com
- NoSQL - Database Systemscs186berkeley.net
- Database Fundamentalstontinton.com
- Building data-centric apps with a reactive relational databaseriffle.systems
- From monolith to Lakebase to LTAP: rethinking the database from storage up | Databricks Blogdatabricks.com
- Cleaned-up transcript of Rich Hickey's talk "Deconstructing the Database" · GitHubgist.github.com
- Notes on Distributed Systems for Young Bloods – Something Similarsomethingsimilar.com
- Build Your Own Databasenan.fyi
- Core Concepts for System Design Interviews | Hello Interview System Design in a Hurryhellointerview.com
- A More Human Approach To Databasesccorcos.github.io
- An Overview of Distributed PostgreSQL... | Crunchy Data Blogcrunchydata.com
- 51 Database Terms You Need to Knowdzone.com