Alibabacloud.com offers a wide variety of articles about transaction and concurrency control, easily find your transaction and concurrency control information here online.
first, the transaction control
1. ACID:
Atomicity: The indivisibility of things
Consistency: Things are consistent before and after they are done
Isolation: The operation of a thing cannot be detected by the second thing before it is completed
Transaction scheduling has minimal impact and resolves this problem through MVCC (multiple versioning
Why you need a lock (concurrency control).
In a multiuser environment, multiple users may update the same record at the same time, which creates a conflict. This is the famous concurrency problem.
Typical conflicts are:
L Lost Update: The update of one transaction overrides the update result of other transactions, that
problem is that the transaction commit of a window in the Multi-Window application will cause the query row of other data windows in the event to be unlocked, and the modification may cause errors. Some DBMS systems support a data item called "timestamp" to control concurrency. Each table has a timestamp data column. When the insert statement or update statement
are two ways to end, except that the commit and rollback situations are different.4. Isolation LEVELThrough some phenomena, the isolation level effect can be reflected. These phenomena are: ① update lost ② dirty read ③ non-repeatable read ④ illusion
Dirty Read
Non-REPEATABLE READ
Illusion
Read not submitted
Yes
Yes
Yes
Read commit (default)
No
Yes
Yes
Repeat Read
No
No
Yes
this object. It can be seen that optimistic locks take less time to lock than pessimistic locks. Optimistic locks can achieve better concurrent access performance with a larger lock granularity. However, if the second user reads the object just before the first user submits the change, the database will find that the object has changed when he completes the change, in this way, the second user has to re-read the object and make changes. This indicates that the number of times concurrent users r
The following
Article This section describes the comparison between the concurrency control (LOCK) of the DB2 database and the Oracle database. The following describes the comparison between the concurrency control (LOCK) of the DB2 database and the Oracle database, I hope it will help you. The following is the main c
Now the mainstream database management system, both support the implementation of multiple transactions at the same time, so as to improve the operation of the database management system efficiency. Just imagine that if only one transaction is allowed to run, and the transaction takes a long time, other users must wait for the transaction to end, and how ineffici
modify the data during this period. In addition, some DBMS such as Sybase do not support row-level locks. That is to say, when you query a row, more rows are locked, which increases the restrictions of concurrent processing. Another noteworthy problem is that the transaction commit of a window in the Multi-Window application will cause the query row of other data windows in the event to be unlocked, and the modification may cause errors. Some DBMS sy
Autocommit
MySQL is automatically submitted by default. You can view and modify it using the following command:
Mysql> show variables like 'autocommit ';+ --------------- + ------- +| Variable_name | value |+ --------------- + ------- +| Autocommit | on |+ --------------- + ------- +1 row in SET (0.00 Sec)Mysql> set autocommit = 1; Implicit lock explicit lock
When InnoDB starts a transaction, it obtains the implicit lock and releases the lock when
: org.springframework.transaction.TransactionStatus, which defines a set of methods used to obtain or determine the appropriate state information for a transaction.The Platformtransactionmanager.gettransaction (...) method returns a Transactionstatus object. The returned Transactionstatus object may represent a new or already existing transaction (if there is a qualifying transaction on the current call sta
Transaction control is often used in distributed applications. A transaction has a beginning and a end, which specifies the transaction boundary. A transaction can span across processes and computers within its boundary. All resources within the
Need to change adb inputEXEC2 ("Adb-s" + getadrdeviceid () + "Shell input text" + content);Attention:1, exec2 This in the macacaclient has been exposed, you can splice on the respective device ID to execute this command2. This only takes effect on Android3, is the Exec2 method in the biz layer, relying on the Biz Layer jar package can be used directly"Macaca" Enter the transaction password control, which is
creation ID DELETE InnoDB saves the current system version number for each row deleted as a row delete identity UPDATE InnoDB to insert a new row of records, save the current system version number as the line version number, the colleague saves the current system version number to the original line to delete the identity as a row Reference: [1] "High performance MySQL" (third edition), Baron Schwartz, Ninghai Yuanhao, etc., Electronic industry press, 2013 [2] Blog, http://www.cnblogs.co
Exclusive lock in php concurrency control 1. concurrency problems
Concurrency everyone knows what the situation is. here we talk about how to use multiple concurrent requests to seize the same resource.
Request: index. php? Mod = a action = B taskid = 6 processing:
$ Key = "a_ B ::". $ uid. '_'. $ taskid; $ v = $ re
InnoDB multi-version concurrency control (MMVC) the MVCC of InnoDB (optimistic lock) is achieved by saving two hidden columns in each row of records. The two columns are the storage creation time and the deletion time. the time here refers to the system version number, which is not the real time value.
The system version number increases automatically every time a new
Concurrency control is required to ensure data isolation and consistency because of the damage to the acid characteristics caused by the concurrency control of multiple transactions on the database. Problems caused by multiple transaction
when developing go programs, often need to use goroutine concurrent processing tasks, sometimes these goroutine are independent of each other, and sometimes, multiple goroutine often need to synchronize and communicate. In another case, the master Goroutine needs to control the sub-goroutine it belongs to, summing up, to achieve synchronization and communication between multiple goroutine are roughly:
Global shared variables
Channel commun
Background and characteristics of the problem:
When we use a multiuser database, we often encounter data update failure, deletion, and so on, if there are multiple users and access to a database at the same time when their transactions use the same data can occur concurrency problems.
Concurrency issues include:
1. Lose or overwrite the update. (Phantom Reading)
2. Unconfirmed dependencies (dirty reads)
Transaction Overview:1, transaction is the basic unit of database concurrency control and recovery technology ;2, the transaction has four characteristics, namely: atomicity, consistency, isolation, persistence;3, the transaction
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.