SlideShare a Scribd company logo
1 of 8
7 Índices
espaciales
OBJETIVOS
•Explicar el concepto de indexación espacial.
•Generar un árbol R índice espacial.
•Estimar el tamaño de un índice R-tree.
Oracle Spatial utiliza un índice espacial para optimizar el rendimiento de las consultas
espaciales, de la misma manera que se crea un índice en los datos escalares para
mejorar el la obtención de información.
Oracle Spatial utiliza índices de árbol R para un acceso eficiente a los datos. Los índices
espaciales se pueden construir en dos, tres o cuatro dimensiones; siendo el de default el
de dos dimensiones.
Un índice espacial puede ayudar a encontrar:
•Objetos dentro de un espacio de datos indexado, mismos que interactúan con un punto o
área de interés (ventana de consulta)
•Pares de objetos que interactúan unos con otros (spatial join).
1 INDEXANDO DATOS ESPACIALES
2 INDEXADO CON ÁRBOLES R
El indexado con árboles R está basado en el MBR (minimum bounding rectangles ) para
el caso de dos dimensiones, mientras que para tres dimensiones se utiliza el MBV
(minimum bounding volumes ).
La indexación utilizando árboles R es usada como técnica debido a que prácticamente
no requieren de que se realice de manera continua un tunning (optimizacion).
Cada entrada al índice aproxima una geometría utilizando MBR para 2D y MBV para 3D.
MBRs y MBVs son indexados internamente utilizando una estructura de árbol.
Cada nodo hoja del índice árbol R almacena un MBR y un puntero a la geometría
original.
3 ¿CÓMO SON INDEXADAS LAS GEOMETRÍAS
EMPLEANDO ÁRBOLES R?
Cuando un índice de árbol R se genera, un rectángulo mínimo (MBR) es construido
alrededor de cada geometría. En la figura de arriba, hay nueve rectángulos mínimo de
delimitación, una para cada geometría. En el nivel más bajo de un índice árbol R, hay
un puntero hacia la geometría real (para el identificador de la geometría) y el MBR
asociado a esa geometría. Índices árbol R tienen una entrada de índice (o nodo de la
hoja) para cada geometría.
Después de que el MBR se construye alrededor de cada geometría, las aproximaciones
se agrupan de manera que las geometrías que están cercanas unas a otras
En el nivel más bajo (o nivel hoja) del árbol-R, A, B, C y D contienen MBR para cada una
de las geometrías, así como enlaces o apuntadores a cada una de estas geometrías.
A continuación, A, B, C y D se agrupan en función de su proximidad. En este caso, A y B
se agrupan en R, mientras que y C y D se agrupan en S.
El nivel superior (o raíz) de los índices de árbol R, contiene enlaces a R y S, así como a
los rectángulos de delimitación mínimas asociados con esos dos nodos.
Nota: la estructura de árbol R está optimizado para el acceso a elementos que están
cerca unos de otros.
El número de ramas de un árbol R se calcula automáticamente basado en el tamaño de
bloque de base de datos utilizado para la instancia, así como el número de dimensiones
que se indexan.
4 SINTAXIS “CREATE INDEX”
CREATE INDEX <index-name>
ON <table-name> (<column-name>)
INDEXTYPE IS MDSYS.SPATIAL_INDEX
[PARAMETERS (
'SDO_RTR_PCTFREE = <param_value>
<storage_parameters> = <param_value> ... ')
] [PARALLEL [<parallel_degree>]];
La instrucción CREATE INDEX es exactamente la misma que cualquier otra instrucción
CREATE INDEX Oracle, con algunas opciones adicionales.
<INDEX-NAME>: Nombre del índice. Se deben de respetar la serie dec onvenciones de
nomenclatura en el nombre de índices. La longitud del nombre debe ser 30 caracteres o
menos, y el nombre del índice debe comenzar con un carácter alfabético.
<TABLE-NAME>: Nombre de la tabla que contiene la columna espacial que será indexada.
La columna espacial es del tipo SDO_GEOMETRY.
<COLUMN-NAME>: El nombre de la columna del tipo de SDO_GEOMETRY que se va a
indexar espacialmente.
CREATE INDEX geod_states_sidx
ON geod_states (geom)
INDEXTYPE IS mdsys.spatial_index;
Cuando un índice árbol R se construye, una tabla de
Oracle se crea. Esto también se conoce como la tabla
de índice espacial. La tabla de índice espacial es
visible para el usuario final, y se marca en las tablas
de metadatos de Oracle (USER_TABLES,
ALL_TABLES, DBA_TABLES) como secundaria = 'Y'.
El espacio de tablas para el índice espacial aparece
como NULL si se busca en user_indexes. Esto es
porque el nombre de índice espacial es sólo una
estructura lógica asociada con otra estructura física (la
tabla de índice espacial). Las tablas y los parámetros
de almacenamiento pueden ser especificadas en la
tabla de índice espacial asociada con el nombre de
índice espacial.
Nota: No actualizar, modificar o eliminar la tabla de
índice espacial. Al colocar el índice, éstas se
actualizan automáticamente.
<SDO_INDX_DIMS>:
Define el número de dimensiones en que se construye el índice.
Permite la indexación de más de dos dimensiones.
<SDO_RTR_PCTFREE>:
Es el porcentaje de ramas de los árboles R reservadas en cada nodo del índice
para dar cabida a futuras inserciones.
Acepta el 10 por ciento como valor predeterminado, es decir, 10 por ciento de las
ramas en el árbol, son reservadas cuando se crea el índice espacial.
<LAYER_GTYPE>:
Es la restricción de tipo de capa para todos los tipos de índice espacial.
Sólo permiten geometrías del tipo dado para que se indexe.
Se utiliza para el funcionamiento y control de tipo de geometría.
Los valores válidos son:
•POINT
•LINE o CURVE
•POLYGON
•MULTIPOINT
•MULTILINE or MULTICURVE
•MULTIPOLYGON
•COLLECTION
INITIAL:
Tamaño de la medida inicial de la tabla de índice espacial.
TABLESPACE:
Nombre del tablespace donde se aloja el índice.
WORK_TABLESPACE:
Nombre del tablespace donde las tablas de trabajo son creadas durante el proceso
de creación de índices árbol R.
Algunos parámetros de almacenamiento adicionales (no se usa con frecuencia):
NEXT:
Tamaño de la medida siguiente de la tabla de índice espacial
PCTINCREASE:
Porcentaje en que aumentará la medida utilizada anteriormente, cuando surge
la necesidad de crear una nueva dimensión.
MINEXTENTS:
Número mínimo de extensiones para crear la tabla de índice espacial.
MAXEXTENTS:
El número máximo de extensiones para crear la tabla de índice espacial.
<SDO_DML_BATCH_SIZE>:
Es un parámetro de ajuste a las actualizaciones de índice.
Acepta 1000 como el valor predeterminado, que está bien para la mayoría de las
cargas de trabajo
Puede poseer un valor más alto si se dispone de más memoria.
<SDO_NON_LEAF_TBL>:
Este parámetro permite que el índice de árboles R se divida en dos durante la
creación del índice.
PARALLEL [<parallel_degree>]
Esto rompe la labor de la creación del índice en trozos más pequeños que se
pueden realizar en paralelo. Si el grado de paralelismo no se especifica, Oracle
elige un valor por defecto en base a los algoritmos internos de Oracle, los cuales
se encuentran basados en el número de CPU s.
5 CREACIÓN DE UN ÍNDICE ESPACIAL EN PARALELO
Spatial
clustering
Spatial
clustering
Spatial
clustering
Spatial
clustering
MBR
MBR
generation
MBR
generation
MBR
generation
MBR
generation
Spatial
index
tables
CREATE INDEX
….
PARALLEL 4;
Si un recurso del sistema (CPU, memoria, E / S) ya está saturado, el paralelismo puede
afectar negativamente a ese recurso.
6 ANALIZANDO TABLAS ESPACIALES
exec dbms_stats.gather_table_stats
(<schema_name>,<table_name>)
La información es recopilada para el optimizador de Oracle. La información recogida
incluye el número de filas y de los índices, y demás información adicional.
No hay necesidad de recopilar estadísticas sobre las tablas índice espacial.
7 SINTAXIS “DROP INDEX”
Esto sentencia elimina el índice espacial y su correspondiente tabla de índice espacial.
Si CREATE INDEX en una columna de SDO_GEOMETRY no se llega a completar con
éxito, se debe de tratar de hacer un DROP INDEX. Si eso no funciona, se debe de llamar
a DROP INDEX mediante el uso de la opción FORCE.
DROP INDEX <index_name>;
DROP INDEX <index_name> FORCE;
8 SINTAXIS “ALTER INDEX REBUILD”
ALTER INDEX <index_name>
REBUILD
[PARAMETERS (<parameter string>)];
Esta sentencia vuelve a generar una tabla de índice espacial.
Los parámetros se pasan como una cadena entre comillas.
Por ejemplo, para cambiar la distribución espacial de tablas de índice de
tablespace:
'Tablespace = indx_tblspc'
'Work_tablespace = work_indx_tblspc'
9 VISTAS DEL DICCIONARIO DE DATOS
USER_SDO_INDEX_METADATA: Muestra todos los metadatos de índice
espacial para el usuario actual
ALL_SDO_INDEX_METADATA: Muestra todos los metadatos de índice espacial
que el usuario actual tiene el privilegio de SELECT .
Oracle Spatial mantiene automáticamente las visitas del diccionario de datos.
USER_SDO_INDEX_METADATA
Otras vistas que son útiles para extraer información de índices espaciales son:
USER_SDO_INDEX_INFO
ALL_SDO_INDEX_INFO
INDEX_NAME VARCHAR2(32)
TABLE_NAME VARCHAR2(32)
COLUMN_NAME VARCHAR2(2048)
SDO_INDEX_TYPE VARCHAR2(32)
SDO_INDEX_TABLE VARCHAR2(32)

More Related Content

What's hot

Método Burbuja y Búsqueda binaria (explicación)
Método Burbuja y Búsqueda binaria (explicación)Método Burbuja y Búsqueda binaria (explicación)
Método Burbuja y Búsqueda binaria (explicación)Jorge Samaniego
 
Sparse matrices
Sparse matricesSparse matrices
Sparse matricesZain Zafar
 
Sql joins inner join self join outer joins
Sql joins inner join self join outer joinsSql joins inner join self join outer joins
Sql joins inner join self join outer joinsDeepthi Rachumallu
 
Calculated Fields in Tableau
Calculated Fields in TableauCalculated Fields in Tableau
Calculated Fields in TableauKanika Nagpal
 
data structure
data structuredata structure
data structurehashim102
 
SQL Joins With Examples | Edureka
SQL Joins With Examples | EdurekaSQL Joins With Examples | Edureka
SQL Joins With Examples | EdurekaEdureka!
 
Data visualization using R
Data visualization using RData visualization using R
Data visualization using RUmmiya Mohammedi
 
QGIS를 활용한 공간분석 입문(1일 6시간)
QGIS를 활용한 공간분석 입문(1일 6시간)QGIS를 활용한 공간분석 입문(1일 6시간)
QGIS를 활용한 공간분석 입문(1일 6시간)Byeong-Hyeok Yu
 
데이터기반행정 추진 방향
데이터기반행정 추진 방향데이터기반행정 추진 방향
데이터기반행정 추진 방향Haklae Kim
 
Digitasi peta sig dasar
Digitasi peta sig dasarDigitasi peta sig dasar
Digitasi peta sig dasarTedi Eka
 
Arrays Data Structure
Arrays Data StructureArrays Data Structure
Arrays Data Structurestudent
 

What's hot (20)

Excel avanzado contar.si.conjunto
Excel avanzado contar.si.conjuntoExcel avanzado contar.si.conjunto
Excel avanzado contar.si.conjunto
 
Aggregate function
Aggregate functionAggregate function
Aggregate function
 
Método Burbuja y Búsqueda binaria (explicación)
Método Burbuja y Búsqueda binaria (explicación)Método Burbuja y Búsqueda binaria (explicación)
Método Burbuja y Búsqueda binaria (explicación)
 
Sparse matrices
Sparse matricesSparse matrices
Sparse matrices
 
Sql joins inner join self join outer joins
Sql joins inner join self join outer joinsSql joins inner join self join outer joins
Sql joins inner join self join outer joins
 
Calculated Fields in Tableau
Calculated Fields in TableauCalculated Fields in Tableau
Calculated Fields in Tableau
 
Link List
Link ListLink List
Link List
 
Quicksort
QuicksortQuicksort
Quicksort
 
data structure
data structuredata structure
data structure
 
GeoGebra 3
GeoGebra 3GeoGebra 3
GeoGebra 3
 
Application of Stacks
Application of StacksApplication of Stacks
Application of Stacks
 
SQL Joins With Examples | Edureka
SQL Joins With Examples | EdurekaSQL Joins With Examples | Edureka
SQL Joins With Examples | Edureka
 
Oracle Spatial
Oracle SpatialOracle Spatial
Oracle Spatial
 
Data visualization using R
Data visualization using RData visualization using R
Data visualization using R
 
Working with Callbacks
Working with CallbacksWorking with Callbacks
Working with Callbacks
 
QGIS를 활용한 공간분석 입문(1일 6시간)
QGIS를 활용한 공간분석 입문(1일 6시간)QGIS를 활용한 공간분석 입문(1일 6시간)
QGIS를 활용한 공간분석 입문(1일 6시간)
 
데이터기반행정 추진 방향
데이터기반행정 추진 방향데이터기반행정 추진 방향
데이터기반행정 추진 방향
 
Digitasi peta sig dasar
Digitasi peta sig dasarDigitasi peta sig dasar
Digitasi peta sig dasar
 
Arrays Data Structure
Arrays Data StructureArrays Data Structure
Arrays Data Structure
 
Tableau groups vs sets
Tableau groups vs setsTableau groups vs sets
Tableau groups vs sets
 

Viewers also liked

Oracle Spatial de la A a la Z - Unidad 5
Oracle Spatial de la A a la Z - Unidad 5Oracle Spatial de la A a la Z - Unidad 5
Oracle Spatial de la A a la Z - Unidad 5Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 9
Oracle Spatial de la A a la Z - Unidad 9Oracle Spatial de la A a la Z - Unidad 9
Oracle Spatial de la A a la Z - Unidad 9Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8Jorge Ulises
 
Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6Jorge Ulises
 
Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9Jorge Ulises
 
Oracle spatial de la A a la Z - INTRO
Oracle spatial de la A a la Z - INTROOracle spatial de la A a la Z - INTRO
Oracle spatial de la A a la Z - INTROJorge Ulises
 
Analisis geografico con oracle
Analisis geografico con oracleAnalisis geografico con oracle
Analisis geografico con oraclewalteromero
 
Manual completo-oracle-español-spanish-by-silex
Manual completo-oracle-español-spanish-by-silexManual completo-oracle-español-spanish-by-silex
Manual completo-oracle-español-spanish-by-silexAngel Lucas
 
Introdución a PostGis
Introdución a PostGisIntrodución a PostGis
Introdución a PostGisMarco Carranza
 
Intro To PostGIS
Intro To PostGISIntro To PostGIS
Intro To PostGISmleslie
 
Introducción a base de datos Oracle
Introducción a base de datos OracleIntroducción a base de datos Oracle
Introducción a base de datos Oraclepajaro5
 
Introducción a SQL sobre Oracle
Introducción a SQL sobre OracleIntroducción a SQL sobre Oracle
Introducción a SQL sobre OracleRaúl Galíndez
 

Viewers also liked (14)

Oracle Spatial de la A a la Z - Unidad 5
Oracle Spatial de la A a la Z - Unidad 5Oracle Spatial de la A a la Z - Unidad 5
Oracle Spatial de la A a la Z - Unidad 5
 
Oracle Spatial de la A a la Z - Unidad 9
Oracle Spatial de la A a la Z - Unidad 9Oracle Spatial de la A a la Z - Unidad 9
Oracle Spatial de la A a la Z - Unidad 9
 
Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8Oracle Spatial de la A a la Z - Unidad 8
Oracle Spatial de la A a la Z - Unidad 8
 
Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6Oracle Spatial de la A a la Z - Unidad 6
Oracle Spatial de la A a la Z - Unidad 6
 
Oracle Spatial de la A a la Z - JUGM 2010
Oracle Spatial de la A a la Z - JUGM 2010Oracle Spatial de la A a la Z - JUGM 2010
Oracle Spatial de la A a la Z - JUGM 2010
 
Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9Android de la A a la Z - Unidad 9
Android de la A a la Z - Unidad 9
 
Oracle spatial de la A a la Z - INTRO
Oracle spatial de la A a la Z - INTROOracle spatial de la A a la Z - INTRO
Oracle spatial de la A a la Z - INTRO
 
Analisis geografico con oracle
Analisis geografico con oracleAnalisis geografico con oracle
Analisis geografico con oracle
 
Manual completo-oracle-español-spanish-by-silex
Manual completo-oracle-español-spanish-by-silexManual completo-oracle-español-spanish-by-silex
Manual completo-oracle-español-spanish-by-silex
 
Introdución a PostGis
Introdución a PostGisIntrodución a PostGis
Introdución a PostGis
 
Intro To PostGIS
Intro To PostGISIntro To PostGIS
Intro To PostGIS
 
Introducción a base de datos Oracle
Introducción a base de datos OracleIntroducción a base de datos Oracle
Introducción a base de datos Oracle
 
Introducción a SQL sobre Oracle
Introducción a SQL sobre OracleIntroducción a SQL sobre Oracle
Introducción a SQL sobre Oracle
 
Base de Dato Oracle
Base de Dato OracleBase de Dato Oracle
Base de Dato Oracle
 

Similar to Oracle Spatial de la A a la Z - Unidad 7 (20)

Base de datos 11:02
Base de datos 11:02Base de datos 11:02
Base de datos 11:02
 
Base de Datos 11:02
Base de Datos 11:02Base de Datos 11:02
Base de Datos 11:02
 
Ppt0000007
Ppt0000007Ppt0000007
Ppt0000007
 
Base de datos multidimensional
Base de datos multidimensionalBase de datos multidimensional
Base de datos multidimensional
 
Presentacion Sql
Presentacion SqlPresentacion Sql
Presentacion Sql
 
Postgresql
PostgresqlPostgresql
Postgresql
 
Postgresql
PostgresqlPostgresql
Postgresql
 
Postgresql
PostgresqlPostgresql
Postgresql
 
Postgresql
PostgresqlPostgresql
Postgresql
 
INDICES EN SQL SERVER
INDICES EN SQL SERVERINDICES EN SQL SERVER
INDICES EN SQL SERVER
 
Trabajando con datos Compuestos
Trabajando con datos CompuestosTrabajando con datos Compuestos
Trabajando con datos Compuestos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Optimizaciones
Optimizaciones   Optimizaciones
Optimizaciones
 
Luisa
LuisaLuisa
Luisa
 
Luisa (1)
Luisa (1)Luisa (1)
Luisa (1)
 
Luisa
LuisaLuisa
Luisa
 
Luisa
LuisaLuisa
Luisa
 
Luisa (1)
Luisa (1)Luisa (1)
Luisa (1)
 
Luisa
LuisaLuisa
Luisa
 
Práctica sql server [fbdr]
Práctica sql server [fbdr]Práctica sql server [fbdr]
Práctica sql server [fbdr]
 

More from Jorge Ulises

Android de la A a la Z - Unidad 8
Android de la A a la Z - Unidad 8Android de la A a la Z - Unidad 8
Android de la A a la Z - Unidad 8Jorge Ulises
 
Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7Jorge Ulises
 
Android de la A a la Z - Unidad 6
Android de la A a la Z - Unidad 6Android de la A a la Z - Unidad 6
Android de la A a la Z - Unidad 6Jorge Ulises
 
Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5Jorge Ulises
 
Android de la A a la Z - Unidad 3
Android de la A a la Z - Unidad 3Android de la A a la Z - Unidad 3
Android de la A a la Z - Unidad 3Jorge Ulises
 
Android de la A a la Z - Unidad 2
Android de la A a la Z - Unidad 2Android de la A a la Z - Unidad 2
Android de la A a la Z - Unidad 2Jorge Ulises
 
Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Jorge Ulises
 
Android de la A a la Z - Introducción
Android de la A a la Z - IntroducciónAndroid de la A a la Z - Introducción
Android de la A a la Z - IntroducciónJorge Ulises
 
Android de la A a la Z - Unidad 11
Android de la A a la Z - Unidad 11Android de la A a la Z - Unidad 11
Android de la A a la Z - Unidad 11Jorge Ulises
 

More from Jorge Ulises (9)

Android de la A a la Z - Unidad 8
Android de la A a la Z - Unidad 8Android de la A a la Z - Unidad 8
Android de la A a la Z - Unidad 8
 
Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7
 
Android de la A a la Z - Unidad 6
Android de la A a la Z - Unidad 6Android de la A a la Z - Unidad 6
Android de la A a la Z - Unidad 6
 
Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5Android de la A a la Z - Unidad 5
Android de la A a la Z - Unidad 5
 
Android de la A a la Z - Unidad 3
Android de la A a la Z - Unidad 3Android de la A a la Z - Unidad 3
Android de la A a la Z - Unidad 3
 
Android de la A a la Z - Unidad 2
Android de la A a la Z - Unidad 2Android de la A a la Z - Unidad 2
Android de la A a la Z - Unidad 2
 
Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1Android de la A a la Z - Unidad 1
Android de la A a la Z - Unidad 1
 
Android de la A a la Z - Introducción
Android de la A a la Z - IntroducciónAndroid de la A a la Z - Introducción
Android de la A a la Z - Introducción
 
Android de la A a la Z - Unidad 11
Android de la A a la Z - Unidad 11Android de la A a la Z - Unidad 11
Android de la A a la Z - Unidad 11
 

Recently uploaded

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 

Recently uploaded (12)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 

Oracle Spatial de la A a la Z - Unidad 7

  • 1. 7 Índices espaciales OBJETIVOS •Explicar el concepto de indexación espacial. •Generar un árbol R índice espacial. •Estimar el tamaño de un índice R-tree. Oracle Spatial utiliza un índice espacial para optimizar el rendimiento de las consultas espaciales, de la misma manera que se crea un índice en los datos escalares para mejorar el la obtención de información. Oracle Spatial utiliza índices de árbol R para un acceso eficiente a los datos. Los índices espaciales se pueden construir en dos, tres o cuatro dimensiones; siendo el de default el de dos dimensiones. Un índice espacial puede ayudar a encontrar: •Objetos dentro de un espacio de datos indexado, mismos que interactúan con un punto o área de interés (ventana de consulta) •Pares de objetos que interactúan unos con otros (spatial join). 1 INDEXANDO DATOS ESPACIALES
  • 2. 2 INDEXADO CON ÁRBOLES R El indexado con árboles R está basado en el MBR (minimum bounding rectangles ) para el caso de dos dimensiones, mientras que para tres dimensiones se utiliza el MBV (minimum bounding volumes ). La indexación utilizando árboles R es usada como técnica debido a que prácticamente no requieren de que se realice de manera continua un tunning (optimizacion). Cada entrada al índice aproxima una geometría utilizando MBR para 2D y MBV para 3D. MBRs y MBVs son indexados internamente utilizando una estructura de árbol. Cada nodo hoja del índice árbol R almacena un MBR y un puntero a la geometría original. 3 ¿CÓMO SON INDEXADAS LAS GEOMETRÍAS EMPLEANDO ÁRBOLES R? Cuando un índice de árbol R se genera, un rectángulo mínimo (MBR) es construido alrededor de cada geometría. En la figura de arriba, hay nueve rectángulos mínimo de delimitación, una para cada geometría. En el nivel más bajo de un índice árbol R, hay un puntero hacia la geometría real (para el identificador de la geometría) y el MBR asociado a esa geometría. Índices árbol R tienen una entrada de índice (o nodo de la hoja) para cada geometría.
  • 3. Después de que el MBR se construye alrededor de cada geometría, las aproximaciones se agrupan de manera que las geometrías que están cercanas unas a otras En el nivel más bajo (o nivel hoja) del árbol-R, A, B, C y D contienen MBR para cada una de las geometrías, así como enlaces o apuntadores a cada una de estas geometrías. A continuación, A, B, C y D se agrupan en función de su proximidad. En este caso, A y B se agrupan en R, mientras que y C y D se agrupan en S. El nivel superior (o raíz) de los índices de árbol R, contiene enlaces a R y S, así como a los rectángulos de delimitación mínimas asociados con esos dos nodos. Nota: la estructura de árbol R está optimizado para el acceso a elementos que están cerca unos de otros. El número de ramas de un árbol R se calcula automáticamente basado en el tamaño de bloque de base de datos utilizado para la instancia, así como el número de dimensiones que se indexan.
  • 4. 4 SINTAXIS “CREATE INDEX” CREATE INDEX <index-name> ON <table-name> (<column-name>) INDEXTYPE IS MDSYS.SPATIAL_INDEX [PARAMETERS ( 'SDO_RTR_PCTFREE = <param_value> <storage_parameters> = <param_value> ... ') ] [PARALLEL [<parallel_degree>]]; La instrucción CREATE INDEX es exactamente la misma que cualquier otra instrucción CREATE INDEX Oracle, con algunas opciones adicionales. <INDEX-NAME>: Nombre del índice. Se deben de respetar la serie dec onvenciones de nomenclatura en el nombre de índices. La longitud del nombre debe ser 30 caracteres o menos, y el nombre del índice debe comenzar con un carácter alfabético. <TABLE-NAME>: Nombre de la tabla que contiene la columna espacial que será indexada. La columna espacial es del tipo SDO_GEOMETRY. <COLUMN-NAME>: El nombre de la columna del tipo de SDO_GEOMETRY que se va a indexar espacialmente. CREATE INDEX geod_states_sidx ON geod_states (geom) INDEXTYPE IS mdsys.spatial_index; Cuando un índice árbol R se construye, una tabla de Oracle se crea. Esto también se conoce como la tabla de índice espacial. La tabla de índice espacial es visible para el usuario final, y se marca en las tablas de metadatos de Oracle (USER_TABLES, ALL_TABLES, DBA_TABLES) como secundaria = 'Y'. El espacio de tablas para el índice espacial aparece como NULL si se busca en user_indexes. Esto es porque el nombre de índice espacial es sólo una estructura lógica asociada con otra estructura física (la tabla de índice espacial). Las tablas y los parámetros de almacenamiento pueden ser especificadas en la tabla de índice espacial asociada con el nombre de índice espacial. Nota: No actualizar, modificar o eliminar la tabla de índice espacial. Al colocar el índice, éstas se actualizan automáticamente.
  • 5. <SDO_INDX_DIMS>: Define el número de dimensiones en que se construye el índice. Permite la indexación de más de dos dimensiones. <SDO_RTR_PCTFREE>: Es el porcentaje de ramas de los árboles R reservadas en cada nodo del índice para dar cabida a futuras inserciones. Acepta el 10 por ciento como valor predeterminado, es decir, 10 por ciento de las ramas en el árbol, son reservadas cuando se crea el índice espacial. <LAYER_GTYPE>: Es la restricción de tipo de capa para todos los tipos de índice espacial. Sólo permiten geometrías del tipo dado para que se indexe. Se utiliza para el funcionamiento y control de tipo de geometría. Los valores válidos son: •POINT •LINE o CURVE •POLYGON •MULTIPOINT •MULTILINE or MULTICURVE •MULTIPOLYGON •COLLECTION INITIAL: Tamaño de la medida inicial de la tabla de índice espacial. TABLESPACE: Nombre del tablespace donde se aloja el índice. WORK_TABLESPACE: Nombre del tablespace donde las tablas de trabajo son creadas durante el proceso de creación de índices árbol R. Algunos parámetros de almacenamiento adicionales (no se usa con frecuencia): NEXT: Tamaño de la medida siguiente de la tabla de índice espacial PCTINCREASE: Porcentaje en que aumentará la medida utilizada anteriormente, cuando surge la necesidad de crear una nueva dimensión. MINEXTENTS: Número mínimo de extensiones para crear la tabla de índice espacial. MAXEXTENTS: El número máximo de extensiones para crear la tabla de índice espacial.
  • 6. <SDO_DML_BATCH_SIZE>: Es un parámetro de ajuste a las actualizaciones de índice. Acepta 1000 como el valor predeterminado, que está bien para la mayoría de las cargas de trabajo Puede poseer un valor más alto si se dispone de más memoria. <SDO_NON_LEAF_TBL>: Este parámetro permite que el índice de árboles R se divida en dos durante la creación del índice. PARALLEL [<parallel_degree>] Esto rompe la labor de la creación del índice en trozos más pequeños que se pueden realizar en paralelo. Si el grado de paralelismo no se especifica, Oracle elige un valor por defecto en base a los algoritmos internos de Oracle, los cuales se encuentran basados en el número de CPU s. 5 CREACIÓN DE UN ÍNDICE ESPACIAL EN PARALELO Spatial clustering Spatial clustering Spatial clustering Spatial clustering MBR MBR generation MBR generation MBR generation MBR generation Spatial index tables CREATE INDEX …. PARALLEL 4; Si un recurso del sistema (CPU, memoria, E / S) ya está saturado, el paralelismo puede afectar negativamente a ese recurso. 6 ANALIZANDO TABLAS ESPACIALES exec dbms_stats.gather_table_stats (<schema_name>,<table_name>) La información es recopilada para el optimizador de Oracle. La información recogida incluye el número de filas y de los índices, y demás información adicional. No hay necesidad de recopilar estadísticas sobre las tablas índice espacial.
  • 7. 7 SINTAXIS “DROP INDEX” Esto sentencia elimina el índice espacial y su correspondiente tabla de índice espacial. Si CREATE INDEX en una columna de SDO_GEOMETRY no se llega a completar con éxito, se debe de tratar de hacer un DROP INDEX. Si eso no funciona, se debe de llamar a DROP INDEX mediante el uso de la opción FORCE. DROP INDEX <index_name>; DROP INDEX <index_name> FORCE; 8 SINTAXIS “ALTER INDEX REBUILD” ALTER INDEX <index_name> REBUILD [PARAMETERS (<parameter string>)]; Esta sentencia vuelve a generar una tabla de índice espacial. Los parámetros se pasan como una cadena entre comillas. Por ejemplo, para cambiar la distribución espacial de tablas de índice de tablespace: 'Tablespace = indx_tblspc' 'Work_tablespace = work_indx_tblspc' 9 VISTAS DEL DICCIONARIO DE DATOS USER_SDO_INDEX_METADATA: Muestra todos los metadatos de índice espacial para el usuario actual ALL_SDO_INDEX_METADATA: Muestra todos los metadatos de índice espacial que el usuario actual tiene el privilegio de SELECT . Oracle Spatial mantiene automáticamente las visitas del diccionario de datos.
  • 8. USER_SDO_INDEX_METADATA Otras vistas que son útiles para extraer información de índices espaciales son: USER_SDO_INDEX_INFO ALL_SDO_INDEX_INFO INDEX_NAME VARCHAR2(32) TABLE_NAME VARCHAR2(32) COLUMN_NAME VARCHAR2(2048) SDO_INDEX_TYPE VARCHAR2(32) SDO_INDEX_TABLE VARCHAR2(32)