Designing Data-intensive Applications: Chapter I

Dr.Pixel
3 min read15 hours ago

So far, my experience was centered around computer vision and machine learning fields. I started to make attempts to expand knowledge towards databases and data-intensive system design. As a first step towards that, I am reading now the book “Designing data-intensive applications” by Martin Kleppmann. I will try to summarize my learning from first chapter here.

my copy of the book

Summary of Chapter 1 [Introduction]

  • Most of software applications nowadays have to deal with large amounts of data on daily basis, for instance, tweets on twitter and other social-media platforms.
  • Several of these applications are based on some standard buildings blocks: (a) databases to store and manage the data; (b) caches to remember the result of an expensive operation; (c) search indexes to allow users to search the data using keywords; (d) stream processing (to handle the data that is coming in continuously as a stream); (e) batch processing (to periodically crunch and process the data that was accumulated).
  • Discussing Ideas, Patterns and Tools for designing better data-intensive applications is the topic of this book.
  • To design successful data-intensive systems, one should think about (a) Reliability (to be fault-tolerant); (b) Scalability (to serve growing number of requests to the…

--

--

Dr.Pixel

A Researcher in Computer Vision and Machine Learning fields