MapInfo Native TAB

Native TAB ist das häufigste der TAB-Formate. Native Extended TAB (NativeX) ähnelt Native TAB, außer dass es sehr große Dateien (> 2 GB) und mehrere Sprachen unterstützt. Beide Formate von Native TAB zeigen dasselbe Verhalten.

Spectrum Spatial behandelt Native TAB als les- und beschreibbare Datenquelle. Einfüge-, Aktualisierungs- und Löschvorgänge sind allerdings nur auf Windows-Betriebssystemen und in nicht geclusterten Systemen ausführbar.

Datentypen

Spectrum Spatial unterstützt Geometrietypen in Native TAB-Dateien: Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon und MultiFeatureGeometry. Im Folgenden finden Sie die Zuweisungen von TAB-Datentypen zu Äquivalenten in Spectrum Spatial.

TAB-Datentyp Spectrum Spatial-Datentyp
OBJ Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection.

Rechteck, abgerundetes Rechteck, Ellipse, Bogen und Textobjekte werden nur als gerenderte Konstrukte unterstützt.

integer Ganze Zahl
smallint Kurz
float Double
decimal Double
char Zeichenfolge
largeint Lang
integer64 Lang
date Date
time Zeit
datetime Date_Time
logical Boolean

Primärschlüssel

Native TAB verfügt mit der Zeilen-ID über einen implizierten Primärschlüssel. Diese Spalte erscheint nicht in den Daten, ähnlich wie bei der ROWNUM in Oracle.

Unterstützung von Einfügen, Aktualisieren und Löschen

Bei einem Native TAB-Datenquellenanbieter werden Einfüge-, Aktualisierungs- und Löschvorgänge unter folgenden Einschränkungen unterstützt:

  • In Spatial Manager ist eine Einstellung verfügbar, mit der Sie das Attribut für schreibgeschützt bei qualifizierten TAB-Dateien (Native und NativeX in Windows) beim Erstellen und Bearbeiten von benannten Tabellen aktivieren oder deaktivieren können. Hierbei wird jedoch nicht berücksichtigt, ob in den Metadaten der TAB-Datei eine Kennzeichnung für schreibgeschützt vorhanden ist oder die Datei im Dateisystem schreibgeschützt ist.
  • Diese Vorgänge werden nur auf einer einzelnen Instanz einer Spectrum™ Technology Platform-Installation unterstützt. Sie werden außerdem auch nicht in einer geclusterten Umgebung unterstützt, da dort mehrere Kopien der Datei vorhanden wären (auf jedem Knoten, was zu inkonsistenten Dateien führen würde) oder eine Dateifreigabe verwendet wird. Aus Gründen der Leistung und der Skalierbarkeit sollten in einer geclusterten Umgebung zum Schreiben RDBMS-basierte Datenquellen wie SQL Server, PostGIS oder Oracle verwendet werden. Native and NativeX TAB-Dateien sind nicht für eine Verwendung ähnlich der einer Datenbank vorgesehen.
  • Diese Vorgänge werden nur unterstützt, wenn die TAB-Datei sich lokal in der Spectrum™ Technology Platform-Instanz befindet. Sie werden nicht unterstützt, wenn sich die TAB-Datei auf einer Netzwerkfreigabe befindet. Der Grund dafür ist die Leistung und die Unzuverlässigkeit von Schreibzugriffen auf TAB-Dateien über Dateifreigaben.
  • Es wird nicht empfohlen, TAB-Dateien mithilfe des „Read Spatial Data“- oder des „Query Spatial Data“-Schritts auszulesen und im selben Fluss dieselbe TAB-Datei über den „Write Spatial Data“-Schritt zu aktualisieren oder Datensätze daraus zu löschen, da dies in einigen Fällen zu einer Systemblockade führen kann (wobei der Lesevorgang die Datei sperrt und den Schreibvorgang verhindert). Dies funktioniert nur, wenn der Übergabeintervall größer ist als die Anzahl der Datensätze, die aus derselben TAB-Datei gelesen werden. Auch, wenn im Datenfluss lang laufende Einfüge-, Aktualisierungs- oder Löschvorgänge enthalten sind und ein Dienst Lesevorgänge mit derselben TAB-Datei durchführt (beispielsweise der Mapping-, Feature- oder Map Tiling-Dienst), könnten einige Lesevorgänge fehlschlagen, da die TAB-Datei gesperrt sein könnten.
  • Wenn Sie den Feature-Dienst für Schreibvorgänge mit Native TAB-Dateien verwenden, gelangen alle Leseanforderungen für diese Datei in eine Warteschlange, bis der Schreibvorgang abgeschlossen ist. Mehrere Leseanforderungen können mit derselben TAB-Datei gleichzeitig ausgeführt werden. Eine Schreibanforderung wird pausiert, bis alle Leseanforderungen an eine TAB-Datei abgeschlossen sind.
  • Mehrprozessiger Schreibzugriff auf eine Native TAB-Datei ist nicht zulässig. (Beispielsweise kann in einer TAB-Datei nicht geschrieben werden, wenn ein anderes Tool wie MapInfo Pro gleichzeitig versucht, sie zu lesen.) Der Schreibvorgang erzeugt Fehler, und die TAB-Datei wird inkonsistent oder beschädigt.

