The fundamental difference and advantage of Oracle's capabilities, however, is that parallel data access and therefore the necessary data redistribution are not constrained by any given hardware architecture or database setup.
The Oracle server can use parallel execution for any of the following:
See: Oracle Database - SQL Parallel Execution
If you allocate twice the number of resources and achieve a processing time that is half of what it was with the original amount of resources, then the operation scales linearly.
The graph does not look linear because it shows the absolute processing time, not a relative speedup factor.
For example, using 2x the resources reduces the processing time from 360 to 180, and from 2x to 4x down to 90, both cases of linear scalability. It's just that the absolute performance gain is decreasing with higher number of resources.
When you spend two thirds of the original processing time to complete the task. When doubling the resources does not give the expected linear reduction in processing time, the operation does not scale as well.
In a database there are multiple components involved in processing a query, each having its own maximum processing power. Most notably CPUs, memory and Input/Output (I/O) all collaborate together.
For database processing you may experience a lack of scalability if you don't allocate resources in the correct quantities across the various components. For example, if you add CPU resources but you don't add I/O resources then the CPUs may not be able to retrieve the data fast enough to keep processing at full speed.
Examples of resource-intensive database operations include: