TP, 2PL, 2PC
___ is an atomic commitment protocol - a special type of consensus protocol. all agree?
2pc
atomic commitment protocol
2pc
__ is a concurrency protocol.. guarantees serializability. isolated. one after another
2pl
concurrency control protocol?
2pl
internet scale DS principles: principle.. .statelessness.. __ server, __ time implies keeping state of the server. no routing to correct server
any server any time
(ACID) either all operations complete successfully or they have no effect at all in the presence of server crash
atomic
(transactions - acid) all or nothing. no intermediate states are visible. no possibility that only part of the transaction ran. logging can be ensured
atomic
four types of transactions (ACID)
atomic, consistent, isolated, durable
internet scale DS principles: goal... highly __ and ___
available and scalable
2PC is ___...thus, on the internet, weak consistency is replacing strong consistency
complex
a ___ protocol tries to reach agreement in the presence of crashes or byzantine failures
concensus
(transactions - acid) systems invariants preserved. for example if there were n dollars in bank before transfer transaction then there will be in dollars in bank after transfer. (this is up to app programmer)
consistent
each transaction is created and managed by a
coordinator
locks may lead to...
deadlock
(transactions - acid) this commit causes permanent change in stable storage. this property may be obtained with log-based recovery algorithms. if there has been a commit but updates have not yet been completed due to a crash, logs will hold all information on recovery
durable
internet scale DS principles: principle... allows ___ but able to monitor system behavior
failures
a recoverable object follows the __ __ __ __
golden rule of recoverability
(ACID) free from interference from other concurrent clients
isolated
(transactions - acid) two transactions do not interfere with each other. they appear as serial executions. this is the case even though transactions may run concurrently.
isolated
a client may require that a sequence of separate requests to be a single server be __ and __
isolated and atomic
the servers make changes to __ __ of locked resources until a commit or rollback
local copies
each transaction reserves access to the data it uses. this reservation is called a __ . this is used to attain serializability
lock
___ is often used to prevent one translation from interfering with another
locking
___ is the most popular mechanism to achieve transaction isolation
locking
the aim of any server that supports transactions is to ___ ____
maximize concurrency
4 requirements for deadlock
mutual exclusive, resource may be reserved, preemption is not allowed, circular wait is possible
what is the golden rule of recoverability
never modify the only copy
do read, read conflict?
no
a transaction can only obtain a lock if ...
no other transaction has a conflicting lock on the same data item
3 solutions to deadline
prevention, avoidance, detection
before reading, _ lock is set
read
two types of locks
read and write
remember: read conflicts with write and write conflicts with both read and write
remember: read conflicts with write and write conflicts with both read and write
internet scale DS principles: principle... complex systems do not ___
scale
transactions are allowed to execute concurrently if they would have the same effect as -__ ____
serial execution
____ if two transactions t1 and t2 are running, we want it to appear as if t1 was followed by t2 or vice versa
serializability
for two transactions to be ___ ____ it is necessary and sufficient that all pairs of conflicting operations of the two transactions be executed in the same order at all of the objects they both access
serially equivalent
tp?
transaction processing
2PC
two phase commit protocol
2PL
two phase locking
before writing, _ lock is set
write
do read, write conflict?
yes
do write, write conflict?
yes