Herramientas SDMX para difusión de datos

Download Report

Transcript Herramientas SDMX para difusión de datos

Seminario para contribuir a la modernización de la transmisión
de datos y metadatos estadísticos en la región de América Latina
y el Caribe
E – HERRAMIENTAS DE DIFUSIÓN DE
DATOS SDMX (TI)
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
E.1.b – Asistente de Mapeo para TI
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
2
Base de datos de Difusión
Extracción de datos en SDMX (BD Ideal)
Datos
Metadatos
Encabezados
Componentes DSD
SSTSRTD_PROD_M
Tablas Locales
Listas de Códigos
SSTSRTD_IND_M
Anotaciones
Columnas Locales
Flujos de Datos
SSTSRTD_TOVT_Q
SQL
Infraestructura SDMX
Consultas SDMX
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
Salida SDMX
3
Bases de datos en la práctica
Análisis
 Bases de datos NSI reales
– Relacional (ej: ISTAT, PC-Axis)
– No relacional (ej: ficheros PC-Axis)
 Experiencia pasada (ej: DEMOGRAFÍA)
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
4
Bases de datos en la práctica
Problemas con las BDD Relacionales
 Estructurales
– MUCHOS esquemas de almacenamiento inherentemente
diferentes
 De Contenido
– Transcodificación
– Formatos de fecha y tiempo (texto, tiempofecha)
– Información fragmentada en múltiples columnas
– Otros datos en las mismas tablas no relacionados con la
transmisión solicitada.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
5
Bases de datos en la práctica
Problemas PC-Axis
 Bases de datos PC-Axis
– Estructura de directorio con ficheros .PX
– Los ficheros contienen datos/metadatos (variables, listas de
códigos, etc)
 Metabase PC-Axis
– Basada en BD sobre el Modelo de Metadatos SCB
– Vinculada a esquemas con interfaz de usuario PC-Axis SQL
– Contiene metadatos para datos almacenados en otras bases de
datos de difusión
 ¿Cuál se ha de soportar?
– Ficheros PX: No es una base de datos relacional
– MetaBase: No todo el mundo tiene una
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
6
Bases de datos en la práctica
Requisitos
 Mapeos avanzados
– Capaces de manejar muchos esquemas de almacenamiento de
bases de datos de difusión relacionales
– Capaces de manejar PC-Axis
 Recuperación de datos
– Usando los mapeos realizados
 Generación SDMX-ML
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
7
Esquema de Almacenamiento A
(simple)
DSD
Id: CENSO_CENTRAL
Versión:
1.1
Agencia:
Eurostat
Dimensiones:
EDAD
CAS
GEO
SEX
OBS_VALOR
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
EDAD
CAS
GEO
SEX
OBS_VALOR
001
001
GR
001
100
001
001
GR
002
200
001
001
GR
TOT
300
001
001
IT
001
150
001
001
IT
002
250
001
001
IT
TOT
400
8
Esquema de Almacenamiento B
DSD
Id: CENSO_CENTRAL
Versión:
1.1
Agencia:
Eurostat
Dimensiones:
EDAD
CAS
GEO
SEX
OBS_VALOR
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
EDAD
CAS
GEO
001
002
TOT
001
001
GR
100
200
300
001
001
IT
150
250
400
9
Esquema de Almacenamiento C
DSD
Id: CENSO_CENTRAL
Versión:
1.1
Agencia:
Eurostat
Dimensiones:
EDAD
CAS
GEO
SEX
OBS_VALOR
Tabla “Maestra”
CAS
GEO
TABLA
001
IT
IT_001_TABLA
Tablas “Dependientes”
EDAD
SEX
EDAD
…
EDAD
…
001
…
GR
…
GR_001_TABLA
…
SEX
…
SEX
…
OBS_VALOR
…
OBS_VALOR
…
… EDAD … SEX
001
…
001
…
001
…
001
001
…
001
…
002
…
002
001
TOT
001
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
OBS_VALOR
TOT
OBS_VALOR
…
100
…
150
…
200
…
250
300
400
10
Esquema de Almacenamiento D
DSD
Id: CENSO_CENTRAL
Versión:
1.1
Agencia:
Eurostat
Tabla “Primaria”
EDAD
CAS
GEO
Id
001
001
GR
00001
Dimensiones:
EDAD
CAS
GEO
SEX
OBS_VALOR
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
001
…
001
…
IT
…
Tabla “Secundaria”
Id
SEX
OBS_VALOR
00001
001
100
00001
002
200
00001
TOT
300
00002
001
150
00002
002
250
00002
TOT
400
…
…
…
00002
…
11
Esquema de Almacenamiento UNION
DSD
Id:
ENSO_CENTRAL
Versión:
1.1
Agencia:
Eurostat
Dimensiones:
EDAD
CAS
GEO
SEX
OBS_VALOR
EDAD
CAS
GEO
SEX
OBS_VALOR
001
001
GR
001
100
001
001
001
EDAD
CAS
GEO
SEX
OBS_VALOR
001
001
GR
001
100
GR
001
GR
001
001
001
IT
001
IT
La dimensión de área
falta en ambas tablas
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
001
IT
GR
002
200
150
GR
002
001
200
300
001
001
001
001
TOT
001
001
001
002
TOT
300
250
IT
TOT
001
150
400
001
001
IT
002
250
001
001
IT
TOT
400
12
Combinación de Esquemas de
Almacenamiento
Tablas “Dependientes”
Tabla “Primaria”
EDAD
001
002
…
Id
00001
Tabla “Maestra” “Secundaria”
Id
CAS
GEO
SEX
TABLA
OBS_VALOR
SEX
…
SEX
00001
001
GR
GR_001_001_TABLA
…
00002
001
…
…
IT
IT_001_001_TABLA
…
…
001
…
001
…
002
…
002
TOT
TOT
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
…
OBS_VALOR
…
… SEX
00002
OBS_VALOR
OBS_VALOR
…
100
…
150
…
200
…
250
300
400
13
Soporte de PC-Axis
 Soporte de ficheros PC-Axis
 Driver personalizado para ficheros PC-Axis
