1 / 32

Embedded Database Management Systems

Embedded Database Management Systems. Angela M. Carthan Advanced Database Systems CSC 8712 Georgia State University Department of Computer Science Technology 15 April 2008. Outline. What are Embedded Database Management (EDBM) Systems? Embedded Database vs. Regular Database Systems

Download Presentation

Embedded Database Management Systems

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. Embedded Database Management Systems Angela M. Carthan Advanced Database Systems CSC 8712 Georgia State University Department of Computer Science Technology 15 April 2008

  2. Outline • What are Embedded Database Management (EDBM) Systems? • Embedded Database vs. Regular Database Systems • Real Time Database for Embedded Systems • Embedding the db4o Object-Oriented Database • Reducing Energy Consumption of Queries in Memory-residentDatabase Systems • Storage • Elasped Time • Object Analysis Patterns for Embedded Systems

  3. Introduction

  4. What are Embedded Database Management Systems? • Embedded Systems- A specialized computer system that is part of a larger system. • Housed on a single microprocessor board with the programs stored in ROM. • All appliances that have a digital interface . • watches microwaves, VCRs, cars -- utilize embedded systems • Embedded Database Systems- A database management system (DBMS) embedded into an application. • Introduced in 1980’s • The first embedded databases largely 8-bit, or possibly 16-bit • Nowadays EDBMS matured and gained faster (32-bit) processors, memory, and more complexity.

  5. Diagram of Embedded Storage

  6. Real Time Database for Embedded Systems • Often assumed that fast data processing engine, meets real-time requirements. • Input data must be correlated, merged, or compared. • Data must be shared by concurrent tasks with different functions, time requirements and degrees of importance. • Real Time systems use DBMS as a part of the architecture • Simplify design • Streamline development • Improve performance.

  7. Current Usage of RTDMS using Embedded Systems • McObject’s eXtremeDB - the latest commercial addition to family of EDB for real time-systems. • Eliminate performance overhead while providing a predictable and reliable transactional model. • Works best for pseudo-real-time and real-time systems; • telecommunications equipment, factory floor automation systems, process control, zero-latency consumer electronics devices, and medical equipment.

  8. Vs. Traditional Database Systems

  9. Embedding the db4o Object Oriented Database • db4o -open-source, object-oriented database from db4objects. • Versions of db4o exist for Java and .NET/Mono. • It's an ideal OODBMs engine for Linux applications written in either the Java or .NET frameworks. • Allows multiuser access- any access on the database is invisibly wrapped in a transaction and all operations adhere to ACID principles (atomicity, consistency, isolation and durability).

  10. Example; • A Dictionary Database • The application manipulates a database that stores words and their definitions. In such an application, we might define a class to model dictionary entries as follows:

  11. Define Class public class DictEntry { private string theWord; private string pronunciation; private ArrayList definitions; public DictEntry() { } // Create a new Dictionary Entry public DictEntry(string _theWord, string _pronunciation) { theWord = _theWord; pronunciation = _pronunciation; definitions = new ArrayList(); }

  12. Develop a class describing definition public class Defn { public static int NOUN = 1; public static int PRONOUN = 2; public static int VERB = 3; public static int ADJECTIVE = 4; public static int ADVERB = 5; public static int CONJUNCTION = 6; public static int PARTICIPLE = 7; public static int GERUND = 8; private int pos; private string definition; public Defn(int _pos, string _definition) { pos = _pos; definition = _definition; }

  13. Individual characters within a word are stored at different node levels.

  14. Activation Depth- • Ie; Suppose I've fetched object A into memory from a db4o database using a db.get() call. If I then call db.activate(A,6), that tells db4o also to fetch into memory all objects referenced by A, up to a depth of 6. • db.activate() calls that are sprinkled throughout the search routines of the binary tree and the trie classes ensure that the search operation always pulls in enough of the index so that the search can proceed. Db.get() Memory Object Db.activate(A.6)

  15. Drawbacks

  16. Vs. Traditional Database Systems

  17. Reducing Energy Consumption of Queries in Memory-resident Database Systems • Memory paradigm is different • Partitioned and more structured • Banks – each bank can be controlled individually • Lot of work done for compilers, OS and architecture • Author’s goal • Study the implications of banked memory environment on memory-resident databases • Reduce energy consumption of embedded systems that run such DBMS • Any interesting takes from DBMS? • Cannot simply extend existing models • Hardware and DB designers can use our results for redesigning embedded DBMS

  18. Banked Memory

  19. Available Operating Modes Read / Write Active (2.063 nJ) 1 cycle 9000 cycles 16 cycles Standby (0.743 nJ) Power Dwn (0.025 nJ) Nap (0.035 nJ)

  20. Energy Management Idea • Goal: To reduce the energy consumption of a query by utilizing banks idleness during the query’s execution • A query accesses only a small set of tables a.k.a, banks • Unused memory banks can be placed into a low-power operating mode • Question is “how” and “when”? • Two approaches • Correct (automated) use of low-power modes at hardware level • Changing a query to use minimal energy – software level

  21. Hardware Scheme – Static Standby • Already exists in most memory systems (RDRAM) • It’s a per-access optimization • After a read/write access, the memory module that gets accessed can be placed into the standby mode in the following cycle. • Open/close (page) policies - Static standby mode • Scheme may lead to frequent resynchronizations • The rest of the schemes that we propose aim to minimize the expensive resynchronization costs (also, static)

  22. Hardware Scheme – Dynamic Threshold Full Power 1 9000 10 16 Power Standby Nap Down 100 1000

  23. Query plans give a detailed break up of “primitive” operations that are contained in a query • A typical query will have: • Scan (SELECT) • Check for a condition (>, <, ==) • Refine results (GROUP BY, JOIN) • Could also be recursive (scan of scan) • SQL Example: Who’s birthday is it today? • SELECTname • FROMaddressbook • WHEREDOB= “today” • and • CITY= “my city”

  24. Energy Evaluation • Software scheme is the best • Bank idleness are well estimated using access patterns

  25. Conclusion • There is a gap between memory growth and DB design • Verified this by simple hardware and software schemes to reduce energy consumption • Hardware vs. Software schemes • Hardware is good when access patterns are totally random • Software is good when access patterns show enough inter-table access times (which is related to energy savings) – up to 68% reduction in energy • Combination of both would be ideal

  26. Improvement: Object Analysis Patterns for Embedded Systems • Currently, most embedded systems uses ad hoc development approaches that emphasize design coding over analysis. • Analyze phase is often neglect in current development practice. This causes errors during design and coding. • Propose; Object Analysis Patterns for use in the analysis phase in the development to guide construction. • Meets System Requirements • Lower Elapsed Time • Lower Shipping Cost

  27. Broy Logical Interface Architecture for Embedded Systems

  28. Abstracted Software Development Process

  29. Example; User Interface

  30. Bibliography • [Konrad04] Sascha Konrad, Betty H.C.Cheng, “Object Analysis Patterns for Embedded Systmes," IEEE Transactions on Software Engineering (IEEE ‘04), pages 970-992. • [Pisharath04] Jayapraskash Pisharath, Alok Choudhary, Mahmut Kandemir, “Reducing Engergy Consumption of Queries in Memory-Resident Database Systems," International Conference on Compilers, Architectures and Synthesis of Embedded Systems (CASES ‘04), Washington, DC, September 24, 2004, pages 35-45. • [Cmkovic05] Ivica Cmkovix, “Component- Based Software Engineering for Embedded Systems," Internation Conference on Software Engineeing (ICSE ‘05), St.Louus, MS, May 15-21, 2005, pages 712-715 • [Kraft07] Tobias Kraft, “A Cost Estimation Component for Statement Sequences,” Very Large Databases Conference,(VLDB), Vienna, Austria, September 23-28, 2007, pages 1382-1385 • [Navas01] Julio Navas, Michael Wynblatt, “The Network is the Database,” Association of Computer Machinery (ACM), Santa Barbara, CA May 21-24, 2001, pages 544-551

More Related