260 likes | 436 Views
ارزیابی کارایی پایگاه های داده مقیم در حافظه. دانشکده برق و کامپیوتر دانشگاه تهران مباحث ویژه در پایگاه داده، بهار 85. Hadi Amiri, Abbas AleAhmad {h.amiri,a.aleahmad}@ece.ut.ac.ir. منابع.
E N D
ارزیابی کارایی پایگاه های داده مقیم در حافظه دانشکده برق و کامپیوتر دانشگاه تهران مباحث ویژه در پایگاه داده، بهار 85 Hadi Amiri, Abbas AleAhmad {h.amiri,a.aleahmad}@ece.ut.ac.ir
منابع [1] Stefan Manegold, Understanding, Modeling, and Improving Main-Memory Database Performance, November 2002 [2]Monet Database, http://monetdb.cwi.nl/ [3]University of Konstanz – Mainmemory Databases , http://www.inf.uni-konstanz.de/dbis/teaching/ws0203/main-memory-dbms/ [4] Hector Garcia-Molina, Member, IEEE, and Kenneth Salem, Member, IEEE,Main Memory Database Systems: An Overview, December 1992 [5]Main-Memory Databases - “Introduction to MMDB” ,Maurice van Keulen, October 16, 2002 [6]Main-Memory Databases - “MIL introduction” ,Maurice van Keulen, October 29, 2002
منابع [7]Main-Memory Databases - “Main-Memory DBMS architecture” ,Maurice van Keulen, January 14, 2003 [8]FastDB - Main Memory Relational Database Management System , http://www.garret.ru/~knizhnik/fastdb.html [9]Piyush Burte, Boanerges Aleman-Meza, D. Brent Weatherly, Rong Wu, Transaction Management for a Main-Memory Database ,2002 [10] A Comparison Study of Main Memory Databases And Disk-Resident Databases, Fahimeh Raja, Niloofar Razavi, Melody Siadaty, Maseud Rahgozar, Department of ECE, University of Tehran, Tehran, Iran, 2005 [11] The Internals of the Monet Database, Bogdan Dumitriu Lee Provoost, June 6, 2005 [12] FastDB, http://www.garret.ru/~knizhnik/fastdb.html [12] PerstDB, http://www.mcobject.com/perst/
خلاصه • پایگاه داده مقیم در حافظه • محک TPC • PerstDB، FastDB • نتایج ارزیابی
پایگاه داده های مقیم در حافظه • پايگاه داده هاي معمول با توجه به خصوصيات و مکانيزم هاي ذخيره سازي روي ديسک بهينه شده اند • پايگاه داده هاي مقيم درحافظه مکانيزم متفاوتي جهت سازماندهي و ساختار دادن به داده ها استفاده مي کنند • حافظه هاي نيمه هادي روز به زور ارزان تر مي شوند و علاوه بر آن حجم آنها نيز زياد تر مي شود که استفاده از MMDB را توجيه مي کند
تفاوت هاي اصلي حافظه اصلي و ديسک • دسترسي به حافظه اصلي بسيار کمتر از ديسک زمان بر است. • حافظه اصلي فرار است در حالي که ديسک پايدار است. • دسترسي ترتيبي به ديسک سريع تر از دسترسي اتفاقي است در حالي که در MMDB تفاوتي نمي کند • داده هاي موجود در حافظه اصلي مستقيما توسط CPU قابل دسترسي هستند در حالي که ديسک اين طور نيست
ملاحظات در MMDBs • Concurrency Control • Commit Processing • Access Method • Query Processing • Recovery • Performance • Application Programming Interface & Protection • Data Clustering & migration
محکTPC • TPC-A : measures performance in update-intensive database environments typical in OLTP applications) • TPC-B : TPC-B measures throughput in terms of how many transactions per second a system can perform) • TPC-D : Represents a broad range of DS applications that require complex, long running queries against large complex data structures) • TPC-R : TPC-R is a business reporting, DS. benchmark ) • TPC-W: TPC-W is a transactional web e-Commerce benchmark) • TPC-H : Decision support benchmark, ad-hoc queries and concurrent data modifications)
TPC-B Throughput • Scale X • No. of Branch=X • No. of Teller= 10*X • No. of Account= 100,000 *X • No. of Transaction=864,000
تراکنش نمونه در TPC-B Void CreateDatabase(); Void InitialParameters(); Void CreateTables(); exec sql SELECT Abalance INTO :Abalance exec sql UPDATE accounts exec sql INSERT INTO history (Tid, Bid, Aid, delta, time) VALUES (:Tid, :Bid, :Aid, :delta, CURRENT); exec sql COMMIT WORK; ……
PERSTDB • An Open Source OO-MM-DB From McObject ™ • Persistency by reachability • Shadow mechanism for transaction implementation • Master-Slave replication mechanism • Bitmap memory allocation (64 chunk)
Experimental Results: Mem. State • Memory\Available Kbytes Scale 3- 5000 transactions with commit Memory Page Faults/sec Scale 3 -5000 transactions with commit
Experimental Results: Processor % Processor Time Scale 3- 5000 transactions with commit
Experimental Results: Disk Disk Write Bytes/sec Scale 3- 5000 transactions with commit Disk Read Bytes/sec Scale 3 - 5000 transactions with commit
Experimental Results: Response Time C:\>S3_com_5000 Program Started at: 5/3/2006 11:05:36 PM Branches table is created %100 Tellers table is created %100 Percent of Accounts table created %100 Table are Created at: 5/3/2006 11:05:38 PM Elapse Time: 2 Committing Database....5/3/2006 11:05:38 PM DB is Committed at: 5/3/2006 11:06:01 PM Elapse Time: 23 The benchmark database successfully created Running 5000 Transactions.... Transactions are Completed.... Number of Successful Transactions Transaction Run Start: 5/3/2006 11:06:02 PM Transaction Run End: 5/3/2006 11:18:48 PM Elapsed time = 766 Number of Trans= 5000 ------------------- Results -------------- Transactions per second = 6.527415 End of Program 5/3/2006 11:18:48 PM Elapse Time: 792
Experimental Results: Response Time Transaction Run Start: 5/1/2006 11:05:19 PM Transaction Run End: 5/1/2006 11:05:35 PM Elapsed time = 16 Number of Trans= 864000 ------------------------------- Results ------------------------------- Transactions per second = 30857 End of Program 5/1/2006 11:05:36 PM Elapse Time: 43 For Scale 3, No Commit, 864000 Transaction
FastDB • An Open Source OR-MM-DB • Shadow mechanism for transaction implementation • Bitmap memory allocation (16 chunk)
پارامترهای ارزیابی • Memory State • Memory\Available Kbytes • Page Faults/sec • Processor State • Disk State • Disk Write Bytes/Sec • Disk Read Bytes/Sec • Response Time
مقایسه میزان استفاده از پردازنده در FastDBو PERST PERST Scale60 FastDB Scale30
PERST Scale60 مقایسه تخصیص حافظه در FastDBو PERST FastDB Scale30
مقایسه تخصیص دیسک در FastDBو PERST PERST Scale60 FastDB Scale30
یک ایده خوب • Using Data Mining algorithms (like C5) to find some rules between these parameters !!
Thank You and Question ?