Preface¶
There many been many developments in distributed systems, databases and the applications build on top of them, there are various driving forces:
- Handling huge volumes of data.
- Businesses need to be agile, test hypotheses cheaply and respond quickly to markets.
- Free & open source software has become very successful and is preferred now to commercial or in-house solutions
- CPU clock speeds are barely increasing. But multi-core processors are standard and networks are getting faster. Parallelism is only going to increase.
- Even small teams can now build systems that are distributed across machines and regions - thanks to IaaS (think AWS)
- Many services are expected to be highly available. Extended downtime is unacceptable.
An application is data-intensive if data is it's primary challenge.
- The quantity of data.
- The complexity of data.
- The speed at which data changes.
This is opposed to compute-intensive where the CPU is the bottle neck.