* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Project Report
Open Database Connectivity wikipedia , lookup
Extensible Storage Engine wikipedia , lookup
Microsoft Jet Database Engine wikipedia , lookup
Relational model wikipedia , lookup
Concurrency control wikipedia , lookup
Versant Object Database wikipedia , lookup
ContactPoint wikipedia , lookup
Advanced Topics in Databases Project Report Fahime Raja Niloofar Razavi Melody Siadaty Summer 2005 Outline About Main Memory Databases Our Project: Performance Evaluation of MMDB: FastDB TPC Performance Benchmark Implementation Experimental Results Conclusion References About Main Memory Databases Main Memory Databases (MMDB) =The idea of having entire databases reside in main memory. In a Main Memory DBMS (MMDBMS) there is no central role for I/O management. MMDB will use physical memory as primary storage and a disk subsystem for backup. Motivations: Requirement of short Access/Response time Telecommunication applications Applications handling high traffic of data, e.g. Router. Real-Time applications About Main Memory Databases (Cont.) Traditional database systems : rely on the disk subsystem to retrieve and update data and use an offline storage device such as magnetic tape for backup Advantages to the use of MMDBs: The memory resident databases can achieve significant performance improvements over conventional database systems by eliminating the need for I/O to perform database applications. processing time and throughput rates should improve due to the elimination of I/O overhead. Our Project: Performance Evaluation of MMDB: FastDB: a highly efficient main memory database system with realtime capabilities and convenient C++ interface optimized for applications with dominated read access pattern supports transactions, online backup and automatic recovery after system crash it is also possible to use it with databases, the size of which exceeds the size of the physical memory in the system Our Project: Performance Evaluation of MMDB: FastDB (Cont.): Database tables are constructed using information about application classes A SQL-like query language is used to specify queries Table rows are considered as object instances and the table is the class of these objects Consists of 3 main modules: Fastdb: implements the main memory database, Subsql: used for implementing the semi-sql query language for fastdb ClI : for error handling Our Project: Performance Evaluation of MMDB: TPC Performance Benchmark: defined in 1989… The benchmark simulates a typical bank application by a single type of transaction that models cash withdrawal and deposit at a bank teller The transaction updates several relations such as the bank balance and the customer’s balance The benchmark also incorporates communication with terminals to model the end to end performance of the system realistically. Our Project: Performance Evaluation of MMDB: Implementation: We implemented another module in conjunction with FastDb’s 3 modules, this module first creates the both data bases, then allows user to fill up them, and then to run some “manipulations”, which includes transferring money from an account in a branch to another (random) account in another branch. Visual C++ .NET interface in conjunction with FastDB evaluation queries including select, insert, update and delete for variable number of table records and updates both for main memory and MS-SQL Our Project: Performance Evaluation of MMDB: Implementation (Cont.) : recorded time is calculated from the beginning of an “existing check” –which checks whether the produced random source/destination account/branch exists or not to the end of the query execution Selective query is designed so that it selects for half of the branches Performed on a Pentium IV (2.4 GHz) system with Windows XP as operating system and 256 MB of RAM Experimental Results we reached out the following result diagrams : Insert time measurements Update time measurements Query time measurement Experimental Results : Insert time measurements FastDB insertion time is about 1000 times less than MSSQL’s m Sec(log) Insert Time 1000000 100000 10000 FastDB MS-SQL 1000 100 10 1 0 20000 40000 60000 80000 100000 120000 # of records Experimental Results : Update time measurements FastDB has approximately a steady response time although MS-SQL reaches a final steady status too, but its performance time is much longer than fastDB’s Update Time m Sec(log) 100000 10000 FastDB 1000 MS-SQL 100 10 1 0 20000 40000 60000 80000 # of records 100000 120000 Experimental Results : Query time measurements FastDB has a more steady state than MS-SQL, and the main important difference is the noticeable ratio of the performance times Query Time m Sec(log) 100000 10000 1000 FastDB 100 MS-SQL 10 1 0 20000 40000 60000 80000 # of records 100000 120000 Conclusion Our results of the evaluation tests match completely with what we expected. FastDB is an application-oriented database, and is optimized for an application with dominated read access pattern. Our performance results indicate that : elimination of the overhead time caused by transferring database files to the buffer pool and vice versa, makes FastDB work significantly faster than a traditional database, Conclusion (Cont.) MMDB fits more efficiently to the requirements of today’s real time applications Main Memory has short response time, and its decreasing cost makes it affordable and suitable for real-time applications. Main Memory DBMS manages in-memory data and ensures ACID properties on it. References - FastDB: a main-memory database object-relational database system. July 2005 - Inseon Lee, Heon Y.Yeon, Taesoon Park, “A New Approach for Distributed Main Memory Database Systems: A Causal Commit Protocol”, IEICE TRANS. INF. & SYST., VOL.ES7, NO.1 JANUARY 2004 - - - - - Nicholas Carriero, Michael V. Osier, Kei-Hoi Cheung, Peter Masiar, Perry L. Miller, Kevin White, Martin Schultz, “ Exploring the Use of Main Memory Database (MMDB) Technology for the Analysis of Gene Expression Microarray Data”, Technical report, April 2004 Stefan Manegold, “Understanding, Modeling, and Improving Main-Memory Database Performance”, November 2002 Philip Bohannon, Peter McIlroy, Rajeev Rastogi,”Main Memory Index Structures with FixedSize Partial Keys”, ACM SIGMOD 2001 May 2124,Santa Barbara, California, USA S. Manegold, P. A. Boncz, and M. L. Kersten. “Optimizing Main-Memory Join on Modern Hardware”, IEEE Transactions on Knowledge and Data Engineering (TKDE), 14(4):709–730, July 2002. J. Rao and K. A. Ross. “Making B+-Trees Cache Conscious in Main Memory”, In Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD), pages 475–486, Dallas, TX, USA, May 2000. References (Cont.) - Tobin J. Lehman, Michael J. Carey, “A Study of Index Structures for Main Memory Database Management Systems”, Proceedings of the Twelfth International Conference on Very Large Data Bases, Kyoto, August, 1986 - Rajeev Rastogi, S. Seshadri, Philip Bohannon, Dennis Leinbaugh, “Logical and Physical Versioning in Main Memory Databases”, Proceedings of the 23rd VLDB Conference, Athens, Greece, 1997 - Hector Garcia-Molina, Kenneth Salem, “Main Memory Database Systems: An overview”, IEEE 1992 - Piyush Burte, Boanerges Aleman-Meza, D. Brent Weatherly, Rong Wu, “Transaction Management for a MainMemory Database” - Tobin J. Lehman, Michael J. Carey, “Query Processing in Main Memory Database Management Systems”, ACM, 1986 - Margaret H. Eich, “Main Memory Database Recovery”, IEEE 1986 - J. Baulier, P. Bohannon, S. Gogate, C. Gupta, S. Haldar, S. Joshi, A. Khivesera, H. F. Korth, P. McIlroy, J. Miller, P. P. S. Narayan, M. Nemeth, R. Rastogi, S. Seshadri, A. Silberschatz, S. Sudarshan, M. Wilder, and C. Wei. “DataBlitz Storage Manager: Main-Memory Database Performance for Critical applications”, In Proceedings of theACM SIGMOD International Conference on Management of Data (SIGMOD), pages 519–520, Philadephia, PA, USA, June 1999.