recentpopularlog in

jabley : architecture   539

« earlier  
Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems
Multi-Version Concurrency Control (MVCC) is a widely employed concurrency control mechanism, as it allows for execution modes where readers never block writers. However,
most systems implement only snapshot isolation (SI) instead
of full serializability. Adding serializability guarantees to existing SI implementations tends to be prohibitively expensive.
We present a novel MVCC implementation for main-memory database systems that has very little overhead compared
to serial execution with single-version concurrency control,
even when maintaining serializability guarantees. Updating
data in-place and storing versions as before-image deltas in
undo buffers not only allows us to retain the high scan performance of single-version systems but also forms the basis of our cheap and fine-grained serializability validation
mechanism. The novel idea is based on an adaptation of
precision locking and verifies that the (extensional) writes
of recently committed transactions do not intersect with the
(intensional) read predicate space of a committing transaction. We experimentally show that our MVCC model allows
very fast processing of transactions with point accesses as
well as read-heavy transactions and that there is little need
to prefer SI over full serializability any longer.
comp-sci  database  mvcc  performance  design  architecture  filetype:pdf  paper  serialisability  linearisability 
march 2019 by jabley
Understanding Architecture Decisions in Context
Many organizations struggle with efficient architecture decision-making
approaches. Often, the decision-making approaches are not articulated or understood.
This problem is particularly evident in large, globally distributed organizations
with multiple large products and systems. The significant architecture
decisions of a system are a critical organization knowledge asset, as well as
a determinant of success. However, the environment in which decisions get
made, recorded, and followed-up on often confounds rather than helps articulation
and execution of architecture decisions. This paper looks at aspects of architecture
decision-making, drawing from an industry-based case study. The data
represents findings from a qualitative case study involving a survey and three
focus groups across multiple organizations in a global technology company. Architects
in this organization are responsible for multiple products and systems,
where individual products can include up to 50+ teams. The impact is not just on
others in the system; architecture decisions also impact other decisions and other
architects. The findings suggest recommendations for organizations to improve
how they make and manage architecture decisions. In particular, this paper notes
the relevance of group decision-making, decision scope, and social factors such
as trust in effective architecture decision-making.
filetype:pdf  paper  architecture  software  decisions  context 
august 2018 by jabley
« earlier      
per page:    204080120160

Copy this bookmark:

to read