Slide 10
Slide 10 text
Compromised denormalisation
Some properties don't change (user_name). Some can either be "freezed" or we have to pay the price of the mass update (user_location).
{
"id" : "john",
"name" : "John",
"location" : "..."
}
myapp
user
question
answer
{
"id" : 1,
"title" : "My first question",
"body" : "...",
"user" : {
"name" : "John",
"location" : "..."
},
"comments" : [
{ "body" : "...", "user" : { ... } },
{ "body" : "...", "user" : { ... } }
]
}
{
"id" : 2,
"title" : "My first answer",
"parent_id" : 1,
"user" : {
"name" : "Robert",
"location" : "..."
},
"comments" : [
{ "body" : "...", "user" : { ... } }
]
}
parent_id
comment
comment