Micro DBMS - The Distributed Systems Group

Werbung
Micro DBMS
Ubiquitous Computing
Doktiorandenseminar WS 2000/2001
Marco Schmidt, Oliver Kasten
Überblick
Ubicomp Seminar 20.12.2000
• Allgemeines zu (µ) DBs
• Realisierungen
• Motivation
• Speichermodelle
– Szenarien
• Operationen
– Relevanz auf
eingebetteten Systemen
– Queries
– Zugangsberechtigung
• Eingebettete Systeme
– technische Eigenschaften
– z.B. Chipkarten
• Anforderungen
– klassische Konzepte
greifen nicht
2
Marco Schmidt, Oliver Kasten
1
Allgemeines
Ubicomp Seminar 20.12.2000
• Trennen von Datenverwaltungs- und
Applikations-Code
Datenbanken
• DB = DBMS + Daten + API
• DBMS Operationen
API
DBMS
– queries
– transactions
Daten
– insert/ update
• Micro DBs
– klein, kompakt, auf eingebetteten Systemen
3
Marco Schmidt, Oliver Kasten
Schlüsselmerkmale
Ubicomp Seminar 20.12.2000
• Was erwarten wir von
einer DB?
• Welche/ wie viele genau,
damit wir von DB
sprechen?
– ACID-Eigenschaft
Datenbanken
• Atomicity
• Consistency
• Isolation
• Durability
– Zugriffsrechte/-schutz
– Komplexe Queries
– Nebenläufiger Zugriff
– Fehlertoleranz
– ...
4
Marco Schmidt, Oliver Kasten
2
Anwendungs-Szenarien
Ubicomp Seminar 20.12.2000
• Welche Merkmale gefordert?
Kataloge
Agenda, Adressen
Krankengeschichte
klein
gross
mittel
gross
!
!
!
!
!
5
Statistiken
Group by/ Distinct
Join
Select/ Project
Durability
Isolation
Consistency
Atomicity
Nebenläufiger Zugriff
Zugriffsrechte
Anwendung
Geldkarte
Datenmenge
Motivation
Anforderungen
!!!
!!
!!!!!
Marco Schmidt, Oliver Kasten
DB-Anwendungen
Ubicomp Seminar 20.12.2000
• Money and Identification
– Geldkarten, Kreditkarten, GSM SIM-Karten,
Telephonkarten, Zutrittskontrolle/ Zeiterfassung, ...
• Downloadable Databases
Motivation
– Kataloge, Restaurant-und Touristenführer, ...
• User environment
– Agenda, Adressen, Präferenzen, Bookmarks,
Lizenznummern, Passwörter, Spielekonsole-Uhr...
• Personal folders
– Krankengeschichte (ich, mein Auto), Lebenslauf,
Versicherungsdaten, Remembrance Agent...
6
Marco Schmidt, Oliver Kasten
3
DBs in eingebetteten
Systemen
Ubicomp Seminar 20.12.2000
• Realisierung auf
– Laptops,
– PDAs,
– Chipkarten, Smartcards, RFIDs,
Motivation
– eingebetteten Systemen i.A.
• Micro DBs wichtig & gut
– ist das konsensfähig?
• Unterscheiden sie sich von traditionellen DBs?
7
Marco Schmidt, Oliver Kasten
Technische Eigenschaften i
Eingebettete Systeme
Ubicomp Seminar 20.12.2000
• z.B. Microcontroller
– 4 MHz
– 96 KB ROM, 4 KB RAM, 128 KB EEPROM
• R/W Speicher
– wenig bis kein
– sehr langsam (EEPROM Schreiben: 10ms / Wort,
Flash Löschen: 500ms/ Bank)
– von begrenzter Lebensdauer (EEPROM/Flash
105 Schreib-/ Lösch-Zyklen)
– Lesen blockweise (NAND-Flash 256 Byte/ Bank)
– oder verbrauchen Strom, selbst wenn „aus“
8
Marco Schmidt, Oliver Kasten
4
Technische Eigenschaften ii
Eingebettete Systeme
Ubicomp Seminar 20.12.2000
• Spannungsversorgung
– z.T. nicht autonom (Chipkarten, Smartcards)
– jede Instruktion (Takt) verbraucht Strom
– Takt reduzieren bis 0 Hz (CMOS)
• geringe Rechenleistung
• eingeschränktes User-Interface
• eingeschränktes OS
– keine Nebenläufigkeit (threads)
• eingeschränkter Netzzugriff
9
Marco Schmidt, Oliver Kasten
Anforderungen i
Ubicomp Seminar 20.12.2000
• Ressourcen-bewusst
– Speicher, Rechenleistung, Strom
– wie Realisiert man join, group by, etc. ohne RAM?
• kein Caching, asynchrones IO
Micro DBs
– nicht autonom
• keine periodische Reorganisation
– keine threads
– „instant on“
10
Marco Schmidt, Oliver Kasten
5
Anforderungen ii
Ubicomp Seminar 20.12.2000
• keinen Benutzereingriff
– eingeschränketes UI
– Benutzergruppe
– keine Administration, explizites Backup
Micro DBs
– Fehlertolerant („selbstheilend“ nach Crash)
• Sicherheit
– „trusted device“
– verlieren, gestohlen
• Zugriffsrechte
– mehrere Benutzer
11
Marco Schmidt, Oliver Kasten
Realisierungsarten
Ubicomp Seminar 20.12.2000
• was auf dem eingebetteten System?
– nur DBMS
• schlechte Verfügbarkeit
– nur Daten
Micro DBs
• Zugriffsschutz schlecht
– beides
• Zugriffsschutz, Verfügbarkeit
• „trusted device“
12
Marco Schmidt, Oliver Kasten
6
Krankengeschichte
Ubicomp Seminar 20.12.2000
• Klassisches Beispiel für eine komplexe DBMS
Anwendung, welche man gerne in einer
(physikalisch) sehr kleinen Datenbank haben
möchte (Smartcard).
Beispiel
• Bisher meistens nur Adresse und
Versicherungsnummer gespeichert.
• Idealerweise möchte man aber viele Daten (XRay, etc.) unter schnellen und sicherem Zugriff
mit sich herumtragen können.
• Heutige Technologie noch ein Stück von der
Idealvorstellung entfernt. Vgl. Datenbanken
vor ca. 30 Jahren.
13
Marco Schmidt, Oliver Kasten
Speicher
Ubicomp Seminar 20.12.2000
• Je nach Grösse des Gerätes von 256K bis zu
64M RAM
• Bei sehr wenig Speicher sind ausgeklügelte
Speichermodelle notwendig.
Konzepte
– Domain Storage, Ring Storage
• Neue Speichertechnologien versprechen mehr
Speicher auf kleinerem Raum.
14
Marco Schmidt, Oliver Kasten
7
Speichertypen
Ubicomp Seminar 20.12.2000
Technologie
Memory Type
Read time (/word)
Write time (/word)
Erase Time (/bank)
Lifetime
EEPROM
FLASH
60 to 150ns
70 to 200ns
10ms
5 to 7µs
none
500 to 800ms
5
105 erase
10 write
cycles per cell
cycles
FeRAM
150 to 200ns
150 to 200ns
none
10
10 to 1015
write cycles
• Holographic
• Magneto Optic, Phase Change
• MEMS-Based (microelectromechanical)
15
Marco Schmidt, Oliver Kasten
Holographic
Technologie
Ubicomp Seminar 20.12.2000
16
Marco Schmidt, Oliver Kasten
8
Phase Change
Technologie
Ubicomp Seminar 20.12.2000
17
Marco Schmidt, Oliver Kasten
MEMS-Based
Technologie
Ubicomp Seminar 20.12.2000
18
Marco Schmidt, Oliver Kasten
9
Domain Storage
Ubicomp Seminar 20.12.2000
Value 1
Value 2
Technologie
R
S
Value 3
• Data compactness
19
Marco Schmidt, Oliver Kasten
Ring Storage
Ubicomp Seminar 20.12.2000
Value 1
Value 2
Technologie
R
Value 3
R
S
Foreign_key
• Data and Index compactness
20
Marco Schmidt, Oliver Kasten
10
Select/Project
Ubicomp Seminar 20.12.2000
• Auslesen einer Zeile oder eines Datums aus
einer Tabelle
• Grundlage jedlicher Datenverwaltung
Konzepte
• Wenig Resourcen notwendig
21
Marco Schmidt, Oliver Kasten
Join
Ubicomp Seminar 20.12.2000
• Datenbanken mit mehreren verknüpften
Tabellen.
• Primary Key, Foreign Key Beziehungen
Konzepte
• Geeignete Speichermodelle wählen.
• Wenn wenig oder nur-lese-speicher dann sind
Algorithmen notwendig, die ohne
Zwischenspeicher auskommen.
22
Marco Schmidt, Oliver Kasten
11
Query Processing
Ubicomp Seminar 20.12.2000
• Doctor (DocID, name, speciality, ...)
• Prescription (VisitID, DrugID, qty, ...)
• Visit (VisitID, DocID, date, diagnostic, ...)
Technologie
• Drug (DrugID, name, type, ...)
• Who prescribes antibiothics in 1999?
• Pipeline, nested-loops
23
Marco Schmidt, Oliver Kasten
Who prescribes anthibiotics
in 1999?
Ubicomp Seminar 20.12.2000
• DrugID = Drug(antibiotics)
• VisitID = Prescription(DrugID)
S
Technologie
doc
• DocID = Visit(VisitID, 1999)
• Name = Doc(DocID)
visit
presc.
S
drug
24
Marco Schmidt, Oliver Kasten
12
Zugangsberechtigung
Ubicomp Seminar 20.12.2000
• PIN
• Komplexe Zugangsberechtigung
• Schützen bzw. freigeben bestimmter Daten
Konzepte
• Ein Grund dafür, dass die DBMS-Logik auf der
Karte sitzt.
25
Marco Schmidt, Oliver Kasten
ACID
Ubicomp Seminar 20.12.2000
• Atomicity, Consistency, Isolation, Durability
Konzepte
• Klassische Transaktionseigenschaften
• Vollständige ACID Eigenschaften selten nötig
bzw. implizit in der Anwendung, welche die
Datenbank benutzt.
26
Marco Schmidt, Oliver Kasten
13
Statistik
Ubicomp Seminar 20.12.2000
• Statistische Daten aus den Kartendaten
• Wer hat wann welche Daten aus der Karte
gelesen bzw. geschrieben?
Konzepte
• Wielange kann die Karte noch benutzt werden,
bevor sie ausgetauscht werden muss?
27
Marco Schmidt, Oliver Kasten
Produkte
Ubicomp Seminar 20.12.2000
• Oracle 8i Lite
• Sybase Adaptive Server Everywhere
• DB2 Everywhere
Micro DBs
• Microsoft Access
• Berkeley DB
• GDBM
28
Marco Schmidt, Oliver Kasten
14
Zusammenfassung
Ubicomp Seminar 20.12.2000
Eingebettete DBs
• Micro Datenbanken
• Anwendungsszenarien
• Eingebettete Datenbanken
• Realisierung
• Technische Eigenschaften
• Produkte
29
Marco Schmidt, Oliver Kasten
Referenzen
Ubicomp Seminar 20.12.2000
•
Communications of the ACM 11/2000 (43)
Lambertus Hesselink, Ultra-high-density data storage: introduction
Sergei S. Orlov, Volume holographic data storage
Terry McDaniel, Magneto-optical data storage
Henk van Houten and Wouter Leibbrandt, Phase change recording
L. Richard Carley, Gregory R. Ganger and David F. Nagle, MEMS-based
integrated-circuit mass-storage systems
•
C.Bobineau, L. Bouganim, P. Pucheral, P. Valduriez, PicoDBMS: Scaling down
database techniques for smartcard, VLDB 2000, Cairo, Egypt
•
J.K.Waters, Embedded Databases step forward, ADT 12/99
•
P.Bernstein, M.Brodi, S.Ceri, D.DeWitt, M.Franklin,H.Garcia-Molina, J.Gray,
J.Held, J.Hellerstein, H.V.Jagadish, M.Lask, D.Maier, J.Naughton, H.Pirahesh,
M.Stonebraker, J.Ullman, The Asilomar Report on Database Research,
SIGMOD Record 27(4), 1998
•
M.A.Olsen, Selecting and Implementing an Embedded Database System,
IEEE Computer, September 2000
•
M.Seltzer, M.Olson, Challanges in Embedded Database System
Administration, www.sleepycat.com
30
Marco Schmidt, Oliver Kasten
15
Herunterladen