Tabla de contenidos
En muchas circunstancias, es necesario tener un conjunto de datos de prueba para evaluar enfoques de implementación alternativos o realizar evaluaciones comparativas. A menudo se requiere que tal conjunto de datos tenga requisitos particulares en tamaño o en las características intrínsecas de sus datos. Incluso si un conjunto de datos del mundo real pudiera estar disponible, puede que no sea ideal para tales experimentos por múltiples razones. Por lo tanto, un generador de datos sintéticos que pueda personalizarse para producir datos de acuerdo con los requisitos dados suele ser la mejor solución. Obviamente, los experimentos con datos sintéticos deben complementarse con experimentos con datos del mundo real para tener una comprensión profunda del problema en cuestión.
MobilityDB proporciona un generador simple de datos sintéticos que se puede utilizar para tales fines. En particular, se utilizó este generador de datos para generar la base de datos utilizada para las pruebas de regresión en MobilityDB. El generador de datos está programado en PL/pgSQL para que se pueda personalizar fácilmente. Se encuentra en el directorio datagen
en el repositorio. En este apéndice, presentamos brevemente la funcionalidad básica del generador. Primero enumeramos las funciones que generan valores aleatorios para varios tipos de datos de PostgreSQL, PostGIS y MobilityDB y luego damos ejemplos de cómo se usan estas funciones para generar tablas de dichos valores. Los parámetros de las funciones no están especificados, consulte los archivos fuente donde se pueden encontrar explicaciones detalladas sobre los distintos parámetros.
random_bool
: Generar un booleano aleatorio
random_int
: Generar un entero aleatorio
random_int_array
: Generar una matriz de enteros aleatorios
random_int4range
: Generar un rango aleatorio de enteros
random_float
: Generar un número flotante aleatorio
random_float_array
: Generar una matriz de números flotantes aleatorios
random_text
: Generar un texto aleatorio
random_timestamptz
: Generar una marca de tiempo con zona horaria aleatoria
random_timestamptz_array
: Generar una matriz de marcas de tiempo con zona horaria aleatorias
random_minutes
: Generar un intervalo de minutos aleatorio
random_tstzrange
: Generar rango aleatorio de marcas de tiempo con zona horaria
random_tstzrange_array
: Generar una matriz de rangos aleatorios de marcas de tiempo con zona horaria