TAB nativo MapInfo

TAB nativo es el más común de los formatos de TAB. El archivo TAB nativo extendido (NativeX) es igual que el TAB nativo, excepto en cuanto a que es compatible con archivos muy grandes (más de 2 GB) y varios idiomas. Ambas formas de TAB nativo muestran el mismo comportamiento.

Spectrum Spatial procesa los archivos TAB nativos como una fuente de datos de lectura y escritura; no obstante, las operaciones de inserción, actualización y eliminación solo se aplican a los sistemas operativos Windows y a los sistemas que no están en clúster.

Tipos de datos

Spectrum Spatial admite tipos de geometría en archivos TAB nativos: Point, MultiPoint, Linestring, MultiLineString, Polygon, MultiPolygon y MultiFeatureGeometry. Las siguientes son asignaciones de tipos de datos TAB a equivalentes de Spectrum Spatial.

Tipo de datos TAB Tipo de datos de Spectrum Spatial
OBJ Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection.

Se admiten el rectángulo, el rectángulo redondeado, el elipse, el arco y el objeto de texto como estructuras de solo representación.

integer Integer
smallint Breve
float Double
decimal Double
char Cadena
largeint Long
integer64 Long
fecha Fecha
hora Hora
fecha y hora Date_Time
lógico Boolean

Clave principal

TAB nativo tiene una clave principal implicada que es la ID de fila. Esta columna no aparece en los datos, similar a ROWNUM en Oracle.

Soporte para insertar, actualizar y eliminar

Las operaciones de inserción, actualización y eliminación son compatibles con un proveedor de fuente de datos TAB nativos, pero presentan las siguientes limitaciones:

  • Una configuración está disponible en Spatial Manager cuando se crean y editan tablas con nombre asignado para permitir la activación o desactivación del atributo de solo lectura en los archivos TAB que califican (nativos y NativeX en Windows) para los que el usuario tiene los permisos adecuados. Sin embargo, lo anterior no toma en consideración si los metadatos del archivo TAB tienen una bandera de solo lectura o si tienen permisos de solo lectura en el sistema de archivos.
  • Estas operaciones se admiten solamente en una instancia única de instalación de Spectrum™ Technology Platform. Además, los entornos en clúster no las admiten, ya que se crearían múltiples copias del archivo (en cada nodo, lo que haría que los archivos se volvieran inconsistentes) o se utilizaría un recurso compartido de archivos. Para obtener rendimiento y escalabilidad en un entorno en clúster, se deben utilizar fuentes de datos basadas en RDBMS, como Oracle, servidor SQL o PostGIS, para la escritura. Los archivos TAB nativos y NativeX no están diseñados para ser utilizados del mismo modo que las bases de datos.
  • Estas operaciones se admiten solo si el archivo TAB se encuentra en la instancia de Spectrum™ Technology Platform. No se admitirán si el archivo TAB está ubicado en un recurso compartido de red. Lo anterior se debe al rendimiento y a la inestabilidad que presenta el acceso de escritura en los recursos compartidos de archivos para aquellos de tipo TAB.
  • No se recomienda leer desde un archivo TAB a través de las etapas Read Spatial Data o Query Spatial Data y realizar una actualización o eliminación en el mismo archivo TAB con la etapa Write Spatial Data en el mismo flujo, ya que en algunos casos esto crea una situación de interbloqueo (en la que la operación de lectura bloquea el archivo y evita que se realice la operación de escritura). Esto se podrá realizar solo si el intervalo de confirmación es mayor que la cantidad de registros que realizan la lectura desde el mismo TAB. Además, si hay una operación de inserción, actualización o eliminación de larga ejecución en un flujo de datos y hay operaciones de lectura de un servicio para el mismo archivo TAB (por ejemplo, proveniente de los servicios Mapping, Feature o Map Tiling), entonces es posible que no se realicen algunas solicitudes de lectura, ya que el archivo TAB podría estar bloqueado.
  • Cuando se utiliza el Servicio Feature para las operaciones de escritura de archivos TAB nativos, todas las solicitudes de lectura de dicho archivo se pondrán en espera hasta que se complete la operación de escritura. Se puede ejecutar más de una solicitud de lectura del mismo archivo TAB a la vez; asimismo, una solicitud de escritura se pondrá en espera hasta que se completen todas las solicitudes de lectura de un archivo TAB.
  • No se permitirá el acceso de escritura de varios procesos a un archivo TAB nativo (por ejemplo, no se puede producir la escritura de un archivo TAB si otra herramienta, como MapInfo Pro, también está intentando leerlo). No se realizará la operación de escritura y el archivo TAB se volverá inconsistente o corrupto.

Optimizaciones de MI SQL

El proveedor de origen de datos del TAB nativo contiene optimizaciones para estas construcciones MI SQL:

Para obtener más información, consulte el apéndice Delegación a proveedores de fuente de datos.

Volatilidad de la fuente de datos

La volatilidad de una fuente de datos TAB nativo es cualquier modificación en el esquema o los registros de la tabla, demostrada por un cambio en la marca de fecha y hora. Cuando la volatilidad está habilitada (verdadero), el proveedor de la fuente de datos colocará en la memoria caché información sobre un grupo de archivos TAB específico. Compara las marcas de fecha y hora de la información en la memoria caché con la marca de fecha y hora de los archivos a los que se accede. Si son diferentes, la información se limpia de la memoria caché y se vuelve a cargar.

Se comprueba la volatilidad de los siguientes archivos TAB nativos: .TAB, .DAT, .MAP.

Se permiten operaciones de inserción, actualización y eliminación en archivos TAB nativos volátiles y no volátiles. Cuando se habilita un archivo TAB para la escritura, se recomienda activar la volatilidad.

Consulte Volatilidad de la fuente de datos para obtener más información.

Grupo de controles de archivo

Si los archivos TAB nativos no se cambian con frecuencia, ajuste la volatilidad en falso y aproveche el grupo de control de archivos que reduce al mínimo la apertura y el cierre de archivos durante las operaciones. Esto solo está disponible para archivos TAB nativos e integrados no volátiles y shapefiles. En el caso de las tablas no volátiles, se liberarán los controles de archivo del grupo antes de realizar cualquier operación de inserción, actualización o eliminación.

El grupo de controles de archivo está activado de manera predeterminada. La configuración del grupo de controles de archivo se realiza a través del archivo tab-file-handle-pool.properties, ubicado en la carpeta \server\modules\spatial. Entre las propiedades están el número máximo de controles que se pueden asignar al grupo (maxTotal), el número máximo de controles asignados por archivo (maxTotalPerKey) y la duración mínima de tiempo en que un control de archivo puede estar en el grupo sin utilizar antes de que se cierre (minEvictableIdleTimeMillis). Las estadísticas de la memoria caché de control de archivos para TAB nativo se pueden visualizar en la consola JMX (para obtener más información, consulte Supervisión de las estadísticas en caché de los identificadores de archivos con la consola JMX, en la sección Administración de la guía de Spectrum Spatial).

Para desactivar el grupo de controles de archivo, abra el archivo \server\modules\spatial\pool-tab.properties y establezca tab.cache.enabled como falso. Debe reiniciar el servidor para que tenga efecto la configuración. Por otra parte, puede usar la consola JMX para desactivar el grupo de control de archivo sin reiniciar el servidor y así limpiar la caché de control de archivo.