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