Ephemeral Storage

Ephemeral Storage ([ɪˈfemərəl ˈstɔːrɪʤ]): a storage without strong durability (сохранность) guarantees. Keeps data that can be infrequently (~once per day) lost. Possible implementation: LRU Cache that is lost after a VVM restart.

Motivation

github: Ephemeral Storage #2269

  • 674859

  • As a location owner, I want to prevent POS users from working on the same table simultaneously to avoid confusion and errors. We want to reduce the likelihood of such errors occurring.

Use cases

  • Lock the table (restaurant) so that waiters can not work with the same table simultaneously.

    • Extra measures shall be undertaken to prevent the conflict ("this table has been already modified by someone else").

    • Key: {PartitionID, WSID, subject(device), tableNo}, Value: {lockedAt, userID}.

  • Track the status of devices.

    • Key: {PartitionID, WSID(app workspace), subject(device), }, Value: {lastActivity}.

  • Keep demo operation data (Cloud Bills).

Functional design

Principles

  • LRU Cache with fixed-size entries, that is lost after a VVM restart.

    • By default 5MB per partition.

  • Fixed-size entries => keys and values have basic types.

Principles

VQL:

STORAGE Ephemeral(
	GET		SCOPE(COMMANDS, QUERIES),
	INSERT		SCOPE(COMMANDS),
	UPDATE		SCOPE(COMMANDS),
	READ		SCOPE(QUERIES),
);

Deployment descriptor:

???

Last updated

Was this helpful?