Embedded Database Systems

Download Report

Transcript Embedded Database Systems

CS 689 Presentation
By -
Abraham George
Embedded Database Systems ‘Selection and Implementation’
Contents
Introduction
Problem statement
Background
Selection and Design Procedure
Future Research
Introduction
Embedded systems appear in everything
from telephones, pagers to systems for
medical diagnostics, climate control and
manufacturing.
Its main task is to engage the physical
world, interacting directly with sensors
and actuators.
Embedded systems share many
characteristics with the server and desktop
counterparts, the limitations and
requirements of the application they run
demand careful selection process and
tailored implementation.
The extreme diversity of embedded
applications makes generalizations difficult.
Embedded systems are usually
developed for specific set of
applications
As an embedded system is most
often dedicated to a single
application or small set of tasks,the
operating conditions of the system
are better understood than those of
general purpose computing
environments.
An embedded system lifecycle
An Embedded system consists of CPU and other resources
Developers can choose from a wide variety of
hardware, operating systems and tools for the
embedded systems they develop.
To arrive at the best embedded database
system, the right blend of components is
needed.
Problem
Embedded systems have typically tight
constraints on both functionality and
implementation, they must satisfy
reliability requirements and meet cost
targets.
Developers can choose from a variety of
hardware, operating systems and tools, but
finding the right combination of
components is often difficult.
After choosing the operating system,
database software and hardware, the
system must be designed that runs
reliably with little or no human
intervention.
Unlike desktop and server systems, embedded
systems cannot ask for operator help, when the
application encounters a problem.
Database configuration and maintenance are
complex tasks, which add to the complexity of
embedded database design.
Background
The Berkeley Database is an embedded
transaction engine developed by Sleepy cat
software( developed by Michael. A. Olson and
Margo Seltzer) in 1996.
The features of the Berkeley Database are
• Uses native O/S file system for storage.
• Thread safe Implementation
• Database Dump and load utilities
• Keyed and Sequential traversal
• Multi-user read write databases.
• Partial record storage and retrieval.
• Support for logical joins
The Berkeley design principles can be extended
to design embedded database systems for more
sophisticated applications.
They can be extended to more constrained
environments.
Selection and Design Procedure
The design requirements are
• Real time/reactive operation
• Small size, low weight
• Safe and reliable
• Harsh environment
• Cost sensitivity
The design criterion are
•Designing for speed
•Data representation
•Configuration
- Amount of memory used for secondary caches
- Data to be written to disk or stored in the memory.
•Access patterns
Instances of failure
•Insufficient storage space
•Deadlocked transactions
•Illegal duplicates
•Memory leaks
Performance Bottlenecks
The common causes for poor performances in
database applications are two or more threads
contending for frequently accessed.
-Contention for hot data
-Deadlocks
Deadlock caused by two-phase locking
In this study, the selection parameters for an
embedded database system are determined by
analyzing the design parameters and criterion.
The Berkeley Database model is extended for a
more generalized environment.
The Berkeley design procedure is also used to
determine the selection parameters.
Future work and Research
The Selection parameters should be used in
designing an embedded database system.
There is always scope for improvement as
the customer requirements always vary.