Versions Compared

Key

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

...

Configuration for the Jekyll template "Just the Docs"

parent: Decisions nav_order: 100 title: ADR Template

...

Harmonized Data Source - Use PostgreSQL for the HDS DBMS

status: {proposed | rejected | accepted | deprecated | … | superseded by ADR-0005}

date: {YYYY-MM-DD when the decision was last updated}

deciders:

...

consulted: {list everyone whose opinions are sought (typically subject-matter experts); and with whom there is a two-way communication}

informed: {list everyone who is kept up-to-date on progress; and with whom there is a one-way communication}

{short title of solved problem and solution}

Context and Problem Statement

{Describe the context and problem statement, e.g., in free form using two to three sentences or in the form of an illustrative story. You may want to articulate the problem in form of a question and add links to collaboration boards or issue management systems.}

Decision Drivers

  • {decision driver 1, e.g., a force, facing concern, …}
  • {decision driver 2, e.g., a force, facing concern, …}

Considered Options

  • {title of option 1}
  • {title of option 2}
  • {title of option 3}

entire TSC and AWG.  Not controversial


...

Use PostgreSQL as the database management system for a relational Harmonized Data Store

Context and Problem Statement

The Harmonized Data Store should be implemented using well known technologies and utilize open source solutions if possible.

Decision Drivers

  • open source for dbms
  • experience and familiarity to the community of potential developers

Considered Options

  • MongoDB
  • PostgreSQL
  • Oracle, SQL Server, MySQL

Decision Outcome

Chosen option: "{title of option 1}", because {justification. e.g., only option, which meets k.o. criterion decision driver | which resolves force {force} | … | comes out best (see below)}PostgreSQL", because it is open source and relational technology is familiar to most development organizations.

Consequences

  • Good, because {positive consequence, e.g., improvement of one or more desired qualities, …}
  • Bad, because {negative consequence, e.g., compromising one or more desired qualities, …}

Validation

  • learning curve is small
  • Good, because no extra cost or setup complexity

Validation

??{describe how the implementation of/compliance with the ADR is validated. E.g., by a review or an ArchUnit test}

Pros and Cons of the Options

{title of option 1}

{example | description | pointer to more information | …}

MongoDB

  • Good, because easy to add data and extract dataGood, because {argument a}
  • Good, because {argument b}
  • Neutral, because {argument c}
  • Bad, because {argument d}

{title of other option}

{example | description | pointer to more information | …}

  • Good, because {argument a}
  • Good, because {argument b}
  • Neutral, because {argument c}
  • Bad, because {argument d}

More Information

...

  • schema on write
  • Bad, because experience limited in potential maintainers
  • Bad, because proprietary system