notes concurrent access to -treesdatabases typically run in multiuser environments where many users can concurrently perform operations on the database unfortunatelythis common scenario introduces complications exampleimagine database storing bank account balances now assume that someone attempts to withdraw ` from an account containing ` firstthe current balance is checked to ensure sufficient funds after funds are disbursedthe balance of the account is reduced this approach works flawlessly until concurrent transactions are considered suppose that another person simultaneously attempts to withdraw ` from the same account at the same time the account balance is checked by the first personthe account balance is also retrieved for the second person since neither person is requesting more funds than are currently availableboth requests are satisfied for total of ` after the first person' transaction` should remain (` ` )so the new balance is recorded as ` nextthe account balance after the second person' transaction` (` ` )is recorded overwriting the ` balance unfortunately` have been disbursedbut the account balance has only been decreased by ` clearlythis behavior is undesirableand special precautions must be taken -tree suffers from similar problems in multiuser environment if two or more processes are manipulating the same treeit is possible for the tree to become corrupt and result in data loss or errors the simplest solution is to serialize access to the data structure in other wordsif another process is using the treeall other processes must wait although this is feasible in many casesit can place unnecessary and costly limit on performance because many operations actually can be performed concurrently without risk lockingintroduced by gray and refined by many othersprovides mechanism for controlling concurrent operations on data structures in order to prevent undesirable side effects and to ensure consistency summary -trees are balanced trees that are optimized for situations when part or the entire tree must be maintained in secondary storage such as magnetic disk -tree is specialized multiway tree designed especially for use on disk in -tree each node may contain large number of keys the number of subtrees of each nodethenmay also be large -tree is designed to branch out in this large number of directions and to contain lot of keys in each node so that the height of the tree is relatively small this means that only small number of nodes must be read from disk to retrieve an item the goal is to get fast access to the dataand with disk drives this means reading very small number of records note that large node size (with lots of keys in the nodealso fits with the fact that with disk drive one can usually read fair amount of data at once keywords -tree algorithmsa -tree is data structure that maintains an ordered set of data and allows efficient operations to finddeleteinsertand browse the data lovely professional university