Project Report

Download Report

Transcript Project Report

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.