– Parsea/Carga datos en una memoria de BD (SQLite)
– Mapeo y consulta
 Partes soportadas
– Variables, contenido
– Subconjunto de Palabras clave (incluidas las de contenido
variable)
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
14
Esquemas de almacenamiento que requieren
“UNION”
 Tablas con las mismas columnas con una dimensión
específica no declarada como columna o valor;
– Imposible que se mapee a sí misma ya que no es un
objeto físico
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
15
Problemas
 Esquemas de almacenamiento infinitos (caóticos) –
consultas personalizadas
 Problemas de transcodificación
 Problemas de fecha-tiempo
 Nivel de atributos – se requiere duplicación
 Problemas de rendimiento
 Programas externos: permisos limitados en bases de
datos de difusión
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
16
E.1.a – INFRAESTRUCTURA DE
REFERENCIA SDMX (TI)
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
17
Visión general SDMX-RI (diseño antiguo)
Proveedor de servicios web
Parseador de
consulta
Recuperador
de datos
Recuperador
de estructura
Base de datos de difusión y almacén de mapeo
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
Generador de datos
Modelo de datos SDMX
18
Visión general SDMX-RI
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
19
El Parseador de Consultas
Diseño
 API del Parseador XML de mensajes de Consulta SDMX-ML
 Cargar la consulta en una memoria de modelo de datos SDMX
 Diseñado según el método de bloque de construcción
Consulta SDMX-ML
consulta (modelo interno)
XSDs SDMX-ML
Parseador de consultas
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
20
El Parseador de Consultas
Reutilización
 Entrada
• Consulta SDMX-ML: Tipos de datos (fichero XML) que
representa la Consulta SDMX enviada al consumidor de
datos
• XSDs SDMX-ML: Tipos de datos que representan los
Esquemas SDMX usados para validar la Consulta
SDMX.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
21
El Parseador de Consultas
Reutilización
 Salida
• Consulta SDMX-ML (Modelo SDMX): consulta SDMXML representada dentro del Modelo SDMX.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
22
El Parseador de Consultas
Reutilización
 Usa un Parseador XML rápido
– SAX para Java
– XmlReader para .NET
 En la actualidad sólo soporta Consultas de Datos
– Elemento de Datos de Lugar
 Valida Consultas SDMX-ML entrantes frente a esquemas
SDMX-ML
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
23
El Recuperador de Datos
Diseño
 Trabaja con Consultas SDMX-ML (Modelo SDMX)
 Las traduce a SQL
 Devuelve un modelo de datos SDMX-ML (Modelo SDMX)
Conexión al almacén de mapeo
mensaje de datos(modelo interno)
consulta (modelo interno)
Recuperador de datos
Almacén de mapeo
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
Base de datos de difusión
24
El Recuperador de Datos
Reutilización
 Dos conexiones de bases de datos:
 Mapeos
 Base de Datos de Difusión
 La única API que dependiente de la base de datos con
dos posibilidades:
 Base de datos basada en SDMX.
 Base de datos local (no basada en SDMX)
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
25
El Recuperador de Datos
Reutilización
 Entrada
 Consulta SDMX-ML (Modelo SDMX): El resultado del
Parseador de Consultas SDMX. Una representación de
la Consulta SDMX-ML en el modelo interno.
 String (cadena de caracteres) de Conexión entre la
Base de datos y el Almacén de mapeo: El string de
conexión se encuentra donde está el almacén de
mapeo.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
26
El Recuperador de Datos
Reutilización
 Salida
 Fichero de Datos SDMX-ML (Modelo SDMX): Una
representación del Fichero de Datos SDMX-ML en el
Modelo SDMX interno.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
27
El Recuperador de Datos
Reutilización
Consulta (Modelo Interno)
Mensaje de Datos
(Modelo Interno)
Conexión con el Almacén de
Mapeo
Recuperador de Datos
Almacén de
Mapeo
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
Base de Datos
de Difusión
28
El Recuperador de Datos
Reutilización
 Modular "bajo la superficie”
 Modelo de datos y manejo del Almacén de Mapeo
 Traducción de la Consulta/Población de "Beans” de
