This series of articles demystifies marketing myths and
jargon for software product design and MVPs.
Here is the summary:
The database is a data-centric layer of
It allows us to:
Store the data representing in
a way, how this data will be used in our product → How the data will
look like at any stage of the product.
Modify and query data efficiently without errors or
Potentially store large amounts of data that could be explored
to obtain market knowledge and strategic visions of the product. The
marketing word for that is Big
The importance of the database
The first step in building a technology stack is to design how our
data will look like. We do this by establishing an “Entity-relationship
We take the ERD and examine in detail all connections and
relationships between the data. This is an iterative process that occurs
in brainstorming sessions between the CTO, the product owner and the
This step is essential for the stability and security of the entire
Stack. You will often hear that "Early optimization is evil". This rule
does not apply here.
The software architecture is not an early optimization
Once the Entity-Association Diagram is fully specified and we have
ensured that no significant connections between the data entities have
been missed; it is time to choose the technology that will be responsible
for our database.
Today, in most software projects, there are two main types of
databases, called Sql and NoSql
I think we should build a Sql database / -
Whoa! // Does he understand what he said or is it something he saw in a
marketing magazine ad? // What color do you want for your database? - I
think the mauve has more ram.
These two types of databases are different in the way they manage
the relationships between the data and in the way they allow us to access
and modify them.
There is an endless debate on the positive and negative aspects of
each approach. As you make many choices in software, there is no single
solution for any system. Since we are building an MVP, we want the fastest
There is no single solution for any system
In the majority of cases, an SQL database will meet all
needs at the MVP stage. They have been around for a long time and are
still used by the world's largest software companies. So, unless you have
specific reasons, an SQL database will meet the needs very well.