Font Size: a A A

The Implementation Of ACID Testing Subsystem For Database Transaction Processing Performance Test And The Analysis Of InnoDB Transaction Processing

Posted on:2006-07-12Degree:MasterType:Thesis
Country:ChinaCandidate:K ZhaoFull Text:PDF
GTID:2168360155453118Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
The development of database with independent intellectual property is necessary for our information industry. There is urgent requirement of it in national defence and e-government. In the development of database, a set of applied testing tools are important for the whole procedure of homemade database's design,exploiture and extension. And the analysis of open source database can provide help in this procedure. The basic data processing technology research team of JiLin university engage in homemade database exploiture. We have finish a general databse performance testing system , which is composed of database transaction processing performance testing system ,electronic commerce performance testing system and database decision support testing system. These systems base on tpc benchmark. Furthermore ,our team have accomplished the analysis of mysql and postgresql. The analysis was divided into storage management,transaction processing,lock,log,query processing and index six parts. This paper consists of two parts. The first part introduces the implementation of ACID testing subsystem for database transaction processing performance test, the second part introduces the analysis of innodb transaction processing. The first part introduces the implementation of ACID testing subsystem for database transaction processing performance test. This testing subsystem base on tpc-c benchmark, which has disclose the ACID test requirement. Till now, there is no open source test tool released for ACID. And my ACID test tool will be released for free. This tool is an extension of database transaction processing performance test tool, which consists of ACID distributor,transaction manager,log manager and odbc interface. ACID distributor takes charge of the distribution of testing items. Transaction manager due to produce transactions and then connect with DBMS under test via odbc interface. During these executions, the log manager records all actions and their results for farther research. In order to make in-depth discussion and then come into a general model for ACID test, this part has detailed explain for every ACID properties. In addition, using the tool, this part has accomplished the ACID test of redbase7.5 and oracle9i. We can get conclusion that they all satisfy the ACID requirements. But, the transaction's concurrent efficiency of oracle is much better than redbase. This difference should impute to the different lock mechanism. The second part introduces the analysis of innodb transaction processing. Mysql is a speed and steady DBMS. The analysis of mysql InnoDB engine can guide our homemade database development. Innodb transaction processing system has an integrated three-ply managing system, which is formed of transaction system,rollback segment and undo log segment. Transaction system manages transaction and rollback segments. Rollback segment manage undo log segments. Undo log records are stored in undo log segments. Every transaction has its own undo log segment, Innodb assign undo segment to transactions dynamically. To speed the implementation, innodb has a special concurrency mechanism, in which multi-thread enforce the same transaction concurrently. When commit or rollback occurs, query thread sends a signal to transaction. This signal will suspend all other threads of this transaction. And the last one will spring the execution of signals. Commit and rollback commands are actually processed at this time. Otherwise, Innodb has a perfect file space reclaiming mechanism, in which Innodb purge trash records uniformly. It has reduced interaction between memory and disk greatly, and contributed to innodb a persistent stabilization. At most times, mysql can adapte 7*24 hours running without any cleanup action, but postgresql can't, it must run a vacuum program every fixed time. However, there is still some difference between design and implementation in innodb. The first, number of transaction concurrency is limited by rollback segment. Every transaction has its own undo log segment, but the quantity of undo log segment is limited by rollback segment. Furthermore, innodb only uses one rollback segment of the 256...
Keywords/Search Tags:Implementation
PDF Full Text Request
Related items