10 Oct 2015

Data sharing in group work

http://dl.acm.org/citation.cfm?id=27640

… share information through explicit communication channels and through their coordinated use of shared databases (coordinated access to shared information). … the data management requirements of …

DBMS technology provides data modeling and transaction management well suited to business data processing …

… app deal with structured sets of data objects, … advanced program languages do provide excellent abstraction facilities for these classes of data but provide little support for data storage and sharing. typically, programmers have to write their own data management functions in terms of files and operating system calls.

access rights requirements that were implemented by the program, independently of the operating system access mechanisms for files …

programmers who use programming language data abstraction facilities and who also want to use DBMS technology must first translate their programming language structures into linked collection of records or tuples that can be handled by the DBMS.

view

a view mechanism

access control

views specify what subsets of the available shared information the users are interested in, and what constitutes an interesting change to a user.

a given user can be supplied with a view that filters a subset or computes a summary of the underlying information, to which that user is not given direct access.

4 Control over sharing

access control and synchronization of concurrent actions

controlling abstract operations

problem … almost never sufficient for an application that has a more abstract model of information than files and wishes to control access to abstract operations on its object types. … the underlying operating system may provide a more primitive form of access control, usually based on reading and writing of files.

in a logically distributed system, the desired access policy can be enforced by a manager or guardian that supports a given set of abstract operations via a message-passing or remote procedure-call protocol.

determining acess

… constraints on database content. Rather than treating all integrity constraints as equal and always inviolate, different users can be allowed to violate particular constraints.

concurrency control

(the conventional approach) Transaction serializability: ensure database consistency in the face of concurrent access … by … ensure each transaction on its own preserves consistency, and that the effect of running multiple transactions must be the same as if they had been executed one at a time. The underlying premises is that transactions will be short and conflicts resolved quickly.

long-lived transactions

if serializability is to be enforced for long interactive transactions, concurrency cannot in general be increased without incurring a higher probability of transaction abort. → “optimistic concurrency control methods”

relaxing consistency requirements

In order to increase concurrency among interactive or long-lived transactions, without increasing frequency of aborts due to conflicts, it is necessary to examine closely the consistency constraints that the transactions re intended to preserve. The basic premises … is that if a transaction saw a different value for a data item it read, it would have performed a different update or external action. … often too strong an assumption. for interactive transactions involving user decision, there may not be a very strong link between what data users see and what actions they perform as a result.

notify locks changes are not locked out, but the system informs the reading transactions when the data item is changed. When users learn that the data they are locking at has changed, they can compensate for their actions, for example, by bringing back old versions or performing further changes. some simple operations can be automatically compensated.

some data consistency constraints represent invariants that must always be true … many constraints may simply be desirable but need not be required to hold at all times.

It also reduces conflicts among updates if they are treated as creating new versions rather than actually modifying an object.

reference

[22] GRIFFITHS, P. P., AND WADE, B. W. An authorization mechanism for a relational database system. ACM Trans. Database Syst. 1,3 (Sept. 1976), 242-255.