datos
 En la actualidad se encuentra fuertemente emparejado
al Almacén de Mapeo
 Recupera datos usando SQL
 Vendedores de BD: Oracle, MySQL, MS SQL Server,
SQLite
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
29
El Recuperador de Datos
Reutillización – PC-Axis
 Librería separada
 Sirve datos en una base de datos de memoria
interna, ej: SQLite
 Permite consultar ficheros .px usando SQL
 Transparente a sus usuarios
 La versión .NET se usa tal cual en el Asistente de
Mapeo
 El Driver se ha ampliado
 Soporte para palabras clave adicionales
 Soporte para palabras clave de contenido variable
relacionadas
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
30
El Recuperador de Datos
Reutilización
DataRetriever()
Recuperador
de Datos
retrieveData(Mapping Store Connection,
Query):Data Message Internal Model
:Data Message Internal Model
getDSD():DSD Internal Model
:DSD Internal Model
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
31
El Recuperador de Datos
Reutilización
 Proceso en dos pasos
1. Construir un objeto “DataRetriever” (transmite el “logger” –opcional-)
.NET/Java
DataRetriever retriever = new
DataRetriever(logger);
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
32
El Recuperador de Datos
Reutilización
 Proceso en dos pasos
2. Recuperar datos (transmite una Consulta y un Almacén de Mapeo)
Java
dataset = retriever.retrieveData
(query, connection);
.NET
dataset = retriever.RetrieveData
(query, connection);
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
33
El Recuperador de Datos
Dependencias
 Librería del Modelo SDMX
 Maneja Consultas SDMX entrantes
 Puebla el Conjunto de Datos SDMX a partir de datos
recuperados
 Almacén de Mapeo
 Identifica el Conjunto de Mapeos
 Conecta con la Base de Datos de Difusión
 Formula una Consulta SQL basada en un Consulta SDMX
+ Consulta Inicial SQL + información de Conjunto de
Mapeos
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
34
El Recuperador de Estructuras
Diseño
 Trabaja con Consultas SDMX-ML (Modelo SDMX)
 Las traduce a SQL
 Devuelve un modelo de estructura SDMX-ML (Modelo SDMX)
Conexión al almacén de mapeo
estructura (modelo interno)
consulta (modelo interno)
Recuperador de estructuras
Almacén de mapeos
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
Base de datos de difusión
35
El Recuperador de Estructuras
Reutilización
 Una conexión de base de datos:
 Mapeos
 La única API dependiente de la base de datos con dos
posibilidades:
 Base de datos SDMX basada en SDMX.
 Base de datos local (no basada en SDMX)
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
36
El Recuperador de Estructuras
Reutilización
 Entrada
 Consulta SDMX-ML (Modelo SDMX): El resultado del
Parseador de Consultas SDMX. Una representación de
la Consulta SDMX-ML en el modelo interno.
 String (cadena de caracteres) de Conexión entre la
Base de datos y el Almacén de mapeo: El string de
conexión se encuentra donde está el almacén de
mapeo.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
37
El Recuperador de Estructuras
Reutilización
 Salida
 Fichero de Estructuras SDMX-ML (Modelo SDMX):
Una representación del Fichero de Estructuras SDMXML en el Modelo SDMX interno.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
38
El Recuperador de Estructuras
Reutilización
Consulta (Modelo Interno)
Mensaje de Estructuras
(Modelo Interno)
Conexión con el Almacén de
Mapeo
Recuperador de Estructuras
Almacén de
Mapeo
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
Base de Datos
de Difusión
39
El Recuperador de Estructuras
Reutilización
 Modular "bajo la superficie”
 Modelo de datos y manejo del Almacén de Mapeo
 Traducción de la Consulta/Población de "Beans” de
datos
 En la actualidad se encuentra fuertemente emparejado
al Almacén de Mapeo
 Recupera datos (estructuras) usando SQL
 Vendedores de BD: Oracle, MySQL, MS SQL Server,
SQLite
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
40
El Recuperador de Estructuras
Reutilización
StructureRetriever()
Recuperador
de Estructuras
retrieveStructure(Mapping Store
Connection, Query):Structure Internal
Model
Structure Internal Model
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
41
El Recuperador de Estructuras
Reutilización
 Proceso en dos pasos:
1. Construir un objeto “StructureRetriever” (transmite el “logger” –
opcional)
.NET/Java
StrucutureRetriever retriever =
new StructureRetriever(logger);
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
42
El Recuperador de Estructuras
Reutilización
 Proceso en dos pasos
2. Recuperar datos (transmite una Consulta y un Almacén de Mapeo)
Java
structure = retriever.retrieveStructure
(query, connection);
.NET
structure= retriever.RetrieveStructure
(query, connection);
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
43
El Recuperador de Estructuras
Dependencias
 Librería del Modelo SDMX
 Maneja Consultas SDMX entrantes
 Puebla Estructuras SDMX a partir de datos recuperados
