For the model I am designing, read speed is the highest priority. That being
said, I have a Customers table with information about Claims.

Here is the design today:

Table: Customers
RowId: CustomerId
Family: Claims
Column: ClaimId
Value: JSON(ClaimId, Status, Description, From)

I am storing the ClaimsInfo as a JSON object. This JSON object will be
displayed in a tabular format after querying.

Now I get an additional requirement to sort claims by status.

I resolve this by adding a new Family called 'Status'. (Denormalization +
Redundancy)

Table: Customers
RowId: CustomerId
Family: ClaimStatus
Column: ClaimId
Value: *String*


My concern is, do I continue down this path when more query requirements are
added to the system? For example, when they want to retrieve by 'From', then
I add another family called 'From'?

Should I be creating a new table in that case to support the new family?
Admittedly, the data in these columns is not huge, but I am worried about
doing multiple 'Puts' when the value changes.

Am I on the right track by adding redundancy to keep up with read
performance?

Thanks.

Reply via email to