MI SQL-Optimierungen

Der Native TAB-Datenquellenanbieter enthält Optimierungen für diese MI SQL-Konstrukte:

Weitere Informationen finden Sie im Anhang Delegierung an Datenquellenanbieter.

Volatilität von Datenquellen

Volatilität bedeutet bei einer Native TAB-Datenquelle jede Änderung am Schema oder den Datensätzen der Tabelle, die durch eine Änderung des Zeitstempels belegt wird. Wenn Volatilität aktiviert ist (wahr), speichert der Datenquellenanbieter die Informationen über eine spezifische Gruppe von TAB-Dateien zwischen. Er vergleicht die Zeitstempel der zwischengespeicherten Informationen mit dem Zeitstempel der Datei, auf die zugegriffen wird. Wenn sich diese unterscheiden, werden die Informationen aus dem Cache entfernt und neu geladen.

Die folgenden Native TAB-Dateien werden auf Volatilität hin überprüft: .TAB, .DAT, .MAP.

Einfüge-, Aktualisierungs- und Löschvorgänge sind für volatile und nicht volatile Native TAB-Dateien zulässig. Wenn Sie bei einer TAB-Datei den Schreibzugriff aktivieren, empfiehlt es sich, auch Volatilität zu aktivieren.

Weitere Informationen finden Sie unter Volatilität von Datenquellen.

Datei-Handle-Pool

Wenn sich Ihre Native TAB-Dateien nur selten ändern, legen Sie die Volatilität auf „falsch“ fest und profitieren Sie von einem Datei-Handle-Pool, der das Öffnen und Schließen der Dateien im Verlauf von Vorgängen minimiert. Der Pool ist nur für nicht volatile native und nahtlose TAB- und Shape-Dateien verfügbar. Bei nicht volatilen Dateien werden Datei-Handles aus dem Pool entfernt, bevor Einfüge-, Aktualisierungs- oder Löschvorgänge durchgeführt werden.

Der Datei-Handle-Pool ist standardmäßig aktiviert. Sie können den Datei-Handle-Pool über die Datei „tab-file-handle-pool.properties“ im Ordner \server\modules\spatial konfigurieren. Zu den Eigenschaften gehören die maximale Anzahl an Handles, die dem Pool zugewiesen werden können (maxTotal), die maximale Anzahl von zugewiesenen Handles pro Datei (maxTotalPerKey) und die minimale Zeitspanne, die sich ein Datei-Handle ungenutzt im Pool befinden kann, bevor er geschlossen wird (minEvictableIdleTimeMillis). Sie können Statistiken zum Datei-Handle-Cache für Native TAB in der JMX-Konsole abrufen. (Weitere Informationen finden Sie unter Überwachen der Statistik zum Caching von Datei-Handles über die JMX-Konsole im Abschnitt „Administration“ im Spectrum Spatial-Handbuch.)

Öffnen Sie die Datei \server\modules\spatial\pool-tab.properties und setzen Sie tab.cache.enabled auf „falsch“, um den Datei-Handle-Pool zu deaktivieren. Sie müssen den Server neu starten, damit die Einstellung wirksam wird. Alternativ können Sie die JMX-Konsole verwenden, um den Datei-Handle-Pool zu deaktivieren, ohne den Server neu zu starten und den Datei-Handle-Cache zu löschen.