> I don't see how the storage layer changes the database type.
It does, because it leads to other types of optimization. LittleTable [0], for example, keeps adjacent data in time domain adjacent in disk. So querying large amount of data that are close to each other is efficient even on slow (spinning) disk. Vertica [1] does column compression which allows it to work with denormalized data (common in analytics workload) efficiently.
In an ideal world, you could have a storage layer sitting below a perfect abstraction; orthogonal to higher levels. In the real world, column-based and row-based are two completely different categories serving very different use-cases.
[0] https://meraki.cisco.com/lib/pdf/trust/lt-paper.pdf
[1] http://vldb.org/pvldb/vol5/p1790_andrewlamb_vldb2012.pdf