Prepared by : Wigdan Nadeem
Introduction Theory of concurrency Models Key terms related to concurrency Concurrency areas Concurrency control Advantages and Disadvantages References
Concurrency is the ability of a database to allow multiple users to affect multiple transactions. This is one of the main properties that separate a database from other forms of data storage like spreadsheets.
Concurrency theory has been an active field of research in theoretical computer science. One of the first proposals was Carl Adam Petri's seminal work on Petri Nets in the early 1960s. In the years since, a wide variety of formalisms have been developed for modeling and reasoning about concurrency.
A number of formalisms for modeling and understanding concurrent systems have been developed, including but not limited to: - The Parallel Random Access Machine. - The Actor model - Computational bridging models such as the BSP model.
- Operating systems: The most common topic where concurrency is taught and addressed is in the context of operating systems design and implementation. - Scientific and high-performance computing: For many decades, the HPC and scientific computing areas were the primary source of work on parallelism. - Databases and servers: Server-side applications that needed to handle multiple concurrent users.
Any application that is run on a laptop or desktop system with multiple cores can use concurrency for performance gains. - Games - Desktop applications - Development tools - Image and data processing
To ensures that correct results for concurrent operations are generated, while getting those results as quickly as possible. Simultaneous execution of transactions over a shared database can create several data integrity and consistency problems: - Lost Updates. - Uncommitted Data. - Inconsistent retrievals.
- Pessimistic concurrency control: assumes that...
Please join StudyMode to read the full document