(estructura)
 Almacén de Mapeo
 Identifica el Conjunto de Mapeos
 Conecta con la Base de Datos de Difusión
 Formula una Consulta SQL basada en un Consulta SDMX
+ Consulta Inicial SQL + información de Conjunto de
Mapeos
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
44
El Generador de Datos
Diseño
 Crea mensajes SDMX-ML desde un modelo de datos interno
 Trabaja con un modelo interno de DSD y Formato de Mensaje
 Produce un documento XML
Mensaje de datos (modelo interno)
Conjunto de datos SDMX-ML
DSD (modelo interno)
Tipo de mensaje SDMX-ML
Generador de datos
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
45
El Generador de Datos
Reutilización
 Entrada
•
Fichero de Datos SDMX-ML (Modelo SDMX): El
resultado del Recuperador Datos. Una representación
del fichero SDMX-ML en el modelo interno SDMX.
• Tipo de Fichero de Datos SDMX-ML: El formato del
Fichero de Datos SDMX-ML que se ha de generar.
• DSD SDMX-ML: La DSD que describe la estructura del
Fichero de Datos SDMX-ML.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
46
El Generador de Datos
Reutilización
 Salida
 Fichero de Datos SDMX-ML: Se genera un fichero
XML, y por su parte el Fichero de Datos SDMX-ML se
especifica en el formato de la entrada.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
47
El Generador de Datos
Dependencias
 Librería del Modelo SDMX
 Maneja Consultas SDMX entrantes
 Puebla los Conjuntos de Datos SDMX con datos
recuperados
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
48
El Generador de Datos
Reutilización
 Bloque de construcción reutilizable
 Responsible de generar un mensaje SDMX desde el
objeto de datos del Modelo SDMX.
 Soporta formatos de serie temporal y transversal
 Implementaciones .NET y Java
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
49
El Generador de Datos
Reutilización
Mensaje de Datos (modelo interno)
Conjunto de datos
SDMX-ML
DSD (modelo interno)
Tipo de Mensaje SDMX-ML
Generador de Datos SDMX
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
50
El Generador de Datos
Reutilización
 Modular "bajo la superficie”
 Cada formato de datos tiene su propia clase “Writer”.
 Soporta formatos de datos de serie de tiempo
 SDMX-ML Compacto y Genérico y GESMES/TS
 Soporta formatos de datos transversales
 SDMX-ML Transversal
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
51
El Generador de Datos
Reutilización
DataGenerator(logger): DataGenerator Generador
de Datos
Write(DataMessage, DSD, targetFormat,
output SDMX-ML Data Message)
: SDMX-ML Data Message
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
52
El Generador de Datos
Reutilización
 Proceso en dos pasos
1. Construir un objeto “DataGenerator” (transmite el “logger” –opcional)
.NET/Java
DataGenerator generator = new
DataGenerator(logger);
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
53
El Generador de Datos
Reutilización
 Proceso en dos pasos
– 2. Generar datos (transmiten un Mensaje de Datos, la Familia
Clave, el formato objetivo SDMX y el canal de salida)
Java
generator.generateData
(dataMessage,keyFamily,
targetFormat,outputStream);
.NET
generator.GenerateData
(dataMessage,keyFamily,
targetFormat,refoutputStream);
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
54
El Generador de Datos
Dependencias
 Bloque de construcción reutilizable
 Responsible de generar un mensaje SDMX desde el
objeto de datos del Modelo SDMX.
 Soporta formatos de serie de tiempo y transversal
 Implementaciones .NET y Java
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
55
Caso Práctico de Infraestructura de
Referencia SDMX – Versiones anteriores
de tests de rendimiento
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
56
Flujo de trabajo SDMX-RI
Cliente Servicio
Web
Proveedor
Servicio Web
Parseador
Consulta SDMX
Recuperador
Datos
Generador
Datos SDMX
CONSULTA SDMX-ML
CONJUNTO DE
DATO SDMX-ML
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
57
Datos de censo del test de Rendimiento
MS SQLServer
Difusión de Datos
HC06
Esquema D
HC06
PC Axis
Fichero de Datos
HC01
Esquema A
Almacén de Datos
MS SQL Server
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
58
Test del servidor - Especificación
Componentes:






CPU: Intel Core2 a 2,13GHz
Sistema Operativo: Microsoft XP Professional
Service Pack 3
3GB de RAM
Espacio mínimo en disco duro de 20GB
Internet Information Server 5.1 (SDMX-RI .NET WS)
Apache Tomcat 7.0.12 (SDMX-RI JAVA WS)
¿Cuál es el impacto en su rendimiento?
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
59
Comparación de Rendimiento
Escenario
Base de Datos
de Difusión
100 mil Consultas – 1 usuario
simultáneo
HC01
SQLServer
HC06
SQLServer
HC06 PCAxis
Fichero de
datos
SDMX-RI .NET
10,7 seg
11,1 seg
90,8 seg
SDMX-RI JAVA
22,7 seg
25,7 seg
115,4 seg
Servicio Web
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
60
Performance comparison
115.4
WS JAVA
PCAxis Data file
90.8
WS .NET
JAVA
HC06 SQLServer
.NET
11.1
JAVA
HC01 SQLServer
.NET
Eurostat Unit A6 – Statistical cooperation
0
SDMX Seminar
Segundos
25.7
22.7
10.7
20
40
60
80
100
120
61
Comparación de Rendimiento
SDMX-RI .NET WS frente a SDMX-RI JAVA WS
 En general el rendimiento de SDMX-RI .NET WS es
