-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Loading status checks…
Docs(ADR-001): Add ADR document for choosing MongoDB as the primary d…
…atabase
1 parent
2237a50
commit f6cbb76
Showing
1 changed file
with
35 additions
and
0 deletions.
There are no files selected for viewing
35 changes: 35 additions & 0 deletions
35
docs/adr/2024-03-13-adr-001-choosing-mongodb-as-the-primary-database.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# ADR-001: Choosing MongoDB as the Primary Database | ||
|
||
Date: 2024-03-13 | ||
|
||
## Status | ||
|
||
We need to make a decision regarding the selection of the primary database for our project. After careful consideration, we have chosen MongoDB as our preferred database solution. | ||
|
||
## Context | ||
|
||
In our project's architecture, the choice of a database is a critical decision. We must select a database that aligns with our project's requirements and goals. | ||
|
||
## Decision | ||
|
||
After evaluating different database options, including MongoDB and PostgreSQL, we have decided to adopt MongoDB as the primary database for our project. This decision is based on the following key factors: | ||
|
||
1. **Simplicity and Non-Relational Structure**: MongoDB's document-oriented and non-relational structure aligns well with the data structure and requirements of our project. It provides flexibility in handling unstructured and semi-structured data, which is prevalent in our use cases. | ||
|
||
2. **Performance**: MongoDB is known for its high read performance, making it an excellent choice for scenarios where quick data retrieval is crucial. This performance characteristic aligns with the needs of our project. | ||
|
||
## Rationale | ||
|
||
By selecting MongoDB as our primary database, we aim to leverage its simplicity and performance characteristics to effectively store and retrieve data in our project. | ||
|
||
## Consequences | ||
|
||
Implementing MongoDB as our primary database will require us to design our data models in a document-oriented manner. Our team will need to become familiar with MongoDB's features and best practices to ensure efficient data storage and retrieval. | ||
|
||
## Alternatives Considered | ||
|
||
During the decision-making process, we considered PostgreSQL as an alternative relational database. However, MongoDB's compatibility with our project's data structure and its simplicity and read performance advantages made it the preferred choice. | ||
|
||
## Change History | ||
|
||
- 2024-03-13: Added ADR-000, the decision to choose MongoDB as the primary database for our project. |