Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The process is split into two main parts

1. Persistence: There are storage options that can be implemented.

Option

Description

Pros & Cons

1

RDBMS

The audit database should persist a snapshot of the entity. The queries are made mostly by the entity's unique

...

identifier. Thus partitioning by UUID can be applied to audit tables

Pros:

  • allows flexible access to versioning data

Cons:

  • limited scaling options

  • negative impact on Postgres that is used by all others modules

2

Object Storage

AWS S3-like storage can be used to persist snapshots because audit events can be stored as plain-text (JSON) documents

Pros:

  • allows scaling almost indefinitely

Cons:

  • requires additional solution for complex queries

2. Version history display: This should be done on demand comparing each consecutive snapshot of the entity to the previous

Key implementation aspects:

...