Citizendia
Your Ad Here

In computer science, especially in the fields of computer programming (see also concurrent programming, parallel programming), operating systems (see also parallel computing) , multiprocessors, and databases, concurrency control ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible. Computer science (or computing science) is the study and the Science of the theoretical foundations of Information and Computation and their Concurrent computing is the concurrent (simultaneous execution of multiple interacting computational tasks Parallel computing is a form of computation in which many instructions are carried out simultaneously operating on the principle that large problems can often An operating system (commonly abbreviated OS and O/S) is the software component of a Computer system that is responsible for the management and coordination Parallel computing is a form of computation in which many instructions are carried out simultaneously operating on the principle that large problems can often Multiprocessing is the use of two or more central processing units (CPUs within a single computer system A Computer Database is a structured collection of records or data that is stored in a computer system

Contents

Concurrency control in databases

Concurrency control in database management systems (DBMS) ensures that database transactions are performed concurrently without the concurrency violating the data integrity of a database. A database management system ( DBMS) is Computer software designed for the purpose of managing Databases DBMSes may use any of a variety of Data models A database transaction is a unit of work performed against a Database management system or similar system that is treated in a coherent and reliable way independent of other Data integrity is a term used in Computer science and Telecommunications that can mean ensuring data is "whole" or complete the condition in which data are A Computer Database is a structured collection of records or data that is stored in a computer system Transactions should be executed safely and follow the ACID rules, as described below. In Computer science, ACID ( Atomicity Consistency Isolation Durability) is a set of properties that guarantee that Database transactions are The DBMS must guarantee that only serializable (unless Serializability is relaxed), recoverable schedules are generated, and also that no committed actions are lost while undoing aborted transactions. In the field of Databases a schedule is a list of actions (ie In Databases and Transaction processing, a schedule (transaction history is Serializable, has the Serializability property if its In the field of Databases a schedule is a list of actions (ie

Transaction ACID rules

Concurrency control mechanism

The main categories of concurrency control mechanisms are:

There are several methods for concurrency control. Among them:

A Lock is a database system object associated with a database object (typically a data item) that prevents undesired (typically synchronization rule violating) operations of other transactions by blocking them. In Databases and Transaction processing, two phase locking, ( 2PL) is a Concurrency control locking protocol mechanism that guarantees In Computer science, strict two-phase locking (Strict 2PL is a locking method used in concurrent systems. In Computer science, conservative two-phase locking (C2PL is a locking method used in DBMS and Relational databases Conservative 2PL prevents Index locking is a procedure in which running one task on a Database table blocks all access by other tasks to the entire table In Computer science, multiple granularity locking (MGL sometimes called the John Rayner locking method, is a locking method used in Database management systems In Computer science, a lock is a synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of Database system operations check for lock existence, and halt when noticing a lock type that is intended to block them.

There are also non-lock concurrency control methods, among them:

Almost all currently implemented lock-based and non-lock-based concurrency control mechanisms guarantee schedules that are conflict serializable (unless relaxed forms of serializability are needed). In Computer Science, in the field of Databases non-lock concurrency control is Concurrency control method used in Relational databases without In Databases and Transaction processing, a schedule (transaction history is Serializable, has the Serializability property if its A precedence graph, also named conflict graph and Serializability graph, is used in the context of Concurrency control in Databases In Computer science, in the field of Databases timestamp-based concurrency control is a Non-lock concurrency control method used in Relational In Databases ' and Transaction processing, Commitment ordering (or Commit ordering; CO is a Serializability technique In the field of Databases a schedule is a list of actions (ie In Databases and Transaction processing, a schedule (transaction history is Serializable, has the Serializability property if its However, there are many research texts encouraging view serializable schedules for possible gains in performance, especially when not too many conflicts exist (and not too many aborts of completely executed transactions occur), due to reducing the considerable overhead of blocking mechanisms. In the field of Databases a schedule is a list of actions (ie

Concurrency control in operating systems

Operating systems, especially real-time operating systems, need to maintain the illusion that many tasks are all running at the same time. A real-time operating system ( RTOS; generally pronounced as "are-toss" is a multitasking Operating system intended for real-time Such multitasking is fairly simple when all tasks are independent from each other. However, when several tasks try to use the same resource, or when tasks try to share information, it can lead to confusion and inconsistency. The task of concurrent computing is to solve that problem. Concurrent computing is the concurrent (simultaneous execution of multiple interacting computational tasks Some solutions involve "locks" similar to the locks used in databases, but they risk causing problems of their own such as deadlock. A deadlock is a situation wherein two or more competing actions are waiting for the other to finish and thus neither ever does Other solutions are lock-free and wait-free algorithms. In contrast to algorithms that protect access to shared data with locks lock-free and wait-free algorithms are specially designed to allow multiple threads to read and write shared

See also

External links

Mutual exclusion (often abbreviated to mutex) Algorithms are used in Concurrent programming to avoid the simultaneous use of a common resource such as a In Database systems isolation is a property that defines how/when the changes made by one operation become visible to other concurrent operations In Databases and Transaction processing, a schedule (transaction history is Serializable, has the Serializability property if its In the field of Databases a schedule is a list of actions (ie Multiversion concurrency control (abbreviated MCC or MVCC) in the Database field of Computer science, is a Concurrency control Global concurrency control typically pertains to the Concurrency control of a system comprising several components each with its own concurrency control Concurrent computing is the concurrent (simultaneous execution of multiple interacting computational tasks
© 2009 citizendia.org; parts available under the terms of GNU Free Documentation License, from http://en.wikipedia.org
Dapyx Software network: MP3 Explorer | Ebook Manager | Zenithic