1 / 12

Development Approach

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

jesus
Download Presentation

Development Approach

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. 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

More Related