<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
span.E-MailFormatvorlage18
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.E-MailFormatvorlage19
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:774790101;
mso-list-type:hybrid;
mso-list-template-ids:1749157880 -1616356028 67567619 67567621 67567617 67567619 67567621 67567617 67567619 67567621;}
@list l0:level1
{mso-level-start-at:0;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="DE" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Hallo,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">die PostgreSQL/PostGIS-DB ist bei der Hardware eigentlich sehr bescheiden.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Vor 1 ½ Jahren haben wir unsere GDI komplett umgebaut. Der Datenbankserver läuft seitdem als eigene „Virtuelle Maschine“ mit Debian GNU Linux.
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Er hat 2 GB Speicher und 2 (virtuelle) Prozessoren. Das reicht für das Web-GIS im internen Gebrauch in 14 Städten und Gemeinden.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Der Plattenspeicher liegt auf einem zentralen Storage.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Davor hatten wir 7 Jahre lang die komplette GDI für die 14 Städte auf einer einzigen „physischen“ Maschine. Das war noch ein 32-Bit-System.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Darauf liefen alle Komponenten der GDI gemeinsam: Datenbank, Services (WMS: Mapserver, WFS: GeoServer), Client (Mapbender), CMS-Portal (CMSimple) und PHP-Scripte für Auskunft.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Als Platten wurde ein SCSI-RAID verwendet.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Die Leistung war immer noch ausreichend. Wir haben das ausgewechselt, weil die Hardware nicht mehr in der Wartung war.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Fazit: Keine besonderen Ansprüche an die Hardware.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">> </span>vor allem beim Skript „pp_laden.sql“
<span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Das ist auch hier ein Engpass. Bei der monatlichen Verarbeitung der Differenzdaten der Städte braucht die Nachverarbeitung (SQL) deutlich mehr Zeit als die eigentliche Konvertierung (PostNAS).
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Sie sollten mal schauen, ob sie alle dort ausgeführten Schritte tatsächlich benötigen.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Die im Script aufbereiteten Tabellen werden im WMS, in der Buchauskunft und in der Mapbender-Navigation verwendet.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Wenn sie nicht alle diese Komponenten verwenden sondern z.B. die Norbit-QGIS-Version, dann brauchen sie nur Teile des Scriptes.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Beispiel: Im ALKIS gibt es auf einer Flurstücksgrenze (Linie) die zusätzlichen Bedeutungen Flurgrenze, Gemarkungsgrenze, Gemeindegrenze.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Dies kann in den üblichen Maßstäben der Liegenschaftskarte (1:500 – 1:5000) zugeschaltet werden.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">In unserem WMS ist das die Layer-Gruppe „Grenzen“ (Darstellung Magenta, gestrichelt).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Es erschien mir aber nicht sinnvoll, diese Zusatzbedeutungen auch in einer Übersichtskarte bei 1:100.000 oder 1:50.000 schon darzustellen.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Die Grenze einer Gemeinde würde aus Tausenden von Linienstücken zusammen gesetzt.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Es fehlt in ALKIS aber so etwas wie ein „Flächenobjekt Gemarkung“, dass man als Übersicht verwenden kann.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Das Script „pp_laden.sql“ enthält den Versuch, solche Flächenobjekte in den Tabellen „pp_flur“, „pp_gemarkung“ und „pp_gemeinde“ zu bilden.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Dazu werden die Flurstücksflächen schrittweise zu Flur-, dann zu Gemarkungs- und schließlich zur Gemeindefläche zusammen gefasst und im Hinblick die Nutzung als „Übersichtskarte für kleine Maßstäbe“ geometrisch
vereinfacht (st_simplify).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Dieses Script läuft nicht ganz fehlerfrei. Manchmal treten Geometriefehler auf.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Unschön dabei ist auch, dass mitgelieferte „Randstreifen“ um das eigentliche Auswertungsgebiet zu unvollständigen Gebieten zusammen gesetzt werden.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">In unserer Demo-Anwendung <a href="http://map.krz.de/alkis/mapbender.php">
http://map.krz.de/alkis/mapbender.php</a></span><span style="color:black"> ist das die Layer-Gruppe „Gebiete“ (Darstellung grün) , die aus diesen Tabellen gefüttert wird. Das ist etwas redundant zu der Layer-Gruppe „Grenzen“, ist aber eben für einen anderen
Maßstabsbereich optimiert.</span><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Wenn sie auf die „Übersicht Flur/Gemarkung/Gemeinde“ der Gruppe „Gebiete“ im Kartendienst verzichten können, dann können sie einige Teile des SQL-Skriptes deaktivieren und haben dann einige Laufzeit eingespart.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Die Tabellen pp_flur, pp_gemarkung, pp_gemeinde werden allerdings auch in der Mapbender-Navigation verwendet um die Hierarchie „Gemeinde -Gemarkung – Flur - Flurstück“ abzubilden. Die Tabellen sollten also nicht
komplett entfernt werden, nur die Geometrie darin kann leer bleiben.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Ein anderer Ansatz zur Optimierung:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Das Füllen der Tabelle „pp_flurstueck_nr“ im Script „pp_laden.sql“ hat in der alten Version (über „alkis_beziehungen“) für eine Stadt etwa 4 bis 18 Sek. gedauert. Nach der Umstellung auf Relationen-Spalten hat
sich dies vervielfacht.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Ich habe versucht, dies durch zerlegen in 3 Einzelschritte zu optimieren, das ist jedoch bisher nicht gelungen. Die alte Version ist als Kommentarblock noch sichtbar.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Der Schritt 2 von 3 ist kommentiert mit „-- Dies läuft sehr lange. Optimierbar?“.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Ich hatte noch nicht die Zeit, da mal tiefer einzusteigen, vielleicht fehlt nur ein Index.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">Es kann ja mal wer anderes drüber schauen und analysieren wo das Problem dabei liegt.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">MfG<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D">F. Jäger<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-language:DE">Von:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";mso-fareast-language:DE"> nas-bounces@lists.osgeo.org [mailto:nas-bounces@lists.osgeo.org]
<b>Im Auftrag von </b>GIS (Landratsamt)<br>
<b>Gesendet:</b> Montag, 17. November 2014 08:46<br>
<b>An:</b> nas@lists.osgeo.org<br>
<b>Betreff:</b> [PostNAS] Empfehlung Hardware<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hallo,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">unter welcher Hardwareumgebung läuft Eure Postnas- Datenbank.<o:p></o:p></p>
<p class="MsoNormal">Könntet Ihr mir ein paar Tipps geben:<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><![if !supportLists]><span style="mso-list:Ignore">-<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>Speicher<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo2"><![if !supportLists]><span style="mso-list:Ignore">-<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>Prozessor<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Ich merke die Auslastung vor allem beim Skript „pp_laden.sql“, dass ich nach dem Datenimport ausführe.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Vielen Dank für Eure Hilfe.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:"Arial","sans-serif";mso-fareast-language:DE">Mit freundlichen Gruessen<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:"Arial","sans-serif";mso-fareast-language:DE">Wolfgang Escherl<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</body>
</html>