Closed BlancaCC closed 1 year ago
In order to choose the database I have search many pages:
The circumstances we need to have in mind are:
Since I do not want cloud services and having in mind all the considerations, the best option is Cassandra
To sum up, to solve an item of #7 we are going to implement Cassandra DB and for this first iteration we need to implement:
The data structure needed is:
uuid
uuid
text
SET <text>
SET <text>
timestamp
, automaticPrimary key ((id, user_id), user_id)
(cluster ordered by user id)
Come characteristic we have had in mind:
Casandra have two keys
id
is des to generate partition key. c
partition key used to sorting within a partition data among the nodes.Sources:
Have been done in this commit 6694056d6add8b968087745674789c55a704140c
It is need to restructure the design since set operation are not available for queries.
After thinking about the new design it would be:
text
unique uuid
text
text
text
timestamp
, automaticPrimary key ((card_id, user), user_id)
(cluster ordered by user id)
The tags are words separated by ,
comas
Filter them by expressions
For a local storage inside mobile we are going to use a SQL database (SQLite).
TEXT PRIMARY KEY
TEXT NOT NULL
TEXT NOT NULL
TEXT NOT NULL
TEXT NOT NULL
TEXT NOT NULL
PRIMARY KEY (tag, cardID)
TEXT PRIMARY KEY
TEXT NOT NULL
Some docs
This is not a minimal product at this time
In order to solve #7 we need to structure information, in this first iteration:
The information is structured by:
What would be the more suitable database option?