tag:forum.selfhtml.org,2005:/selfConfiguration Auslagern – SELFHTML-Forum2016-02-15T20:11:02Zhttps://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660780#m1660780.MB2016-02-12T11:28:19Z2016-02-12T11:28:19ZConfiguration Auslagern<p>Hallo Community,</p>
<p>das klassenbasierende PHP Programm mit PDO Schnittstelle ist zunehmend komplexer geworden was zu erwarten war. Ich habe Klassen Parameter in eine Config PHP ausgelagert.
Diese Config PHP ist an String Variablen immer mehr geworden.</p>
<p>Frage 1: Ist es Sinvoll semantisch zusammengehöriger Variablen in einem definierendem Objekt zu fokusieren (oder in einem Array wie einBenutzer dieses Forums mir vorgeschlagen hat)?</p>
<p>Frage 2: Der selbe Benutzer hat vorgeschlagen diese Config Daten in eine INI-Datei zu schreiben. Ist es nicht egal woher die Klassen die Daten beziehen?</p>
<p>Herzliche Grüße, MB</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660782#m1660782dedlfix2016-02-12T11:50:08Z2016-02-12T11:50:08ZConfiguration Auslagern<p>Tach!</p>
<blockquote>
<p>Frage 1: Ist es Sinvoll semantisch zusammengehöriger Variablen in einem definierendem Objekt zu fokusieren (oder in einem Array wie einBenutzer dieses Forums mir vorgeschlagen hat)?</p>
</blockquote>
<p>Das kannst du machen, wie du es für richtig hältst.</p>
<blockquote>
<p>Frage 2: Der selbe Benutzer hat vorgeschlagen diese Config Daten in eine INI-Datei zu schreiben. Ist es nicht egal woher die Klassen die Daten beziehen?</p>
</blockquote>
<p>Ja, ist egal. Eine ini- oder sonstwie-Datei ist aufwendiger einzulesen, aber einfacher zu pflegen, besonders wenn das programmierunkundiges Personal übernehmen soll (oder solches, dem man die korrekte PHP-Syntax nicht beibringen kann).</p>
<p>Die Daten brauchst du am Ende im Programm in irgendeiner Struktur. Das kann ein Array oder ein Objekt oder zur Not einzelne Variablen sein. Du kannst das also gleich so in deine config.php als Programmcode einfügen. Es sei denn, du brauchst unbedingt eine ini-Datei.</p>
<p>dedlfix.</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660783#m1660783Der Martin2016-02-12T11:50:40Z2016-02-12T11:57:31ZConfiguration Auslagern<p>Mahlzeit,</p>
<p>eins vorweg: Ich glaube, auf diesen Komplex an Fragen gibt es keine einfache, klare Antwort.</p>
<blockquote>
<p>Frage 1: Ist es Sinvoll semantisch zusammengehöriger Variablen in einem definierendem Objekt zu fokusieren (oder in einem Array wie einBenutzer dieses Forums mir vorgeschlagen hat)?</p>
</blockquote>
<p>Ich denke schon. Daten, die thematisch oder von ihrem Zweck her zusammengehören, würde ich, soweit möglich, auch in einer gruppierenden Struktur zusammenfassen. Ob nun ein Objekt (eine Klasse) oder einfach ein assoziatives Array günstiger ist, müsste man von Fall zu Fall abwägen.</p>
<blockquote>
<p>Frage 2: Der selbe Benutzer hat vorgeschlagen diese Config Daten in eine INI-Datei zu schreiben. Ist es nicht egal woher die Klassen die Daten beziehen?</p>
</blockquote>
<p>Radio Eriwan: Im Prinzip ja. ;-)<br>
Die gewählte Lösung soll einerseits gut überschaubar und leicht zu pflegen sein, andererseits schnell und effizient arbeiten, und nach Möglichkeit auch noch universell, so dass man sie als Modul leicht in ein anderes Projekt übernehmen kann.<br>
Das ini-Dateiformat ist textbasiert und menschenlesbar; es bietet sich daher an, wenn auch Laien die Konfiguration editieren sollen. Andererseits braucht das Parsen einer ini-Datei bestimmt ein wenig mehr Rechenleistung, als wenn die Parameter direkt als PHP-Variablen im Code stehen.</p>
<p>Du siehst: Keine einfache Entscheidung ...</p>
<p>So long,<br>
Martin</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660811#m1660811pl2016-02-12T16:30:00Z2016-02-12T16:30:00ZConfiguration Auslagern<p>Richtig, überlege dir eine bestimmte Datenstruktur für deine Konfiguration, denn du willst ja wahlfreien Zugriff un gelegentlich auch mal einen Dump im Browser ausgeben (zum prüfen ob die Konfiguration stimmt). Also Array oder associative Array und guck dass du das nicht mehr als nötig tief verschachteln tust.</p>
<p>Hast du die Datenstruktur (so flach wie möglich, so tief wie nötig) gefunden, guckst Du nach einer geeigneten Verpackung. Beispielsweise hast du eine Datenstruktur nach dem Schema Entity => { Attribute => Value } eine Solche passt sehr gut in eine ini-Datei:</p>
<pre><code class="block">[Entity]
Attibute=Value
</code></pre>
<p>Und natürlich passen da auch weitere EAV's rein. Das EAV-Schema is wirklich gut, da wurden schon Doktorarbeiten darüber geschriebn ;)</p>
<p>Und die Magento-Shop Entwickler behaupten, sie hättens erfunden.</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660794#m1660794MB2016-02-12T13:34:02Z2016-02-12T13:34:02ZConfiguration Auslagern<p>Hallo Dedlfix,</p>
<blockquote>
<p>Ja, ist egal. Eine ini- oder sonstwie-Datei ist aufwendiger einzulesen, aber einfacher zu pflegen, besonders wenn das programmierunkundiges Personal übernehmen soll (oder solches, dem man die korrekte PHP-Syntax nicht beibringen kann).</p>
</blockquote>
<p>stimmt da kann ich mit arbeitet besten dank</p>
<blockquote>
<p>Die Daten brauchst du am Ende im Programm in irgendeiner Struktur. Das kann ein Array oder ein Objekt oder zur Not einzelne Variablen sein. Du kannst das also gleich so in deine config.php als Programmcode einfügen. Es sei denn, du brauchst unbedingt eine ini-Datei.</p>
</blockquote>
<p>Ok, Gut Danke</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660793#m1660793MB2016-02-12T13:32:18Z2016-02-12T13:32:18ZConfiguration Auslagern<p>Mahlzeit Martin,</p>
<blockquote>
<p>eins vorweg: Ich glaube, auf diesen Komplex an Fragen gibt es keine einfache, klare Antwort.</p>
</blockquote>
<p>Ja das hab ich beführchtet.</p>
<blockquote>
<p>Das ini-Dateiformat ist textbasiert und menschenlesbar; es bietet sich daher an, wenn auch Laien die Konfiguration editieren sollen. Andererseits braucht das Parsen einer ini-Datei bestimmt ein wenig mehr Rechenleistung, als wenn die Parameter direkt als PHP-Variablen im Code stehen.</p>
</blockquote>
<p>Frage zu dem: Beides sind Klartext Dateien. Warum also braucht <em><strong>ini</strong></em> fürs aulesen mehr rechenleistung? Ok. Wenn ich etwas in eine <em><strong>php</strong></em>-datei auslagere, sind die Variable direkt in php vorhanden. Ich nehme mal an, dass das öffnen und laden von variablen von einer <em><strong>ini</strong></em> über <strong>fopen()</strong> einwenig rechenkapazität benötigt. aber ist das den soviel das man da spürbar n unterschied merkt?</p>
<p>Grüße MB</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660795#m1660795Auge2016-02-12T13:38:14Z2016-02-12T13:38:14ZConfiguration Auslagern<p>Hallo</p>
<blockquote>
<blockquote>
<p>Das ini-Dateiformat ist textbasiert und menschenlesbar; es bietet sich daher an, wenn auch Laien die Konfiguration editieren sollen. Andererseits braucht das Parsen einer ini-Datei bestimmt ein wenig mehr Rechenleistung, als wenn die Parameter direkt als PHP-Variablen im Code stehen.</p>
</blockquote>
<p>Frage zu dem: Beides sind Klartext Dateien. Warum also braucht <em><strong>ini</strong></em> fürs aulesen mehr rechenleistung? Ok. Wenn ich etwas in eine <em><strong>php</strong></em>-datei auslagere, sind die Variable direkt in php vorhanden. Ich nehme mal an, dass das öffnen und laden von variablen von einer <em><strong>ini</strong></em> über <strong>fopen()</strong> einwenig rechenkapazität benötigt.</p>
</blockquote>
<p>Womit du dir die Frage schon selbst beantwortet hast. Für das <a href="https://secure.php.net/manual/de/function.parse-ini-file.php" rel="nofollow noopener noreferrer">Einlesen von INI-Dateien</a> aber auch anderweitig vorhandenen <a href="https://secure.php.net/manual/de/function.parse-ini-string.php" rel="nofollow noopener noreferrer">Strings im INI-Format</a> gibt es übrigens Funktionen, die die Anweisungen gleich parsen. Den Umweg über <code>fopen</code> braucht man also nicht zu gehen.</p>
<blockquote>
<p>aber ist das den soviel das man da spürbar n unterschied merkt?</p>
</blockquote>
<p>Wenn du da nicht eine -zig Mebabyte große Datei an den Start bringst, ist das wohl nicht erheblich.</p>
<p>Tschö, Auge</p>
<div class="signature">-- <br>
Wir hören immer wieder, dass Regierungscomputer gehackt wurden. Ich denke, man sollte die Sicherheit seiner Daten nicht Regierungen anvertrauen.<br>
Jan Koum, Mitgründer von WhatsApp, im <a href="http://heise.de/-3074714" rel="nofollow noopener noreferrer">Heise.de-Interview</a>
</div>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1661038#m1661038Sven Rautenberg2016-02-15T20:11:02Z2016-02-15T20:11:02ZConfiguration Auslagern<p>Moin!</p>
<blockquote>
<blockquote>
<p>Das ini-Dateiformat ist textbasiert und menschenlesbar; es bietet sich daher an, wenn auch Laien die Konfiguration editieren sollen. Andererseits braucht das Parsen einer ini-Datei bestimmt ein wenig mehr Rechenleistung, als wenn die Parameter direkt als PHP-Variablen im Code stehen.</p>
</blockquote>
<p>Frage zu dem: Beides sind Klartext Dateien. Warum also braucht <em><strong>ini</strong></em> fürs aulesen mehr rechenleistung? Ok. Wenn ich etwas in eine <em><strong>php</strong></em>-datei auslagere, sind die Variable direkt in php vorhanden. Ich nehme mal an, dass das öffnen und laden von variablen von einer <em><strong>ini</strong></em> über <strong>fopen()</strong> einwenig rechenkapazität benötigt. aber ist das den soviel das man da spürbar n unterschied merkt?</p>
</blockquote>
<p>PHP-Code landet im Opcode-Cache. Dort steht er als vorkompilierter Bytecode zur Verfügung und kann direkt in Variablenerzeugungsaktion treten. Muss man hingegen eine INI-Datei einlesen, steht nix im Cache, man muss die Datei öffnen, einlesen, parsen - dann noch die Variablen erzeugen, wie im PHP-Code auch. Das ist in der Regel langsamer.</p>
<p>Kniff: Man kann das Ergebnis des INI-Parsens mit var_export() auch als PHP-Code wieder in eine Datei schreiben und alternativ benutzen. Allerdings ist das Erzeugen solch eines File-Caches nicht trivial, vor allem im Hinblick auf die Neuerzeugung bei Änderungen.</p>
<p>Grüße
Sven</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660796#m1660796MB2016-02-12T14:15:03Z2016-02-12T14:15:03ZConfiguration Auslagern<p>Hallo Auge,</p>
<blockquote>
<p>Womit du dir die Frage schon selbst beantwortet hast.</p>
</blockquote>
<p>Gut, das wäre geklärt</p>
<blockquote>
<p>Für das <a href="https://secure.php.net/manual/de/function.parse-ini-file.php" rel="nofollow noopener noreferrer">Einlesen von INI-Dateien</a> aber auch anderweitig vorhandenen <a href="https://secure.php.net/manual/de/function.parse-ini-string.php" rel="nofollow noopener noreferrer">Strings im INI-Format</a> gibt es übrigens Funktionen, die die Anweisungen gleich parsen. Den Umweg über <code>fopen</code> braucht man also nicht zu gehen.</p>
</blockquote>
<p>klingt gut. würd mich sehr gern damit befassen wenn die zeit nicht so drängt :/.</p>
<blockquote>
<blockquote>
<p>aber ist das den soviel das man da spürbar n unterschied merkt?</p>
</blockquote>
<p>Wenn du da nicht eine -zig Mebabyte große Datei an den Start bringst, ist das wohl nicht erheblich.</p>
</blockquote>
<p>Besten Dank. MB</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660814#m1660814Jörg Reinholzhttp://www.fastix.org2016-02-12T16:59:01Z2016-02-12T17:04:41ZConfiguration Auslagern<p>Moin!</p>
<blockquote>
<p>klingt gut. würd mich sehr gern damit befassen wenn die zeit nicht so drängt :/.</p>
</blockquote>
<p>Hehe. Das sind nur wenige Zeilen und es gibt da nicht viel zu murksen:</p>
<pre><code class="block language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$GLOBALS</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'config'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token function">parse_ini_file</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'test.ini'</span><span class="token punctuation">,</span> <span class="token constant boolean">true</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token variable">$config</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'foo'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'bar'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"\n"</span><span class="token punctuation">;</span>
<span class="token function">globalTest</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">function</span> <span class="token function-definition function">globalTest</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">echo</span> <span class="token string double-quoted-string">"In Funktion: "</span><span class="token punctuation">,</span> <span class="token variable">$GLOBALS</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'config'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'bar'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'test'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"\n"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
</span></code></pre>
<p>Variante:</p>
<pre><code class="block language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span>
<span class="token variable">$GLOBALS</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'config'</span><span class="token punctuation">]</span> <span class="token operator">=</span> <span class="token function">parse_ini_file</span><span class="token punctuation">(</span><span class="token string single-quoted-string">'test.ini'</span><span class="token punctuation">,</span> <span class="token constant boolean">false</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">echo</span> <span class="token variable">$config</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'bar'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"\n"</span><span class="token punctuation">;</span>
<span class="token function">globalTest</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">function</span> <span class="token function-definition function">globalTest</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword">echo</span> <span class="token string double-quoted-string">"In Funktion: "</span><span class="token punctuation">,</span> <span class="token variable">$GLOBALS</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'config'</span><span class="token punctuation">]</span><span class="token punctuation">[</span><span class="token string single-quoted-string">'test'</span><span class="token punctuation">]</span><span class="token punctuation">,</span> <span class="token string double-quoted-string">"\n"</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span>
</span></code></pre>
<p>Die test.ini</p>
<pre><code class="block language-ini"><span class="token section"><span class="token punctuation">[</span><span class="token section-name selector">foo</span><span class="token punctuation">]</span></span>
<span class="token key attr-name">bar</span> <span class="token punctuation">=</span> <span class="token value attr-value">"<span class="token inner-value">Nicht Barfuß</span>"</span>
<span class="token comment">;weitere Einträge ...</span>
<span class="token section"><span class="token punctuation">[</span><span class="token section-name selector">bar</span><span class="token punctuation">]</span></span>
<span class="token key attr-name">test</span> <span class="token punctuation">=</span> <span class="token value attr-value">"<span class="token inner-value">Funktioniert!</span>"</span>
<span class="token comment">;weitere Einträge ...</span>
</code></pre>
<p>Jörg Reinholz</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660821#m1660821MB2016-02-12T18:39:38Z2016-02-12T18:39:38ZConfiguration Auslagern<p>Hallo pl,</p>
<blockquote>
<p>Richtig, überlege dir eine bestimmte Datenstruktur für deine Konfiguration, denn du willst ja wahlfreien Zugriff un gelegentlich auch mal einen Dump im Browser ausgeben (zum prüfen ob die Konfiguration stimmt). Also Array oder associative Array und guck dass du das nicht mehr als nötig tief verschachteln tust.</p>
</blockquote>
<p>Gut. Mein Progrämmche ist mitlerweile ein wenig komplexer geworden, daher ist es gut das du das aufgezeigt hast. Wäre da mit <strong>fopen()</strong> ran gegangen wenn du nicht eingeleenkt hättest ;-).</p>
<blockquote>
<p>Hast du die Datenstruktur (so flach wie möglich, so tief wie nötig) gefunden, guckst Du nach einer geeigneten Verpackung. Beispielsweise hast du eine Datenstruktur nach dem Schema Entity => { Attribute => Value } eine Solche passt sehr gut in eine ini-Datei:</p>
</blockquote>
<p>Besten Dank, für die Richtung der Vorgehensweise.</p>
<p>MB</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660823#m1660823Der Martin2016-02-12T20:24:57Z2016-02-12T20:24:57ZConfiguration Auslagern<p>Hallo,</p>
<p>ich bin mir nicht sicher, ob du gerade noch den Überblick hast.</p>
<blockquote>
<blockquote>
<p>Richtig, überlege dir eine bestimmte Datenstruktur für deine Konfiguration, denn du willst ja wahlfreien Zugriff un gelegentlich auch mal einen Dump im Browser ausgeben (zum prüfen ob die Konfiguration stimmt). Also Array oder associative Array und guck dass du das nicht mehr als nötig tief verschachteln tust.</p>
</blockquote>
<p>Gut. Mein Progrämmche ist mitlerweile ein wenig komplexer geworden, daher ist es gut das du das aufgezeigt hast. Wäre da mit <strong>fopen()</strong> ran gegangen wenn du nicht eingeleenkt hättest ;-).</p>
</blockquote>
<p>Vergiss bitte nicht, dass die Form, in der Konfigurationsdaten gespeichert werden (ini-Datei, PHP-Include, Datenbank, Binärdateien) und die Form, in der die Daten im Script vorliegen (Arrays, Objekte, einzelne Variablen mit gemeinsamen Namens-Präfixen) zwei völlig getrennte Aspekte sind. Mich beschleicht der Verdacht, dass du das gerade eifrig vermischt hast.</p>
<p>So long,<br>
Martin
So long,<br>
Martin</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660861#m1660861MB2016-02-13T15:17:01Z2016-02-13T15:17:01ZConfiguration Auslagern<p>Hllo Martin,</p>
<blockquote>
<p>Vergiss bitte nicht, dass die Form, in der Konfigurationsdaten gespeichert werden (ini-Datei, PHP-Include, Datenbank, Binärdateien) und die Form, in der die Daten im Script vorliegen (Arrays, Objekte, einzelne Variablen mit gemeinsamen Namens-Präfixen) zwei völlig getrennte Aspekte sind. Mich beschleicht der Verdacht, dass du das gerade eifrig vermischt hast.</p>
</blockquote>
<p>Gut das du das ansprichst obwohl ich dich nicht so richtig verstanden habe. Hab da mal ne Frage: Worin bitte liegt der unterschied zwischen Sequentieller- wahlfreier- und Binärer Zugriff? Ich hab das mal gelesen aber nicht so ganz verstanden. Wer erzeugt Dateien die man nur mit den der genannten lesen und schreiben kann?</p>
<p>Herzlichste Grüße MB</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660883#m1660883Jörg Reinholzhttp://www.fastix.org2016-02-13T19:40:32Z2016-02-13T19:49:07ZConfiguration Auslagern<p>Moin!</p>
<blockquote>
<p>Sequentieller- wahlfreier- und Binärer Zugriff?</p>
</blockquote>
<p>Stell Dir ein SEHR dickes Buch vor.</p>
<p><strong>Sequentieller Zugriff:</strong></p>
<p>Du musst den ganzen Mist lesen, bis Du zu Kapitel 913 auf Seite 10425 kommst.</p>
<p><strong>Wahlfreier Zugriff:</strong></p>
<p>Du schaust im Inhaltsverzeichnis nach, dass Kapitel 913 auf Seite 10425 beginnt und gehst direkt dahin. Das Inhaltsverzeichnis ist aber auch SEHR lang.</p>
<p><strong>"Binärer" Zugriff:</strong></p>
<p>Inhaltsverzeichnis verweist auf Seite 1 unter "Kapitel 900-999" auf Seite 10.
Auf Seite 10 findest Du den Hinweis, dass die Kapitel "910 bis 929" auf Seite 110 gelistet sind.
Auf Seite 110 findest Du heraus, dass das Kapitel 913 auf Seite 10425 beginnt und gehst direkt dahin.</p>
<p>Beim "Binären Zugriff" hast du zwar 4 Seiten aufschlagen aber nur 15 (10+3+2) Verzeichnisseinträge lesen müssen.</p>
<p>Und jetzt stell Dir das mit Datenblöcken vor und kombiniere das mit der Lösung des <a href="http://www.onlinemathe.de/forum/Waegeproblem-minimale-Schrittanzahl-im-Baum" rel="nofollow noopener noreferrer">Wägeproblems</a>.</p>
<p>Jörg Reinholz</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660886#m1660886MB2016-02-13T19:50:51Z2016-02-13T19:50:51ZConfiguration Auslagern<p>Hallo Jörg,</p>
<p>Jetzt habe ich es verstanden durch die bildlich beschreibende Erklärung. Besten Dank.</p>
<p>Grüße MB</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660975#m1660975Christian Krusehttps://wwwtech.de/about2016-02-15T08:38:36Z2016-02-15T08:38:36ZConfiguration Auslagern<p>Hallo Jörg,</p>
<blockquote>
<blockquote>
<p>Sequentieller- wahlfreier- und Binärer Zugriff?</p>
</blockquote>
<p>Stell Dir ein SEHR dickes Buch vor.</p>
<p><strong>Sequentieller Zugriff:</strong></p>
<p>Du musst den ganzen Mist lesen, bis Du zu Kapitel 913 auf Seite 10425 kommst.</p>
<p><strong>Wahlfreier Zugriff:</strong></p>
<p>Du schaust im Inhaltsverzeichnis nach, dass Kapitel 913 auf Seite 10425 beginnt und gehst direkt dahin. Das Inhaltsverzeichnis ist aber auch SEHR lang.</p>
<p><strong>"Binärer" Zugriff:</strong></p>
<p>Inhaltsverzeichnis verweist auf Seite 1 unter "Kapitel 900-999" auf Seite 10.
Auf Seite 10 findest Du den Hinweis, dass die Kapitel "910 bis 929" auf Seite 110 gelistet sind.
Auf Seite 110 findest Du heraus, dass das Kapitel 913 auf Seite 10425 beginnt und gehst direkt dahin.</p>
</blockquote>
<p>Vorsicht. Dieser Vergleich erweckt den Eindruck, dass es immer schneller ist random auf eine Datei zuzugreifen („binärer“ Zugriff ist auch nur eine Art des Random Access). Das ist nicht der Fall. Je nach Datenmenge kann es <strong>bedeutend</strong> schneller sein, die ganze Datei zu lesen. Datenbanken haben eigens dafür Heuristiken entwickelt; die Abwägung ist viel komplizierter als sie scheinen mag.</p>
<p>LG,<br>
CK</p>
<div class="signature">-- <br>
<a href="https://wwwtech.de/about" rel="noopener noreferrer">https://wwwtech.de/about</a>
</div>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660889#m1660889Jörg Reinholzhttp://www.fastix.org2016-02-13T20:05:32Z2016-02-13T20:05:32ZConfiguration Auslagern<p>Moin!</p>
<p>Danke für den Dank. Ich lebe davon erwachsenen Neueinsteigern (oder Fachgebietsumsteigern) IT-Themen zu "erklären", übe das hier sozusagen selbst und teste hier also auch meine "Kernsätze" gegen die "Wissen wollenden" und Experten. In dieser Situation ist Feedback für mich sehr wichtig.</p>
<p>Jörg Reinholz</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660890#m1660890MB2016-02-13T20:34:39Z2016-02-13T20:34:39ZConfiguration Auslagern<p>Hallo Jörg,</p>
<blockquote>
<p>Danke für den Dank. Ich lebe davon erwachsenen Neueinsteigern (oder Fachgebietsumsteigern) IT-Themen zu "erklären", übe das hier sozusagen selbst und teste hier also auch meine "Kernsätze" gegen die "Wissen wollenden" und Experten. In dieser Situation ist Feedback für mich sehr wichtig.</p>
</blockquote>
<p>gern. Du hast es ja auch sehr bildhaft und gut erklärt. nochmals vielen Dank.</p>
<p>MB</p>
https://forum.selfhtml.org/self/2016/feb/12/configuration-auslagern/1660993#m1660993Jörg Reinholzhttp://www.fastix.org2016-02-15T11:30:23Z2016-02-15T11:35:27ZConfiguration Auslagern<p>Moin!</p>
<blockquote>
<blockquote>
<ul>
<li>Stell Dir ein SEHR dickes Buch vor.</li>
<li>Das Inhaltsverzeichnis ist aber auch SEHR lang.</li>
</ul>
</blockquote>
</blockquote>
<blockquote>
<p>Je nach Datenmenge kann es <strong>bedeutend</strong> schneller sein, die ganze Datei zu lesen.</p>
</blockquote>
<p>Ja, klar. Deshalb hatte ich bei den Items auch stark betont auf die große Datenmenge und den großen Index ("Inhaltsverzeichnis") verwiesen.</p>
<p>Jörg Reinholz</p>