Columnar test IRIS native
The package creates a very basic IRIS instance in Docker
the code is also available in IPM
Description
- The idea of this package is to compare 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.
Prerequisites
Make sure you have git and Docker desktop installed.
Installation
Clone/git pull the repo into any local directory
$ git clone https://github.com/rcemper/Columnar-native.git
To build and start the container run:
$ docker compose up -d && docker compose logs -f
To open IRIS Terminal do:
$ docker-compose exec iris iris session iris
USER>
or using WebTerminal
http://localhost:42773/terminal/
To access IRIS System Management Portal
http://localhost:42773/csp/sys/UtilHome.csp
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 and data generated by option 5
provided the base of this EXCEL diagram. No surprises!
—