Static Wikipedia February 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Web Analytics
Cookie Policy Terms and Conditions Sparse-Datei - Wikipedia

Sparse-Datei

aus Wikipedia, der freien Enzyklopädie

Der Begriff Sparse-Datei (engl. sparse file; sparse für „spärlich“ oder „zerstreut“) bezeichnet eine Datei in einer bestimmten Speicherungsform, bei der Datensequenzen mit längeren Strecken von Nullbytes besonders kompakt gespeichert werden können.

Diese Art der Speicherung kommt aus der Welt der inodebasierten Dateisysteme und ist heute vor allem typisch für alle modernen unixartigen Betriebssysteme.

Bei einer Sparse-Datei werden nur die Teile gespeichert, die auch tatsächlich beschrieben worden sind. So kann eine Datei mit einer nominellen Länge von z. B. 100 GiB effektiv nur 512 Bytes umfassen, wenn etwa nur die letzten Bytes der Datei überhaupt Daten enthalten.

Eine solche Form der Speicherung kann sehr sinnvoll bei einigen Formen von Binärdatenbanken sein, sowie bei der Simulation von Festplatten über Dateien.

[Bearbeiten] Probleme bei der Verwendung

Sparse-Dateien können problematisch werden, wenn sie kopiert werden. Ein Problemfall dabei besteht darin, dass das Dateisystem der Zielpartition nicht die Fähigkeit besitzt, Sparse-Dateien anzulegen, und außerdem nicht genügend freier Speicherplatz existiert, um die komplette Datei inklusive der dann explizit zu speichernden Nullbytes aufzunehmen. Ein solches Problem kann etwa beim Zurückspielen von Backups auftreten.

Ein ähnlich gelagertes Problem tritt dann auf, wenn ein Kopier- oder Backupprogramm nicht in der Lage ist, die Charakteristik der Datei überhaupt zu erkennen; Sparse-Dateien werden nämlich nicht automatisch erzeugt, sondern bedürfen einer bestimmten Zugriffstechnik.

Ein weiteres Problemfeld besteht in der automatischen Fragmentierung: Sparse-Dateien werden aufgrund ihrer Anlage sozusagen inhärent fragmentiert und sind damit natürlicherweise beim Plattenzugriff nicht optimal zu erreichen. Ein lineares Einlesen einer Sparse-Datei kann daher recht zeitintensiv werden, was bei Datenbanken durchaus von Bedeutung sein kann.

[Bearbeiten] NTFS Sparse

NTFS verfügt im Gegensatz zu unixbasierten Dateisystemen seit Version 3 über ein spezielles Dateiattribut, welches das Eingabe-/Ausgabesubsystem des Windowsdateisystems veranlasst, für zusammenhängende Bereiche einer Datei die lediglich aus Nullwerten besteht, keinen Speicher auf dem Datenträger zu belegen.

Sowohl normale als auch komprimierte Daten können von NTFS als Sparse-Datei behandelt werden. Eine einmal als Sparse-Datei deklarierte Datei kann von NTFS nicht mehr in eine normale Datei umgewandelt werden.

Die für unixbasierte Dateisysteme genannten Probleme bestehen im Prinzip in gleicher Weise bei NTFS, wobei allerdings das Dateiattribut dafür sorgt, dass zumindest nach den generellen Programmierrichtlinien geschriebene Programme Sparse-Dateien transparent kopieren können, ohne dass die Sparse-Eigenschaft verloren geht.

[Bearbeiten] Behandlung von Sparse-Dateien unter unixartigen Betriebssystemen

  • Erzeugung: Über den Systemaufruf seek kann der Schreibzeiger einer geöffneten Datei beliebig positioniert werden. Wird über seek der Schreibzeiger hinter das momentane Dateiende gesetzt, so wird der nächste Schreibzugriff auf die Datei an der angegebenen logischen Dateiposition durchgeführt und auf den Datenträger geschrieben. Die übersprungenen Bytes werden dagegen nicht geschrieben, sie belegen keinen Platz auf dem Datenträger. In der Realität können nur ganze Datenblöcke, die übersprungen werden, eingespart werden, also "sparse" sein.

Beispiel:

dd if=/dev/zero of=sparsefile count=0 obs=1 seek=10G
  • Erkennung: Die übersprungenen Stellen der Datei werden als Nullbytes gelesen. Es besteht ohne Kenntnis des Dateisystems und Anwendung spezieller dateisystemspezifischer Systemaufrufe keine Möglichkeit, seitens des Anwendungsprogramms zu erkennen, ob ein kompletter Block Nullbytes ein „sparse block“ ist oder ein normaler Datenblock, welcher zufällig nur aus Nullbytes besteht; Sparse-Dateien sind vollständig transparent.
Andere Sprachen
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu