Summary
Ten or twenty years ago, we did not need to scale up, except in very specific domains. Today, with the boom of digital, data volume is increasing exponentially. In today's world we need to be able to scale. Scaling brings about more new challenges than simple sequential programming, but its benefits largely outweigh the challenges.
Social media analytics also require the processing and analysis of massive amounts of unstructured data, so the ability to scale our algorithms and analysis is indispensable.
In this chapter, we looked at the basic methods of speeding up programs, like multi-threading and multi-processing. These methods are great when we have a powerful machine and a moderate sized data. If we are working on a small machine with, for example, four to eight cores then we will be limited on the extent to which we can parallelize our code. However, of course, if we only have a single machine with such resources, installing Spark on it is pointless. At the same time, let's say...