mejor que el de SDMX-RI JAVA WS.
 Se han encontrado problemas de memoria para ambos
servicios web. En relación a los fallos de hilos de las
consultas más demandadas, SDMX-RI .NET WS se
comporta de manera similar a SDMX-RI JAVA WS;
 Los test se ejecutaron de forma más lenta en datos
HC06 PCAxis que en otras bases datos de difusión;
 Los accesos simultáneos al fichero de datos PCAxis
causan a menudo una
“System.NullReferenceException” en la API del
Recuperador de Datos.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
62
HC06
– Tiempo
de Operación
segundos
HC06- PCAxis
- SQLServer
- Operation
time in en
Seconds
Performance
comparison
50k query - 5 concurrent
SDMX-RI
JAVA APIs vs. SDMX-RI .NET APIs
50k query
-1
concurrent
Users
(JAVA)
User (JAVA)
50k query - 5 concurrent
50k query
concurrent
Users- 1(.NET)
User (.NET)
100k query
query -- 1
1 concurrent
concurrent
100k
User (JAVA)
(JAVA)
User
100k query - 1 concurrent
User
User (.NET)
(.NET)
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
0.0
0.0
2.020.0
4.0 40.0 6.0
60.0
8.0
80.0
10.0
12.0100.0 14.0 63
Análisis de los Problemas Principales
PROBLEMA
SEVERIDAD
SOLUCIÓN
Restricciones de rendimiento y
memoria en la implementación de
SDMX-RI en el “Modelo de Objeto del
Documento” (DOM) que causan errores
de memoria (OOM) y un rendimiento
pobre, debido a que toda la operación
de datos se encuentra en la memoria.
Muy alta – dificulta el
uso de no sólo en
conjuntos de datos de
gran volumen, ej:
CENSO o micro datos
de Comercio Exterior.
1. Cambiar a un modelo de
streaming de datos
(recomendado)
2. Usar un sistema
operativo/hardware de 64-bits
(disminuirán los problemas)
Las recomendaciones de hardware y
de sistema operativo son insuficientes
para la implementación DOM actual de
SDMX-RI.
Muy alta – SDMX-RI
dificulta el uso de
SDMX-RI
Una CPU más rápida podría mejor
el rendimiento hasta cierto punto. El
sistema operativo puede tener un
impacto en los problemas
relacionados con la memoria. Un
sistema operativo de 64-bits puede
alojar más memoria, siempre que la
RAM se incremente como
corresponde.
Problemas de rendimiento y
compatibilidad (fallos de acceso
simultáneos) con ficheros de datos
PCAxis usados como fuente de datos
de difusión.
Muy alta – dificulta el
uso del módulo de datos
PCAxis de SDMX-RI
Los problemas de compatibilidad se
han de identificar y solucionar. ¿Se
podría incrementar el rendimiento
con una solución de memoria
interna de Base de Datos?
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
64
Visión general SDMX-RI (nuevo diseño)
Módulo Auth
Proveedor de servicio web
SDMX IO
base de datos de difusión y almacén
de cooperation
mapeos
Eurostat Unit A6 – Statistical
SDMX Seminar
Recuperador
de datos
Recuperador
de estructuras
Modelo de Datos SDMX
65
Servicios web de la Infraestructura de
Referencia SDMX
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
66
Visión general de los servicios web SDMX-RI
(diseño antiguo)
Proveedor de servicios web
Parseador de
consultas
Recuperador
de datos
Recuperador Generador de datos
de estructuras
Base de datos de difusión y almacén de mapeos
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
Modelo de
Datos SDMX
67
Visión general de los servicios web SDMX-RI
(diseño nuevo)
Módulo auth
Proveedor de servicios web
SDMX IO
Recuperador
de datos
Base de datos de difusión y almacén de mapeos
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
Recuperador
de estructuras
Modelo de
datos SDMX
68
El Modelo IO (Input-Output) SDMX
Diseño
 API del Parseador XML para mensajes de Consulta
SDMX-ML
 Leer y escribir mensajes SDMX-ML desde el modelo de
datos y estructuras XML internas.
 “Streaming” (no de todos los datos de la memoria)
Estructura SDMX–Modelo Interno-
Estructura SDMX –XML-
Estructura SDMX–XML-
Estructura SDMX –Modelo Interno-
SDMX IO
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
69
El Proveedor de Servicio Web
Diseño
 Visibilidad
 Interoperabilidad con SOAP
 Diseñado según el método de bloques de construcción
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
70
El Proveedor de Servicio Web
Reutilización
 Fácil integración en el entorno JAVA
 Alta disponibilidad
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
71
El Proveedor de Servicio Web
Reutilización
 Entrada
