FACTOID # 18: Alaska spends more money per capita on elementary and secondary education than any other state.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
 
WHAT'S NEW
RELATED ARTICLES
People who viewed "Acid" also viewed:
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Acid

In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties that guarantee that database transactions are processed reliably. In the context of databases, a single logical operation on the data is called a transaction. Look up acid in Wiktionary, the free dictionary. ... Image File history File links This is a lossless scalable vector image. ... Image File history File links Question_book-3. ... Computer science, or computing science, is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ... A database transaction is a unit of interaction with a database management system or similar system that is treated in a coherent and reliable way independent of other transactions that must be either entirely completed or aborted. ... This article is about computing. ...


An example of a transaction is a transfer of funds from one account to another, even though it might consist of multiple individual operations (such as debiting one account and crediting another).

Contents

Atomicity

Atomicity refers to the ability of the DBMS to guarantee that either all of the tasks of a transaction are performed or none of them are. For example, the transfer of funds can be completed or it can fail for a multitude of reasons, but atomicity guarantees that one account won't be debited if the other is not credited. In computer science, atomicity implies indivisibility and irreducibility, so an atomic operation must appear to be performed entirely or not at all. ... A database management system (DBMS) is a computer program (or more typically, a suite of them) designed to manage a database, a large set of structured data, and run operations on the data requested by numerous users. ...


Consistency

Consistency property ensures that the database remains in a consistent state before the start of the transaction and after the transaction is over (whether successful or not). In database systems, a consistent transaction is one that does not violate any integrity contraints during its execution. ...


Isolation

