1 / 23

Main Memory Databases

Main Memory Databases. Hadi Amiri, Abolfazle AleAhmad Department of ECE, University of Tehran. Top Main Memory DBs. FastDB MonetDB eXtremeDB ERDB DataBlitz Times Ten. MonetDB.

Download Presentation

Main Memory Databases

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Main Memory Databases Hadi Amiri, Abolfazle AleAhmad Department of ECE, University of Tehran

  2. Top Main Memory DBs FastDB MonetDB eXtremeDB ERDB DataBlitz Times Ten

  3. MonetDB • MonetDB is an open source high-performance database system developed at CWI, (the Institute for Mathematics andComputer Science Research of The Netherlands) • MonetDB has been successfully applied in high-performance applications for data mining, OLAP, GIS, XML Query, text and multimedia retrieval. (Real Time App)

  4. Architecture DBMS Architecture

  5. Architecture MonetDB Architecture

  6. MonetDB: architecture • Front-end/back-end: • support multiple data models • support multiple end-user languages • support diverse application domains

  7. MonetDB Properties • perform all operations in main memory • a modern CPU-tuned vectorized query execution architecture that often gives MonetDB a more than 10-fold raw speed advantage on the same algorithm over a typical interpreter-based RDBMS • extensible algebra. • binary relation model • shared-memory parallelism • MonetDB is one of the first database systems to focus its query optimization effort on exploiting CPU caches

  8. MonetDB has played a pivotal role in the development of datamining applications at DataDistilleries (now SPSS).

  9. Monet Ideas • ايده اول: امکان استفاده از دستورات Back-End(به اين معني که شما مي توانيد پرس و جوهايي را براي Back-End با استفاده از واسطي به نام Mapi Client بنويسيد. زباني که اين واسط با آن کار مي کند MIL نام دارد) • ايده دوم:با جداول دودويي هر کاري مي توان کرد • ايده سوم: عدم نياز به اختراع دوباره سيستم عامل • ايده چهارم: بهينه سازي اجراي پرس و جو در حافظه

  10. Monet Data Model • Some simple values • Int,chr,str,oid,nil,intint(nil),chrchr(nil),strstr(nil),oidoid(nil) • Binary Association Tables (BATs) BAT جدولي است با دو ستون Tail و Head که شامل مقادير ساده فوق و يا BAT مي باشد

  11. BAT[oid,str] BAT[oid,int] BAT[oid, BAT[oid,int]] Monet Data Model

  12. Storing Relations in MonetDB

  13. Relational Mapping

  14. Object-Oriented Mapping

  15. Monet Performance • Compare some well-known open-source DBMSs with Monet on the task to build a binary table with the head representing an ordered sequence and the tail a permutation over the values in the head Response time is given in seconds while running on a dual Athlon 1400 with 1GB of RAM and 3.5GB of free space

  16. -- DBtapestry Version=1.1 -- See http://monetdb.cwi.nl/DBtapestry/ -- (c) CWI 2004-2005 - rows=100K --columns=2 -- Produced Sat Feb 26 23:41:51 2005 start transaction; select now(); create table RKA( head int, tail int); create table RKB( head int, tail int); insert into RKA values(0,0); insert into RKA values(1,360); insert into RKA values(2,427); …… insert into RKB select head+0, tail+0 from RKA; insert into RKB select head+8192, tail+8192 from RKA; …… drop table RKA; update RKB set tail=(tail*47) % 102400; …… create table tapestry( attr0 int , attr1 int); insert into tapestry select R0.head, R0.tail from RKB R0; drop table RKB; select now(); commit; -- actions=1249 -- tuplesRead= 1.07M tuplesWritten= 2.07M -- volumeRead= 8.59M volumeWritten=16.59M

  17. Monet Interpreter Language

  18. MIL Extensibility

  19. What is MonetDB Good for? • Query-intensive application • very high performance demanding • complex data models • complex query primitives

  20. Transactions (OLTP)OLTP (Online Transaction Processing) is a form of transaction processing conducted via computer network. Some applications of OLTP include electronic banking, order processing, employee time clock systems, e-commerce, and eTrading.

  21. OLAP, Data MiningOn Line Analytical Processing. (OLAP) It is an approach to quickly provide the answer to complex analytical queries. The typical applications of OLAP are in business reporting for sales, marketing, management reporting, business performance management, budgeting and forecasting, financial reporting and similar areas.

  22. New Domains: GIS • New data types (point, polygon, etc..) • New search accelerators (R-Tree, etc..) • New primitives boolean intersects(polygon,polygon) • Complex topological structures stored in DCELs that are decomposed over BATS queries are efficient due to MonetDB high join speed

  23. New Domains: Multimedia • New data types (url, image, etc..) • new search accelerators (color histograms) • new primitives (similarity search) • complex data structures: bayesian inference networks (information retrieval) again decomposed in BATs and efficient to query

More Related