Download
development approach n.
Skip this Video
Loading SlideShow in 5 Seconds..
Development Approach PowerPoint Presentation
Download Presentation
Development Approach

Development Approach

117 Views Download Presentation
Download Presentation

Development Approach

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Development Approach • Traditional DBMS • Developed decade ago • To handle large amount of data • Evolved over time • Full of layers/functionalities coupled with monolithic engines • Embedded DBMS are built • Slimmed down version of large DBMS • Ground up • We reject policy of slimmed down version for embedded DBMS

  2. Introduction • Basic database management system • Simple access API: put, get, delete of (key, value) pairs • All data in one „table“, no columns → design for extensibility • Using feature-oriented programming (FC++) • Build software by composing features that are expressed in a modular way • Feature: basic block of user-relevant functionality • Platform • Windows • NutOS (BTnode) • Linux/Any platform supporting C++

  3. Why FOP in embedded domain • To support • Small footprint • Multi-platform support • To manage • Complexity • To achieve • Re-configurability

  4. System Characteristics • Feature-oriented implementation (FC++) • Highly re-configurable • Low complexity • Reduced footprint • Multi-platform support • API based access

  5. Embedded System: BTnode • Developed at ETH Zurich • Microcontroller: Atmel ATmega 128L (8 MHz @ 8 MIPS) • Memories: 64 +180 Kbyte RAM, 128 Kbyte FLASH ROM, 4 Kbyte EEPROM • Support for bluetooth and low-power radio • PC connectivity via Serial/Com over USB • Terminal input/output via standard C functions printf/scanf

  6. High-Level System Design • OS-Abstraction Layer • Hides platform dependent implementation • Buffer Layer • Page buffering • Management of used and free pages • Access/Storage Layer • Provides API based access • Un-indexed sorted file implementation • B+-Tree Index • Page Implementation

  7. Feature Diagram

  8. Feature Diagram (Minimal configurations)

  9. Binary Size Results • Windows: • Un-indexed: Binary size = 17 KB • Indexed: Binary size = 19 KB • Linux: • Un-indexed: Binary size = 47 KB • Indexed: Binary size = 63 KB • NutOS (BTnode): • Un-indexed: Binary size = 40 KB • Indexed: Binary size = 41 KB

  10. Problems Identified • Lack of support for C++ usage in embedded environment • Existing sample codes for BTnode only available for C • Different behaviour of code in embedded environment and on different operating systems • Consideration of embedded environment constructs in code • Limited stack size of BTnode

  11. Current State • API based access • Supports B+-Tree index • Single table database • Currently supports three platforms • Windows • Linux • NutOS (BTnode) • Records stored as key-value pairs • Alternative page replacement strategies • LFU • LRU

  12. Future Directions • Development in progress • Multiple tables • Multiple columns • Transaction manager • Feature-oriented query processing support • Next presentation by Sagar Sunkle • Planned extensions • Features for distributed DBMS • Recovery manager • More Indexes • Alternative implementations