• SOAP (Consulta SDMX): Mensaje Soap que incluye
una Consulta SDMX en su interior.
 Salida
• SOAP (Conjunto de datos SDMX-ML): Mensaje Soap
que incluye el Conjunto de datos SDMX-ML.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
72
Solución de Servicio Web
Paso 1 – Asistente de Mapeo
PASO 1
PASO 2
Cargar las
Estructuras
SDMX
Schema
Mapear el
esquema de
base de datos
local
(Esquema de
Categoría,
Flujo de datos,
DSD)
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
(Conjunto de
datos)
PASO 3
Mapear
conceptos
locales a
SDMX
(Conjunto de
Mapeo)
PASO 4
Mapear códigos
locales a
SDMX
(Transcodificación)
73
Solución de Servicio Web
Paso 1 – Asistente de Mapeo
MS SQLServer
Oracle XE 10g
2008 Express
TIPO
D
TIPO
TIPO
A
B
Almacén de Datos
MS SQL Server
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
74
Solución de Servicio Web
Paso 1 – Asistente de Mapeo
 Esquema de Categoría: CATEGORYSCHEME+CH+ESTAT+1.0.xml
 Esquema de Concepto:
CENSUSHUB_CONCEPTS+ESTAT+1.0.xml
 Listas de códigos, excepto CL_GEO:
CENSUSHUB+ESTAT+CODELISTS+1.0.xml
 Listas de códigos geográficos:
CL_GEO_SE+ESTAT+1.0.xml
 Definición de Estructura de Datos (familia clave)
– CENSUSHUB_HC6+ESTAT+1.0.xml
 Flujos de datos, creado manualmente:
– HC06_TYPE_A
– HC06_TYPE_B
– HC06_TYPE_D
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
75
Solución de Servicio Web
Paso 1 – Asistente de Mapeo
 Los conjuntos de datos dentro de las bases de datos de difusión
NSI se describen usando metadatos de estructura “locales”
(conceptos, listas de códigos, formatos)
 Los estándares SDMX armonizan metadatos estructurales dentro
de una comunidad estadística, y describen conjuntos de datos por
definiciones DSD (conceptos, listas de códigos, dimensiones,
atributos, medidas, etc.)
– Ficheros de estructuras SDMX-ML
 Se deben mapear(*) metadatos estructurales “locales” y metadatos
estructurales SDMX:
– Mapeo de conceptos
– Mapeo de códigos
(*) ver la página 73 de la Guía de Usuario SDMX
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
76
Solución de Servicio Web
Paso 1 – Asistente de Mapeo
CÓDIGO
DESCRIPCIÓN
1
Anual
12
Mensual
365
Diaria
4
52
CÓDIGO de
Propiedad
DESCRIPCIÓN
Cuatrimestral
Código
SDMX
Semanal
A
1
Anual
M
12
Mensual
D
365
Diaria
CÓDIGO
DESCRIPCIÓN
A
Anual
Q
4
Cuatrimestral
M
Mensual
W
52
Semanal
D
Diaria
H
Semestral
Q
Cuatrimestral
B
Negocios
W
Semanal
H
Semestral
B
Negocios
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
77
DIMENSIONES
Posi
ción
en la
clave
6. Installation
and use (from
scratch)
CONCEPTO
REPRESENTACIÓN
Tipo de
FORMATO Dimensi
Mapping Assistant
ón
AGENCY
ID
VER AGENCIA DE TEXTO
ESQUEMA DE CONCEPTO
ID
Nombre
6.1 Step 1 –
ID
VER
LISTA DE CÓDIGOS
1
GEO
Área geográfica
CENSUSHUB_C
ONCEPTS
1.0
ESTAT
CL_GEO
1.0
ESTAT
2
SEX
Sexo
CENSUSHUB_C
ONCEPTS
1.0
ESTAT
CL_SEX
1.0
ESTAT
3
FST
Situación
familiar
CENSUSHUB_C
ONCEPTS
1.0
ESTAT
CL_FST
1.0
ESTAT
4
LMS
Estado civil
CENSUSHUB_C
ONCEPTS
1.0
ESTAT
CL_LMS
1.0
ESTAT
5
CAS
Estado laboral
CENSUSHUB_C
ONCEPTS
1.0
ESTAT
CL_CAS
1.0
ESTAT
6
POB
País/lugar de
nacimiento
CENSUSHUB_C
ONCEPTS
1.0
ESTAT
CL_POB
1.0
ESTAT
7
COC
Nacionalidad
CENSUSHUB_C
ONCEPTS
1.0
ESTAT
CL_COC
1.0
ESTAT
8
AGE
Edad
CENSUSHUB_C
ONCEPTS
1.0
ESTAT
CL_AGE
1.0
ESTAT
9
FREQ
Frecuencia
CENSUSHUB_C
ONCEPTS
1.0
ESTAT
CL_FREQ
1.0
ESTAT
Periodo de
CENSUSHUB_C
10 TIME
o
1.0
ESTAT
Eurostat
Unit A6 tiempo
– Statistical
cooperation
Eurostat Unit B3 – Statistical
Information Technologies
ONCEPTS
SDMX Seminar alcance
SDMX Training for Developers
Frequencia
Año
Dimensión
de tiempo
78
Solución de Servicio Web
Paso 1 – Asistente de Mapeo
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
79
Solución de Servicio Web
Paso 1 – Asistente de Mapeo
 /* primer ejemplo (Y5-9z) */
 var len;
 len=$Column_HC06_TYPE_A1_AGE_CMP.length
 $Component_AGE =
