My notes for the first chapter of Designing Data-Intensive Applications book.
What is the Data-Intensive Application?
- Today, bigger problems are the amount of data, speed(change) of data, and complexity of the data. We call those applications that have kind of problems, data-intensive applications.
Building Blocks of a Data-intensive Application
- Database — Store data. e.g. PostgreSQL, Couchbase, and etc.
- Caches — Remember expensive operations to speed up reads. e.g. Memcache
- Search indexes — Search data quickly by keyword or filter. e.g. Apache Lucene, Elasticsearch
- Stream processing — Send a message to another process. e.g. Apache Kafka
- Batch processing — Periodically process a large amount of data. e.g…