Columnar vs. Row Storage with IRIS native
- The idea of this package is to compare the performance of columnar storage inside IRIS without wrapping it to some foreign platform that is not my world
- In addition, I do not want to measure network performance between 2 containers, but inside a closed IRIS environment that I have fully under my control
- Even the use of SMP or some other browser-based presentation has some influence that I want to avoid.
- Measuring should be as close to the core as possible. So I flagged it NATIVE. Some people might feel it is ABORIGINAL.
How to use it
All tests are running in Namespace USER and are initiated
exclusively from the command prompt.
USER>do ^Demo
Test Columnar vs. Row Storage
=============================
1 - Initialize Tables
2 - Generate Data
3 - Compare SELECT
4 - Loop SELECT
5 - Auto Loop
Select Function or * to exit :
- 1 create/clear the tables. Package name A to be on top in search
- 2 fills it with EXACTLY the same data (INSERT --- SELECT)
- 3 runs SELECT AVG(Amount) FROM A.??? WHERE Status = 'SENT'
- 4 allows to add data between SELECT cycles
- 5 does the same in a larger loop
Being curious I added also DemoB where row store is more advanced
using Bitmap Index and Bitslice Index. This was not so impressive.
Summary
The gain in speed is significant
Data generated by option 5 provided the base of this EXCEL diagram.
No surprises!
Special thanks to @Luis Angel Pérez Ramos
for the test data layout!
GitHub
Discussion (0)0
Comments
The improvement of the performance is incredible, if I were a solutions architect I would've in mind the columnar storage for any kind of dashboard.
Robert,
don't you think that traditional (row) storage w/o any indexing would be slow anyway?
If so, maybe the results DemoB are worth publishing as well.