Font Size: a A A

The Implementation Of Data Processing Subsystem For Database Online Transaction Processing Performance Test And The Analysis Of InnoDB Recovery Management

Posted on:2006-12-25Degree:MasterType:Thesis
Country:ChinaCandidate:H LiFull Text:PDF
GTID:2168360155453057Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
This paper includes two parts. One is about the implementation of dataprocessing subsystem for database online transaction processing performancetest system. The other is introduces the principle of InnoDB recoverymanagement system in open source database MySQL. The two partsrespectively involves in two fields which are the study of databaseimplementation technology and the test of database performance. Either thestudy of database implementation technology or the test of database onlinetransaction processing performance is made to correspond with the urgentdemand for developing homemade database with excellent performance.Database management system is an important and radical core of softwaretechnology, it is the key one which our country information industry develops.And also it is the most complicated system software following the operatingsystem. Achieving information promoting industrialization,improving ournative enterprises'creativity and market competition,safeguarding ourcountry's information,developing our national IT industry and softwareindustry, all of these aspects need the sustain of homemade database.Developing a general database online transaction processing performance testsystem will be beneficial to the design,develop,upgrade,recursively test ofhomemade general database product. Moreover, to study implementationtechnology of open source database can finish the intermediate state fromtheory to practice , and it also can supply a firm foundation to develophomemade general database which has independent intellectual property .The first part of this paper mainly introduces the principle and implementof data processing subsystem in database online transaction processingperformance test system. Database online transaction processing performancetest system is one part of general database performance test implementsystem RedPTS(RedBase Performance Testing System) which total has threeparts. It is mainly use to test the performance of database system which runsin complicated Online Transaction Processing (OLTP) environment. This testsystem is co-developed by the author and two other members in the samegroup. Its design is based on TPC-C standard, which is one of the standardsof internationally general computer system performance test TPC series. Andits principal technology is from dbt2 program which is a open source tool.TPC-C is an industrial criterion of evaluation of online transaction processingperformance test system , and is generally considered as authoritative and themost complicated OLTP Benchmark. At present the radical function of OLTPperformance test system has been finished , and this system can run smoothlyin Windows platform and support the test of commercial database OracleEnterprise 9i and homemade database RedBase 7.5.This system include foursubsystem, which are ACID test,data process,online test and result analyzer.And the author is responsible for the data processing subsystemimplementation.. Data process subsystem can not only supply testingdatabase instance for processing OLTP test of Oracle 9i and RedBase 7.5 ,but also apply to other databases according with the ODBC standard whenusing the loading method of ODBC, not necessary to rely on the loading toolprovided by the databases being tested. The implementation of other parts ofthis test system is explained in the theses of other members of this group. In the implementation of data processing subsystem, we construct themodel of database needed by the test according to TPC-C v5.2 criterion ,specify the database standard suitable to the criterion and the implementtechnology of the data to be tested , provide two ways: the method of loadingtool and the method of ODBC to load the test data into the database. Both ofthese two methods have their own advantages and disadvantages. The methodof loading tool first generates test data in text file format on local disc andthen load the data into the database using the fast loading tool attached to thetested database. This method is faster in loading, however, it relies on theloading tool provided by the tested database and needs to adjust the filegenerating format according to different databases. Thus, it has lessextensibility and availability; the method of ODBC directly load the test datainto the table correspondent to the database through the general ODBCinterface, therefore, the implementation of loading program has nothing to dowith the tested database. But it takes sixfold time consumed by the firstmethod. Especially when the data quantity is huge ,the time needed to spendwill be quite excessive . To choose which method, one can select according tothe specific situation. Because each time, the method of ODBC inserts onedata record generated by one cycle with the SQL statement of "INSERT", itsloading speed can hardly be elevated. A method with better availability andextensibility and higher loading speed is expected to be found in our furtherresearch in the future. The second part of this paper introduces the implementing mechanism ofrecovery management system of the InnoDB engine in the open sourcedatabase MySQL. As one of the six engines in MySQL, InnoDB enginesupports transaction processing completely, supports four transactionisolation levels, does locking on the row level and also supports FOREIGNKEY constraints. It is made up of four subsystems: query processor,transaction management, recovery management, and storage management.The author is mainly responsible for the research of recovery management. The main characteristics of recovery management system of InnoDB canbe summarized as the following five points: 1. InnoDB has a special structure called mini-transaction, which is made up of the action of page and message.2. Recovery management system of InnoDB employs the similar technology with ARIES recovery mechanism. The algorithm of ARIES represents the most advanced technology level of recovery algorithm. It combines various optimum designs, increases the possibility of concurrence, decreases the expense of log and reduces the time for recovery. 3. It involves little of database mirroring mechanism and database backup technology. The first one is realized by MySQL database through setting master-slave server, while the second is carried out mainly through MySQL direct copy, mysqldump tool and mysqlhotcopy. Indeed, also has a special InnoDB Hot Backup tool program, but it is charged. 4. Because the log file suitable for MySQL for its own use is recovered from backup, the archiving log file of InnoDB is usually on longer needed. 5. Undo log is managed by transaction management and recovery management only concern Redo log. Recovery management system of InnoDB can fulfill the recovery fromsystem trouble. But since InnoDB is just a data engine in MySQL database,the database mirroring mechanism, database backup technology used in therecovery from medium crack and tragedy are carried out by the MySQLdatabase. Furthermore, although InnoDB supports archiving log file, it hasnever been used actually. As a recovery management system, the recoverymanagement system of InnoDB is efficient but its implementation is rathereasy. Our research group has ten members, containing three doctors and sevenmasters, who spent half a year making a systematic research on the sourcecode of InnoDB engine of the open source database MySQL5.0.0alpha.During the process of research, we employed the special source code analysistool-Source Insight 3.5 and debugged and tracked by the use of Visual C++6.0. And finally, a complete document including word documents, visiopictures, excel tables and powerpoint documents was formed. It will not onlyhelp others to understand the implementing mechanism of data engine butalso accumulate rich experience and lay a solid foundation for thedevelopment of homemade databases. Developing homemade database system is quite an intricate and toughcourse and we should be clearly aware that we still have a long way to go. Ittook the author and the other members of this research group over a year toexplore an implementation technology of database system and developpreliminarily a database system performance test system. All the researchdocuments and source code will be released for free through the Internet. We...
Keywords/Search Tags:Implementation
PDF Full Text Request
Related items