3 ms·
I believe that in db context, vectorization means batch processing column wise. Quoting the CockroachDB blog post: Using vectorized processing in an execution
by mping 7y ago
I believe that in db context, vectorization means batch processing column wise. Quoting the CockroachDB blog post:
Using vectorized processing in an execution engine makes more efficient use of modern CPUs by changing the data orientation (from rows to columns) to get more out of the CPU cache and deep instruction pipelines by operating on batches of data at a time.
Here is the link:
https://www.cockroachlabs.com/blog/how-we-built-a-vectorized-sql-engine/ https://www.cockroachlabs.com/blog/how-we-built-a-vectorized...
- senderista 7y agoThat’s right, I believe it was MonetDB that introduced this abuse of terminology into the DB lit and it's stuck. I remember being very confused as well, looking for any mention of SIMD instructions in the MonetDB paper and finding none :) ("Pipelining" is another term that the DB community uses differently from everyone else--nobody else would refer to single-threaded execution as "pipelined".) The other typical optimization for expression evaluation is code generation, which usually targets LLVM bitcode or Java bytecode. That's pretty standard for column-oriented databases now and they're not exactly state of the art if they don't implement some equivalent of the above.
- tom_mellior 7y agoAh, thanks. What a terrible abuse of terminology.