Isolation refers to the ability of the application to make operations in a transaction appear isolated from all other operations. This means that no operation outside the transaction can ever see the data in an intermediate state; for example, a bank manager can see the transferred funds on one account or the other, but never on both — even if he ran his query while the transfer was still being processed. More formally, isolation means the transaction history (or schedule) is serializable. This ability is the constraint which is most frequently relaxed for performance reasons[citation needed]. In database systems, isolation is a property that the changes made by an operation are not visible to other simultaneous operations on the system until its completion. ... In the field of databases, a schedule is a list of actions, (i. ... In databases and transaction processing, serializability is the property of a schedule being serializable. ...


Durability

Durability refers to the guarantee that once the user has been notified of success, the transaction will persist, and not be undone. This means it will survive system failure, and that the database system has checked the integrity constraints and won't need to abort the transaction. Many databases implement durability by writing all transactions into a log that can be played back to recreate the system state right before the failure. A transaction can only be deemed committed after it is safely in the log. In database systems, durability is the ACID property that guarantees that transactions that are successfully committed will survive permanently and will not be undone by system failure. ... A database management system (DBMS) is a computer program (or more typically, a suite of them) designed to manage a database, a large set of structured data, and run operations on the data requested by numerous users. ... In in the field of databases in computer science, a transaction log (also database log or binary log) is a history of actions executed by a database management system to guarantee ACID properties over crashes or hardware failures. ...


Implementation

Implementing the ACID properties correctly is not simple. Processing a transaction often requires a number of small changes to be made, including updating indices that are used by the system to speed up searches. This sequence of operations is subject to failure for a number of reasons; for instance, the system may have no room left on its disk drives, or it may have used up its allocated CPU time. A database index is a data structure that improves the speed of operations in a table. ...


ACID suggests that the database be able to perform all of these operations at once. In fact this is difficult to arrange. There are two popular families of techniques: write ahead logging and shadow paging. In both cases, locks must be acquired on all information that is updated, and depending on the implementation, on all data that is being read. In write ahead logging, atomicity is guaranteed by ensuring that information about all changes is written to a log before it is written to the database. That allows the database to return to a consistent state in the event of a crash. In shadowing, updates are applied to a copy of the database, and the new copy is activated when the transaction commits. The copy refers to unchanged parts of the old version of the database, rather than being an entire duplicate. In computer science, write ahead logging (WAL) is a family of techniques for providing atomicity and durability (two of the ACID properties) in database systems. ... In computer science, shadow paging is a technique for providing atomicity and durability (two of the ACID properties) in database 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 execution. ...


Until recently almost all databases relied upon locking to provide ACID capabilities. This means that a lock must always be acquired before processing data in a database, even on read operations. Maintaining a large number of locks, however, results in substantial overhead as well as hurting concurrency. If user A is running a transaction that has read a row of data that user B wants to modify, for example, user B must wait until user A's transaction is finished.


An alternative to locking is multiversion concurrency control, in which the database maintains separate copies of any data that is modified. This allows users to read data without acquiring any locks. Going back to the example of user A and user B, when user A's transaction gets to data that user B has modified, the database is able to retrieve the exact version of that data that existed when user A started their transaction. This ensures that user A gets a consistent view of the database even if other users are changing data that user A needs to read. A natural implementation of this idea results in a relaxation of the isolation property, namely snapshot isolation. In computer science, in the field of databases, multiversion concurrency control (abbreviated MCC or MVCC) is a concurrency control method commonly used by database management systems to provide concurrent access to the database. ... In databases, snapshot isolation is a guarantee that all reads made in a transaction will see a consistent snapshot of the database, and the transaction itself will successfully commit only if no updates it has made conflict with any concurrent updates made since that snapshot. ...


It is difficult to guarantee ACID properties in a network environment. Network connections might fail, or two users might want to use the same part of the database at the same time.


Two-phase commit is typically applied in distributed transactions to ensure that each participant in the transaction agrees on whether the transaction should be committed or not. It has been suggested that this article or section be merged into Two-phase-commit protocol. ... A distributed transaction is an operations bundle, in which two or more network hosts are involved. ...


Care must be taken when running transactions in parallel. Two phase locking is typically applied to guarantee full isolation. Parallel computing is the simultaneous execution of the same task (split up and specially adapted) on multiple processors in order to obtain results faster. ... In computer science, non-strict two-phase locking, also 2PL, is a locking method used in database management systems. ...


See also

This article or section does not adequately cite its references or sources. ... Microsofts latest Windows operating system, Windows Vista, includes a number of new I/O technologies and enhancements that are intended to shorten the time taken to boot the system, improve the responsiveness of the system, and improve the reliability of data storage. ...

References

  • Gray, Jim (September 1981). "The transaction concept: Virtues and limitations". Proceedings of the 7th International Conference on Very Large Data Bases: pages 144–154, 19333 Vallco Parkway, Cupertino CA 95014: Tandem Computers. Retrieved on 2006-11-09. 

Jim Gray & Andreas Reuter, Distributed Transaction Processing: Concepts and Techniques, Morgan Kaufman 1993. ISBN 1558601902 James Nicholas Jim Gray (born 1944, presumed lost at sea January 28, 2007) is an American computer scientist who received the Turing Award in 1998 for seminal contributions to database and transaction processing research and technical leadership in system implementation. ... Tandem Computers was an early manufacturer of fault tolerant computer systems, marketed to the growing number of transaction processing customers who used them for ATMs, banks, stock exchanges and other similar needs. ... Year 2006 (MMVI) was a common year starting on Sunday of the Gregorian calendar. ... is the 313th day of the year (314th in leap years) in the Gregorian calendar. ...

A database management system (DBMS) is computer software designed for the purpose of managing databases based on a variety of data models. ... A data model is not just a way of structuring data: it also defines a set of operations that can be performed on the data. ... Database normalization, sometimes referred to as canonical synthesis, is a technique for designing relational database tables to minimize duplication of information and, in so doing, to safeguard the database against certain types of logical or structural problems, namely data anomalies. ... Database tables/indexes are typically stored in memory or on hard disk in one of many forms, ordered/unordered Flat files, ISAM, Heaps, Hash buckets or B+ Trees. ... According to Elmasri and Navathe (2004, p. ... An example of a database that has not enforced referential integrity. ... Relational algebra, an offshoot of first-order logic, is a set of relations closed under operators. ... The relational calculus refers to the two calculi, the tuple calculus and the domain calculus, that are part of the relational model for databases and that provide a declarative way to specify database queries. ... A relational database is a database that conforms to the relational model, and refers to a databases data and schema (the databases structure of how those data are arranged). ... A relational database management system (RDBMS) is a database management system (DBMS) that is based on the relational model as introduced by E. F. Codd. ... The relational model for database management is a database model based on predicate logic and set theory. ... An object-relational database (ORD) or object-relational database management system (ORDBMS) provides a relational database management system that allows developers to integrate a database with their own custom data-types and methods. ... In computer science, transaction processing is information processing that is divided into individual, indivisible operations, called Each transaction must succeed or fail as a complete unit; it cannot remain in an intermediate state. ... This article is about computing. ... The Greek lowercase omega (ω) character is historically used by academics to represent Null in relational databases. ... In the relational model a candidate key of a relation variable (relvar) is a set of attributes of that relvar such that (1) at all times it holds in the relation assigned to that variable that there are no two distinct tuples with the same values for these attributes and... In the context of relational databases, a foreign key is a referential constraint between two tables[1]. The foreign key identifies a column or a set of columns in one (referencing) table that refers to a column or set of columns in another (referenced) table. ... In database design, a primary key is a value that can be used to identify a unique row in a table. ... A superkey is defined in the relational model as a set of attributes of a relation variable (relvar) for which it holds that in all relations assigned to that variable there are no two distinct tuples (rows) that have the same values for the attributes in this set. ... A surrogate key is a unique primary key generated by the relational database management system that is not derived from any data in the database and whose only significance is to act as the primary key. ... A database trigger is procedural code that is automatically executed in response to certain events on a particular table in a database. ... In database theory, a view is a virtual or logical table composed of the result set of a query. ... In relational databases, SQL databases, and flat file databases, a table is a set of data elements (values) that is organized using a model of horizontal rows and vertical columns. ... In database packages, the term cursor refers to a control structure for the successive traversal (and potential processing) of records in a result set as returned by a query. ... In in the field of databases in computer science, a transaction log (also database log or binary log) is a history of actions executed by a database management system to guarantee ACID properties over crashes or hardware failures. ... A database transaction is a unit of interaction with a database management system or similar system that is treated in a coherent and reliable way independent of other transactions. ... A database index is a data structure that improves the speed of operations in a table. ... A stored procedure is a subroutine available to applications accessing a relational database system. ... A partition is a division of a logical database or its constituting elements into distinct independent parts. ... SQL (IPA: or ) is a computer language designed for the retrieval and management of data in relational database management systems, database schema creation and modification, and database object access control management. ... An SQL SELECT statement returns a result set of records from one or more tables. ... A SQL INSERT statement adds one or more records to a table in a relational database. ... An UPDATE statement in SQL changes data in one or more records in a relational database management system. ... Wikipedia does not have an article with this exact name. ... An SQL DELETE statement removes one or more records from a table. ... A JOIN clause in SQL combines records from two tables in a relational database and results in a new (temporary) table, also called a joined table. Structured Query Language (SQL:2003) specifies two types of joins: inner and outer. ... In SQL the UNION operator combines the results of two SQL queries into a single table of all matching rows. ... A CREATE statement in SQL creates an object inside of a relational database management system (RDBMS). ... A DROP statement in SQL removes an object from a relational database management system (RDBMS). ... It has been suggested that this article or section be merged into Database transaction. ... A COMMIT statement in SQL ends a transaction within a relational database management system (RDBMS) and makes all changes visible to other users. ... In database technologies, a rollback is an operation which returns the database to some previous state. ... The Truncate statement removes all the data from a table. ... An ALTER statement in SQL changes the properties of an object inside of a relational database management system (RDBMS). ... A relational database is a database that conforms to the relational model, and refers to a databases data and schema (the databases structure of how those data are arranged). ... A simple diagram depicting conversion of a CSV-format flat file database table into a relational database table. ... A deductive database system is a database system which can make deductions (ie: infer additional rules or facts) based on rules and facts stored in the (deductive) database. ... A dimensional database is one which, rather than representing data in multiple relations (as a relational database does), represents key data entities as different dimensions. ... In a hierarchical data model, data are organized into a tree-like structure. ... The network model is a database model conceived as a flexible way of representing objects and their relationships. ... In an object database (also object oriented database), information is represented in the form of objects as used in object-oriented programming. ... An object-relational database (ORD) or object-relational database management system (ORDBMS) provides a relational database management system that allows developers to integrate a database with their own custom data-types and methods. ... A temporal database is a database management system with built-in time aspects, e. ... An XML database is a data persistence software system that allows data to be imported, accessed and exported in the XML format. ... In computer science -- more specifically, in the field of databases -- concurrency control is a method used to ensure that database transactions are executed in a safe manner (i. ... A data dictionary is a set of metadata that contains definitions and representations of data elements. ... JDBC is an API for the Java programming language that defines how a client may access a database. ... In computing, Open Database Connectivity (ODBC) provides a standard software API method for using database management systems (DBMS). ... Query languages are computer languages used to make queries into databases and information systems. ... The query optimizer is a component of database management system that is used to analyzes queries submitted to database server for execution, and then determines the optimal way to execute the query. ... A query plan (or query execution plan) is an set of steps used to access information in a SQL relational database management system. ... The following is a list of object-oriented database management systems. ... This article or section is not written in the formal tone expected of an encyclopedia article. ... See DBMS for a shorter list of “typical”, representative database management systems. ... The following tables compare general and technical information for a number of relational database management systems. ...

  Results from FactBites:
 
ACID - Wikipedia, the free encyclopedia (922 words)
Atomicity refers to the ability of the DBMS to guarantee that either all of the tasks of a transaction are performed or none of them are.
ACID suggests that the database be able to perform all of these operations at once.
The ACID concept is described in ISO/IEC 10026-1:1992 Section 4.
Acid house - Wikipedia, the free encyclopedia (2186 words)
Acid house is a variant of house music characterized by the use of simple tone generators with tempo-controlled resonant filters.
Acid house music became a central part of the early rave scene in the U.K., and the yellow smiley became its emblem.
While it is true that the term was applied in the 1990s and beyond to music that used the TB-303 in a similar way to the way the device was used in acid house, no citations are available to confirm or deny this explanation as being relevant to the advent of acid house itself.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m