User Tools

Site Tools


Action disabled: revisions
transformations:sharedmemory

SHARED MEMORY

Category: Workflow / Internal

Description

This action can perform the following operations with the shared memory (more on it below):

  • Remember a value by a key
  • Forget a value and the key associated with it
  • Recall a value by key
  • List keys and values


Key-value storage

From a technical perspective, the shared memory is key-value storage located in the current repository. It's the same repository that stores connectors.

The idea of shared memory is simple: it stores keys and for each key, it stores a value. Each key has one value associated with it. For instance:

Key Value
Path D:\Input files
CustomerDB\Last reload date 2021-09-03

To obtain a value, one should know the key. Keys and values can be added and removed on demand with the help of the "Shared memory" action. The shared memory is stored in the centralized repository. Therefore any EasyMorph workflow can read (recall) and write (remember) keys and values in the shared memory at any moment as long as it has access to the repository.


Use cases

The shared memory can be convenient in many cases:

  • Store temporary values - E.g. store the last loaded date when doing incremental loads.
  • Pass values between workflows and users - Similarly to the shared connectors, the shared memory can be accessed from different Desktops. Once a value is remembered, it can be accessed by all Desktops and Server spaces that use the same repository
  • Environment configuration - The shared memory can be used to store configuration settings that are different in PROD and TEST environments.
  • Workflow variable - While project parameters are constant and don’t change during a workflow run, the shared memory values can be set, removed, and changed in a single workflow
  • Lightweight data store - Sometimes, using a relational database to store and share just a few values looks like overkill. The shared memory can be more appropriate for such cases.


Remarks

It is recommended to use the backslash (\) to create nested keys.

The same access restrictions as for data connectors apply.

The shared memory supports simultaneous operations from different computers as long as they can access the same repository.

Values are remembered in the shared memory and recalled in native EasyMorph data types. Errors can’t be remembered by design.

You can store large text objects, such as JSON in the shared memory.

All stored data is encrypted and can't be accessed from outside of EasyMorph.

Depending on repository location, network performance, and size of the stored keys and values, the shared memory can handle up to 100 operations per second.

transformations/sharedmemory.txt · Last modified: 2021/09/03 18:23 by dmitry