|
|
|
|
|
by DreamSpinner
2917 days ago
|
|
I like to break up data problems like this: * Trivially Small * Fits In RAM * Fits on one server (CPU / Storage) * Fits on one Big Hardware (Mainframe or other Specialized equipment) * Requires Distributed Storage And/Or Processing |
|
> data problems
I find there is also, occasionally, a lack of awareness of when a problem is data-heavy, encouraged by abstraction layers like ORMs.
This can lead to casual or naive (neither meant derogatorily) distributed computing, where the app hoovers up the data from database to be processed. This can be great for anything CPU-intensive but terrible for the I/O-intensive.
> Fits on one Big Hardware (Mainframe or other Specialized equipment)
I don't think this really exists today, unless you're including an otherwise commodity high-end (e.g. 8-socket) server that carries up to a 4x price premium in "specialized equipment".
I'm aware that mainframes still exist, but, for a variety of reasons [1], I'd consider them as being in a world of their own, rather than a step on this continuum.
[1] e.g. inherently distributed architecture, not obvious if storage scale actually greater than high-end commodity, interop issues