1 / 27

Managing Files of Records

Managing Files of Records. Kapitel 5. Überblick. Record-Oriented Filesystem Sequential Searching Direct Access Mögliche Strukturen und Längen eines Records Metadata – Zusätzliche Informationen innerhalb einer Datei Verschiedene Objekte innerhalb einer Datei platzieren

Télécharger la présentation

Managing Files of Records

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. Managing Files of Records Kapitel 5

  2. Überblick • Record-Oriented Filesystem • Sequential Searching • Direct Access • Mögliche Strukturen und Längen eines Records • Metadata – Zusätzliche Informationen innerhalb einer Datei • Verschiedene Objekte innerhalb einer Datei platzieren • Problematik: Portability and Standardization

  3. „Record-Oriented Filesystem“ • Ein „record“ ist eine Ansammlung zueinander gehörender Attribute • z.B. ein Kontakt bestehend aus Name, Telefonnummer, Adresse und etc. • Ein Ansammlung mehrerer „records“ kann in einer einzelnen Datei untergebracht sein. • Mehrere dieser Dateien, welche jeweils „records“ enthalten bilden ein „Record-oriented filesystem“

  4. Record Keys – Ordnung durch „Canonical Form“ • Recordkeys sind bestimmte Einstiegspunkte oder Überbegriffe jeweiliger records innerhalb einer Datei • z.B. das Attribut „Name“ in einer Datenbank • Für eine klare Strukturierung sind Bezeichnungen mit einheitlicher Struktur nötig • Falsch: PETER MAIER, anna-maier, Tobias-Maier • Richtig: Peter_Maier, Anna_Maier, Tobias_Maier • Das Definieren eines einheitlichen Schemas nennt man „canonical form“

  5. Canonical Form – Ein sinnvolles Benennungsschema • …sollte vermeiden, dass Hindernisse wie z.B. doppelte Einträge oder tote Links entstehen können. • Denn: Je größer die Anzahl der Einträge desto schlechter eignen sich „feste Bezeichnungen“ wie Namen  Das Risiko eines doppelten Eintrags steigt  Tote Links und Verweise entstehen, wenn der key nachträglich geändert wird (z.B. wegen Heirat)

  6. Sequential Searching • Die recordkeyseiner Datei werden nach einer bestimmten Sequenz (Bezeichnung) durchsucht • Jeder recordwird nacheinander mit dem Suchbegriff verglichen • Die records sind unsortiert und nicht nach einem Schema angeordnet Ineffektiv und unpraktisch aus mehreren Gründen 

  7. Sequential Searching • Beispiel: • Die zu durchsuchende Datei enthält 1000 records • Der Suchbegriff befindet sich an 500. Stelle • Wieviele Zugriffe auf die Datei sind nötig, bis der Suchbegriff durch Sequential Searching gefunden wird ?

  8. Sequential Searching – Optimierung durch Record Blocking • Größter Flaschenhals bei dem Zugriff auf eine Datei ist das Lokalisieren der „Position“ • Also  Eintrag suchen und auslesen, Eintrag suchen und auslesen usw. Sehr ineffektiv, da die Übertragungsrate bei jedem Suchvorgang erneut einbricht • Daher: „RecordBlocking“

  9. Sequential Searching – Optimierung durch Record Blocking • Ohne RecordBlocking: Jeder Record wird nacheinander gesucht, in den Ram geladen und dort ausgelesen • Mit RecordBlocking: Mehrere Records werden „blockweise“ in den RAM geladen und dort erst durchsucht und ausgelesen •  Die Datenrate bricht nicht ein - siehe Unterschied zwischen Ram und HDD

  10. Unix Tools for Sequential Searching • Halt Stopp! Was ist eigentlich Unix ?

  11. Unix Tools for Sequential Searching • Unix ist ein Betriebssystem, erstmals 1969 erschienen • Sollte ursprünglich als Plattform für Entwickler dienen • Viele heute weit verbreitete Betriebssysteme gingen entweder aus Unix hervor oder bedienen sich ursprünglich für Unix entwickelter Technologien • Beispiele: Windows, Linux, Mac OS X, iOS, Android, BSD oder Solaris und noch viele mehr

  12. Unix Tools for Sequential Processing – Ein Auszug • cat - Gibt den Inhat einer Datei aus. Kann auch den Inhalt mehrerer Dateien zusammenführen • Beispiel: cat /home/Datenbank.list cat /home/Dankenbank1.list /home/Datenbank2.list > NeueDatei.list _____________________________________________________________ • grep - Durchsucht eine Datei nach einem vorgegebenen Suchbegriff • Beispiel: grep Suchbegriff /home/Datenbank.list

  13. Direct Access – Alternative Methode • Alternative zu Sequential Searching • Die einzelnen Records sind schematisch angeordnet • Durch die logische Anordnung muss nicht jeder Record ausgelesen werden, sondern es kann direkt zum gesuchten Record gesprungen werden

  14. Direct Access – Alternative Methode • Es ist nur ein einzelner Suchvorgang notwendig um den gewünschten Record zu lokalisieren • Beim Hinzufügen neuer Records muss das vorhandene Schema beachtet werden • Dadurch ist eine eventuelle Neuanordnung der Records nötig, da der neue Record in die richtige Anordnung „einsortiert“ werden muss

  15. Zusammenfassung: Sequential Searching vs Direct Access • Sequential Searching: • Records sind „unsortiert“ • Das Hinzufügen neuer Records kann schnell geschehen, da diese an beliebige Position geschrieben werden können • Die Suche dauert entsprechend länger, da pro Record ein Suchvorgang gestartet wird und diese so nacheinander abgearbeitet werden • Beispiel: Liegt bei ingesamt 1000 Records, der gewünschte Record an 999. Stelle sind 999 Suchvorgänge nötig

  16. Zusammenfassung: Sequential Searching vs Direct Access • SequentialSearching • Vorteil: Schnell erweiterbar • Nachteil: Durchsuchung dauert gegebenfalls länger

  17. Zusammenfassung: Sequential Searching vs Direct Access • Direct Access: • Records sind nach einem Schema angeordnet • Das Hinzufügen dauert länger, da für die Einhaltung des Schemas die Records eventuell neu angeordnet werden müssen • Durch die schematische Anordnung ist nur ein einzelner Suchvorgang nötig. Es kann direkt zum gewünschten Record gesprungen werden • Beispiel: Liegt bei ingesamt 1000 Records, der gewünschte Record an 999. Stelle ist dennoch nur ein einziger Suchvorgang nötig

  18. Zusammenfassung: Sequential Searching vs Direct Access • Direct Access • Vorteil: Schneller durchsuchbar • Nachteil: Hinzufügen neuer Records dauert länger

  19. Mögliche Strukturen und Längen eines Records • Fixed-Length Records mit Fixed-Length Fields • Die Länge des Records und der Felder ist fest definiert, unabhängig von ihrem Inhalt. Jedes Feld hat eine eigene maximale Anzahl von Zeichen. • 1|Peter Maier________|Mustermanstr._23_______|50939|Köln_______________| • 2|Pauline Max-Müller__|Kurzstr._1______________|12345|KleinesStädtchen____| • Unabhängig vom Inhalt verbrauchen alle Records den selben Speicherplatz.

  20. Mögliche Strukturen und Längen eines Records • Fixed Length Records mit Variable-Length Fields • Die Länge des Records ist fest definiert, die der Felder jedoch variabel. • 1|Peter Maier|Mustermanstr. 23|50939|Köln|______________________________| • 2|Pauline Max-Müller|Kurzstr. 1|12345|KleinesStädtchen|____________________| • Die Records benötigen dennoch den selben Speicherplatz, denn auch freier Platz muss codiert werden. • Jedoch können dadurch, dass einige Felder nur wenig Platz einnehmen wiederrum andere deutlich länger ausfallen und den übrigens Platz falls nötig ausnutzen.

  21. Metadata – Zusätzliche Informationen innerhalb einer Datei • Beispiel: Der Astronom und seine Sammlung von Teleskop-Fotos

  22. Metadata – Zusätzliche Informationen innerhalb einer Datei • Metadaten sind Zusatzinformationen, welche innerhalb einer Datei untergebracht werden können. • Beispiele: Mp3-Dateien oder das RAW Photo Format

  23. Verschiedene Objekte innerhalb einer Datei platzieren • Kennt jemand ein Beispiel für ein bekanntest Dateiformat, welches verschiedene Objekte innerhalb einer Datei platziert ?

  24. Verschiedene Objekte innerhalb einer Datei platzieren • Der Datei wird ein „Index Table“ hinzugefügt, welcher bestimmte „Tags“ enthält, die wiederrum auf die enthaltenen Objekt-Kategorien verweisen. • Das Programm, welches zum Lesen der Datei genutzt wird muss für jeden „Tag“ eine Methode enthalten, das jeweilige Format zu verarbeiten.

  25. Problematik: Portability and Standardization • Unterschiede bei verschiedenen Betriebssystemen und Sprachen erschweren die Findung eines einheitlichen Standards • Schon minimale Unterschiede können zu schwierigen Situationen und Inkompatibilitäten führen

  26. Problematik: Portability and Standardization • Lösungen: • Einigung auf einheitliche Dateistrukturen und Formate, welche über verschiedenste Systeme hinweg gültig sind • Offene Dateiformate, mit frei zugänglichem Code ______________________________________________________ • Beispiel: Open Format Initiative  OpenDocument Format (ODF)

  27. Vielen Dank für Eure Aufmerksamkeit!

More Related