$Column_HC06_TYPE_A1_AGE_CMP.substring(0, len-1)
 /* segundo ejemplo (Y_xLT5)*/
 $Component_AGE =
$Column_HC06_TYPE_A1_AGE_CMP.replace("x","")
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
80
Solución de Servicio Web
Paso 2 – Instalación de SDMX-RI
 Ejemplo práctico siguiendo las instrucciones
proporcionadas en la documentación.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
81
Instalación del Servicio Web SDMX-RI
(JAVA y Tomcat 7.0.25)
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
82
Zip
content
with the Unzip
files modified.
Goagain
to thethe
“app”
folderofofthe
the“nsi”
NSI folder
WS package.
the file
GoRename
to “META-INF”
Edit
Enter
the file
values
the
filefolder.
“nsi.zip”
to “context.xml”.
“nsi.war”.
Copy
“nsi.war”
file to for
“nsi.war”.
Go
to
“WEB-INF\classes\wsdl”
folder.
Edit
the
Start the
Tomcat
web server.
The “nsi.war”
application
will
Copy
“params”
folder inside
from
the
NSI WS
package
to be
the
“webapps”
folder
Tomcat
web
server
“nsi_service.wsdl”.
Replace
inthe
theweb
whole
document if needed
Mapping
connection
deployed
byStore
server.
working path of the
Tomcat.
Edit
the
“nsi.properties”
file. Enter the
values for the web server name and port.
values for the log file.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
83
The
TheendPoint
WSDL ofofthe
theweb
webservice
serviceisisaccessible:
accessible:
http://localhost/nsi/services/NSIService?wsdl
http://localhost/nsi/services/NSIService
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
84
Instalación del Servicio Web SDMX-RI (.NET y
IIS7)
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
85
Copy
the
content
of the
“app”
folder
of the NSIEdit
WSthe
package
Go
to
“app”
folder
of
the
NSI
WS
package.
file
Grant
Create
for
a
the
folder
user
in
“IIS_IUSRS”
inetpub/wwwroot
“Read”
folder
and
(i.e.
“Write”
“nsiws”)
rights
(with
thethe
Web.config
modified)
to the
“nsiws”
folder
created
in
Click
in
“nsiws”
with
right
button
and
press
“Convert
“Web.config”.
Enterfolder
values
for the
Mapping
Store
connection.
1 (inside
the
folder)
to Application”.
The
and
the“nsiws”
physical
path
the 1
Open
thestep
IIS inside
Manager.
Theinetpub/wwwroot
folder
in
step
Other
values
thealias
Web.config
file
cancreated
also
befor
changed
application
are
already
filled.
“OK”
appears (i.e.
in the
“Default
Web Press
Site” folder
logfile,
headers…)
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
86
The
TheendPoint
WSDL ofofthe
theweb
webservice
serviceisisaccessible:
accessible:
http://localhost/nsiws/NSIService.asmx?WSDL
http://localhost/nsiws/NSIService.asmx
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
87
El Test de Cliente
Paso 1 – Instalación y uso del test de
cliente
 Demostración que sigue las instrucciones en la
documentación proporcionada.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
88
SOAP UI (Interfaz de Usuario)
Paso 1 – Uso de la SOAP UI
 Demostración que sigue las instrucciones en la
documentación proporcionada.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
89
La Página de Cliente
Paso 1 – Instalación y uso de la página de
cliente
 Demostración que sigue las instrucciones en la
