cos a encontrarem novas formas de escalar • Muitos servi¸ cos guardam os seus dados em key-value stores geo-replicadas • Estas base de dados sacrificam a consistˆ encia dos dados em troca de alta-disponibilidade 1
cos a encontrarem novas formas de escalar • Muitos servi¸ cos guardam os seus dados em key-value stores geo-replicadas • Estas base de dados sacrificam a consistˆ encia dos dados em troca de alta-disponibilidade 1
cos a encontrarem novas formas de escalar • Muitos servi¸ cos guardam os seus dados em key-value stores geo-replicadas • Estas base de dados sacrificam a consistˆ encia dos dados em troca de alta-disponibilidade 1
dados aumenta rapidamente • ´ E tipicamente imposs´ ıvel manter todos os dados em todas as r´ eplicas • Alguns sistemas adoptam um modelo de replica¸ c˜ ao parcial • Pode ser necess´ ario contactar v´ arias r´ eplicas para responder a uma query 2
dados aumenta rapidamente • ´ E tipicamente imposs´ ıvel manter todos os dados em todas as r´ eplicas • Alguns sistemas adoptam um modelo de replica¸ c˜ ao parcial • Pode ser necess´ ario contactar v´ arias r´ eplicas para responder a uma query 2
dados aumenta rapidamente • ´ E tipicamente imposs´ ıvel manter todos os dados em todas as r´ eplicas • Alguns sistemas adoptam um modelo de replica¸ c˜ ao parcial • Pode ser necess´ ario contactar v´ arias r´ eplicas para responder a uma query 2
dados aumenta rapidamente • ´ E tipicamente imposs´ ıvel manter todos os dados em todas as r´ eplicas • Alguns sistemas adoptam um modelo de replica¸ c˜ ao parcial • Pode ser necess´ ario contactar v´ arias r´ eplicas para responder a uma query 2
replica¸ c˜ ao onde todas as r´ eplicas podem responder a todas as queries, mantendo apenas um subconjunto dos dados • R´ eplicas do mesmo objeto n˜ ao precisam de ter estados equivalentes, apenas necessitam de ter estados observavelmente equivalentes • Para dois estados serem observavelmente equivalentes uma opera¸ c˜ ao de leitura tem de devolver o mesmo resultado para ambos os estados 10
replica¸ c˜ ao onde todas as r´ eplicas podem responder a todas as queries, mantendo apenas um subconjunto dos dados • R´ eplicas do mesmo objeto n˜ ao precisam de ter estados equivalentes, apenas necessitam de ter estados observavelmente equivalentes • Para dois estados serem observavelmente equivalentes uma opera¸ c˜ ao de leitura tem de devolver o mesmo resultado para ambos os estados 10
replica¸ c˜ ao onde todas as r´ eplicas podem responder a todas as queries, mantendo apenas um subconjunto dos dados • R´ eplicas do mesmo objeto n˜ ao precisam de ter estados equivalentes, apenas necessitam de ter estados observavelmente equivalentes • Para dois estados serem observavelmente equivalentes uma opera¸ c˜ ao de leitura tem de devolver o mesmo resultado para ambos os estados 10
fornece consistˆ encia eventual n˜ ao uniforme num estado quiescente sse: 1. Cada r´ eplica tiver executado um conjunto de opera¸ c˜ oes que tenham impacto no estado observ´ avel final 2. O estado de quaisquer duas r´ eplicas seja observavelmente equivalente 13
fornece consistˆ encia eventual n˜ ao uniforme num estado quiescente sse: 1. Cada r´ eplica tiver executado um conjunto de opera¸ c˜ oes que tenham impacto no estado observ´ avel final 2. O estado de quaisquer duas r´ eplicas seja observavelmente equivalente 13
fornece consistˆ encia eventual n˜ ao uniforme num estado quiescente sse: 1. Cada r´ eplica tiver executado um conjunto de opera¸ c˜ oes que tenham impacto no estado observ´ avel final 2. O estado de quaisquer duas r´ eplicas seja observavelmente equivalente 13
opera¸ c˜ oes em quatro grupos: 1. Opera¸ c˜ oes que s˜ ao core 2. Opera¸ c˜ oes que s˜ ao forever masked 3. Opera¸ c˜ oes que s˜ ao masked mas podem tornar-se core 4. Opera¸ c˜ oes que s˜ ao masked mas tendo em conta todas as opera¸ c˜ oes do sistema seriam consideradas core 14
opera¸ c˜ oes em quatro grupos: 1. Opera¸ c˜ oes que s˜ ao core 2. Opera¸ c˜ oes que s˜ ao forever masked 3. Opera¸ c˜ oes que s˜ ao masked mas podem tornar-se core 4. Opera¸ c˜ oes que s˜ ao masked mas tendo em conta todas as opera¸ c˜ oes do sistema seriam consideradas core 14
opera¸ c˜ oes em quatro grupos: 1. Opera¸ c˜ oes que s˜ ao core 2. Opera¸ c˜ oes que s˜ ao forever masked 3. Opera¸ c˜ oes que s˜ ao masked mas podem tornar-se core 4. Opera¸ c˜ oes que s˜ ao masked mas tendo em conta todas as opera¸ c˜ oes do sistema seriam consideradas core 14
opera¸ c˜ oes em quatro grupos: 1. Opera¸ c˜ oes que s˜ ao core 2. Opera¸ c˜ oes que s˜ ao forever masked 3. Opera¸ c˜ oes que s˜ ao masked mas podem tornar-se core 4. Opera¸ c˜ oes que s˜ ao masked mas tendo em conta todas as opera¸ c˜ oes do sistema seriam consideradas core 14
opera¸ c˜ oes em quatro grupos: 1. Opera¸ c˜ oes que s˜ ao core 2. Opera¸ c˜ oes que s˜ ao forever masked 3. Opera¸ c˜ oes que s˜ ao masked mas podem tornar-se core 4. Opera¸ c˜ oes que s˜ ao masked mas tendo em conta todas as opera¸ c˜ oes do sistema seriam consideradas core 14
pontua¸ c˜ ao) • Duas opera¸ c˜ oes de escrita • ADD(id, pontua¸ c~ ao): associa uma nova pontua¸ c˜ ao com id • RMV(id): remove todas as pontua¸ c˜ oes associadas com id 16
pontua¸ c˜ ao) • Duas opera¸ c˜ oes de escrita • ADD(id, pontua¸ c~ ao): associa uma nova pontua¸ c˜ ao com id • RMV(id): remove todas as pontua¸ c˜ oes associadas com id 16
pontua¸ c˜ ao) • Duas opera¸ c˜ oes de escrita • ADD(id, pontua¸ c~ ao): associa uma nova pontua¸ c˜ ao com id • RMV(id): remove todas as pontua¸ c˜ oes associadas com id 16
pontua¸ c˜ ao) • Duas opera¸ c˜ oes de escrita • ADD(id, pontua¸ c~ ao): associa uma nova pontua¸ c˜ ao com id • RMV(id): remove todas as pontua¸ c˜ oes associadas com id 16
n˜ ao uniforme e formalizamos a sua semˆ antica para um sistema de consistˆ encia eventual • Mostr´ amos como o modelo pode ser aplicado a CRDTs • Implement´ amos um CRDT n˜ ao uniforme numa base de dados geo-replicada, e avali´ amos o seu desempenho 34
n˜ ao uniforme e formalizamos a sua semˆ antica para um sistema de consistˆ encia eventual • Mostr´ amos como o modelo pode ser aplicado a CRDTs • Implement´ amos um CRDT n˜ ao uniforme numa base de dados geo-replicada, e avali´ amos o seu desempenho 34
n˜ ao uniforme e formalizamos a sua semˆ antica para um sistema de consistˆ encia eventual • Mostr´ amos como o modelo pode ser aplicado a CRDTs • Implement´ amos um CRDT n˜ ao uniforme numa base de dados geo-replicada, e avali´ amos o seu desempenho 34