Home Applications Row Storage vs. Columnar in IRIS native

Row Storage vs. Columnar in IRIS native

This application is not supported by InterSystems Corporation. Please be notified that you use it at your own risk.
5
2 reviews
0
Awards
102
Views
1
IPM installs
1
1
Details
Releases  (1)
Reviews  (2)
Issues
Articles  (2)
performance check with COS inside IRIS

What's new in this version

Initial Release

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!

Made with
Install
zpm install columnar-native download archive
Version
0.0.105 Mar, 2024
ObjectScript quality test
Category
Technology Example
Works with
InterSystems IRIS
First published
05 Mar, 2024