documentación proporcionada.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
90
Instalación del Cliente Web SDMX-RI
(JAVA y Tomcat 7.0.25)
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
91
Create a folder called “nsi-client” in the Tomcat working path.
Copy
of the folder “config”
of thethe
NSI
clientfor
package
Editthe
thecontent
“nsi-client.properties”
file. Enter
values
the
inside
endPoint
URLthe
andfolder
layoutcreated.
properties file.
Rename the “nsi-client-1.1.0.war” file to “nsi-client.war” inside
the “app” folder of the NSI client package. Copy the file to
“webapps” folder inside Tomcat web server
Start Tomcat web server. The “nsi-client.war” application will be
deployed by the web server.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
92
Accessible: http://localhost/nsi-client/start.htm
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
93
Instalación del Cliente Web SDMX-RI (.NET
y IIS7)
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
94
Copy the content of the “app” folder of the NSI client package
Go to “app” folder of the NSI client package. Edit the file
Create
Grant
for
athe
folder
the“nsiclient”
user
in modified)
inetpub/wwwroot
“IIS_IUSRS”
“Read”
folder
and
(i.e.
“Write”
“nsiclient”)
rights in
in
folderto with
right
button
and
press
(withClick
the Web.config
the
“nsiclient”
folder
created
“Web.config”. Enter values for the element NSIClientSettings: The
“Convert
Application”.
The
aliasand
and
the physical
for the
Open
thetoIIS
Manager.
The
folder
“nsiclient”
created
in step
1
1 NSI
(inside
inetpub/wwwroot
folder)path
endPoint step
for the
Webthe
Service
the URL where
to find the
application
are “Default
already filled.
Press
“OK”
appears
in the
Web
Site” folder
SDMXMessage.xsd
schema.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
95
Accessible: http://localhost/nsiclient/Main.aspx
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
96
Infraestructura de Referencia SDMX
Caso práctico - Instalaciones
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
97
Paquetes instalados durante misiones de MS
 Servicio Web SDMX


.NET
 2.2.1 (Malta 2011)
 2.3.0 (Finlandia 2011)
 2.4.0
JAVA
 2.3.0 (Hungría 2011)
 3.0.0 (Austria 2012)
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
98
Paquetes instalados durante misiones de MS
 Cliente Web SDMX


.NET
 1.2.0 (Malta 2011)
 1.3.0 (Finlandia 2011)
JAVA
 1.1.0 (Hungría 2011)
 1.3.0 (Austria 2012)
 TestClienteAuth

Nunca se instaló
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
99
Paquetes instalados durante misiones de MS


Asistente de Mapeo
 Aplicación de Escritorio (Windows OS)
 2.7.0 (Hungría 2011)
 2.7.1 (Malta 2011)
 2.7.2 (Finlandia 2011)
 2.8.0 (Austria 2012)
Cliente Test
 Aplicación de Escritorio (Windows OS)
 2.2.0 (Hungría 2011)
 2.3.0 (Malta 2011)
 2.4.0 (Finlandia 2011, Austria 2012)
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
100
Descripción del entorno NSI; Hungría 2011
ESX con WMware
vCenter Server 4.1.0
Acceso TCP/IP
(externo)
Cortafuegos
Internet
Acceso TCP/IP
(interno)
Máquina Virtual con
CentOS 6.0 x64
Máquina de Sobremesa con
Windows XP SP3 x32
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
101
Descripción del entorno NSI; Austria 2012
SuSe Linux Enterprise
Server (SLES) Versión
11 Service Pack 1 x64
DMZ
Acceso TCP/IP
(interno)
Windows Server 2008 R2
Enterprise x64
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
Acceso TCP/IP
(externo)
Acceso TCP/IP access
(interno)
Cortafuegos
Acceso TCP/IP
(interno)
Internet
Ordenador de
sobremesa 1: Windows
7 Enterprise Service
Pack 1, x64
Ordenador de sobremesa 2:
Windows Vista Enterprise
Service Pack 2, x32
102
Problemas genéricos
 Nuevos entornos (ej: CentOS Linux, SuSe Linux) que
no se hayan testado antes de la intervención; La
documentación no especifica las instrucciones para
instalar SDMX-RI en un entorno de Linux.
 Es necesaria la instalación y configuración de drivers
para algunas herramientas (ej: Asistente de Mapeo
más drivers para conectar a una base de datos Oracle
– ODP.net); La documentación no especifica unas
instrucciones completas, además los drivers no vienen
con la herramienta.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
103
Peticiones de mejoras durante misiones
 Requisitos para nuevos tipos de bases de datos para
usarse con SDMX-RI (ej: IBM DB2)
 Requisitos para nuevos tipos de servidores web para
usarse con SDMX-RI (ej: WebSphere Application
Server);
 Requisitos para soportar toda clase de navegadores
por la interfaz web de las herramientas SDMX-RI.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
104
Análisis de los problemas genéricos
PROBLEMA
SEVERIDAD
SOLUCIÓN
Linux OS
Muy alta – la documentación no
proporciona instrucciones para
instalar SDMX-RI en un entorno de
Linux.
Se crea una
virtualización del
entorno para
comprobar que no
hay ningún problema
antes de la
intervención.
WebSphere Application Server
Muy alta – la documentación no
proporciona instrucciones para
instalar SDMX-RI en WebSphere
Application Server.
Se crea una
virtualización del
entorno para
comprobar que no
hay ningún problema
antes de la
intervención.
Se usan diferentes IP internas y
externas debido a la configuración
del cortafuegos en las cercanías de
los Estados Miembros.
Media– el WSDL de JAVA SDMX-RI
debe de cambiarse manualmente
antes de desplegar la aplicación con
los correctos puerto e IP usados. Si
el WSDL está configurado para
usarse con el puerto e IP externos,
entonces no puede usarse con la red
interna. (Sólo para JAVA)
Se usan dos WSDL
diferentes para el
SDMX-RI interno y
externo desplegados.
Eurostat Unit A6 – Statistical cooperation
SDMX Seminar
105
105