Base de datos relacional GBDS 4
Introducción
Este manual describe todas las tablas, esquemas e informaciones de las bases de datos relacionales de GBDS 4.x. GBDS utiliza una base de datos relacional para almacenar metadatos sobre personas, transacciones, grupos de notificación, sustituciones de configuraciones y excepciones.
El documento está dividido en cuatro secciones que describen:
Las tablas generales;
Las tablas de Latentes No Resueltos (UL);
Las tablas de Notificación;
Las tablas de configuración de GBDS.
Tablas generales
Las tablas generales son tablas que almacenan información vital para la operación de GBDS, como excepciones, información sobre personas, información sobre transacciones y otras. Estas tablas se describen a continuación.
gbds.people
La peopletabla está destinada a almacenar los índices de todas las personas almacenadas en la base de datos GBDS y se describe de la siguiente manera:
id
bigint
20
no nulo
Clave primaria; Clave privada de la base de datos relacional
pguid
varchar
255
no nulo
UGUID personal almacenado en HBase
deleted
tinyint
1
nulo
Indica si el candidato fue eliminado, para que no se incluya cuando se realicen operaciones de listado
gbds.people_version
La people_versiontabla está destinada a almacenar la información sobre los últimos cambios en el registro de una persona y se describe de la siguiente manera:
version
int
11
no nulo
Clave primaria; Índice de versión (incremental a partir del primer cambio)
person_id
bigint
20
no nulo
Referencia a la personagbds.people.id
_timestamp
datetime
6
nulo
timestamp de fecha y hora para la versión actual de una persona
deleted
tinyint
1
nulo
Indica si el candidato fue excluido para ejecutarse al realizar operaciones de listado de candidatos
active
tinyint
1
nulo
Define si una versión de una persona es elegible para transacciones de registro maestro
gbds.transactions_ref
La transactionstabla está destinada a almacenar los índices de todas las transacciones almacenadas en la base de datos GBDS y se describe de la siguiente manera:
gbds.transactions
La transactionstabla está destinada a almacenar información sobre el análisis de calidad de los datos biométricos de una transacción.
id
bigint
20
no nulo
Clave primaria; Clave privada de la base de datos relacional
tguid
varchar
255
no nulo
Referencia a la transaccióntransactions_ref.tguid
pguid
varchar
255
nulo
UGUID de la persona almacenada en HBase
active
tinyint
1
no nulo
Define si una versión de una persona es elegible para transacciones del Registro Maestro
finger_quality_extracted
tinyint
1
nulo
Falso si las huellas digitales pueden extraerse
face_quality_extracted
tinyint
1
nulo
Falso si el rostro puede extraerse en segundo plano. Verdadero si ya ha sido extraído.
created
datetime
6
nulo
timestamp de fecha y hora de creación de la transacción
updated
datetime
6
nulo
timestamp de fecha y hora de la última modificación de la transacción
enroll_status
varchar
255
nulo
Estado de inscripción (como ENQUEUED, PROCESSING, FAILED, y otros)
quality_status
varchar
255
nulo
Estado del análisis de calidad (como OK, PENDING, APPROVED, y otros)
extraction_time
varchar
255
nulo
Tiempo transcurrido para extracciones de plantillas
extraction_quality
varchar
255
nulo
Tiempo transcurrido para extracciones de calidad
match_time
int
11
nulo
Tiempo de correspondencia transcurrido para esta transacción
total_time
int
11
nulo
Operación total menos tiempo de espera en cola
type
varchar
20
nulo
Tipo de transacción. Enum: ENROLL, UPDATE, VERIFY,IDENTIFY
fingerprint_global_quality
int
11
nulo
Puntuación de calidad global de la huella digital
global_quality
int
11
nulo
Puntuación de calidad global del perfil
quality_extraction_api_id
varchar
255
nulo
ID de la API que realizará o realizó la extracción de calidad
latent
tinyint
1
nulo
Indica si la transacción es una búsqueda latente
ul
tinyint
1
nulo
Indica si la transacción es una búsqueda UL
api_id
varchar
255
nulo
El ID de la instancia de la API que recibió la transacción
num_fingers
int
11
nulo
El número de huellas digitales en la transacción
num_faces
int
11
nulo
El número de imágenes de rostro en la transacción (0 o 1)
gbds_version
varchar
255
no nulo
Versión de GBDS que procesó la transacción
ginger_extractor_type
enum
n/a
nulo
Tipo de extractor de ginger utilizado en la transacción. Enum: GRIAULE_FAST, GRIAULE_BASIC, GRIAULE_2020, GRIAULE_2024, GRIAULE_2018.
gbds.transaction_fields
La transaction_fieldstabla tiene como objetivo almacenar la información sobre la información de calidad y vincularla a la información no biométrica de la fieldstabla.
id
bigint
20
no nulo
Clave primaria; Clave privada de la base de datos relacional
fkey
varchar
255
nulo
Clave de campo que describe la información contenida (por ejemplo, si es un tipo de sangre, nombre de la madre, fecha de nacimiento, documento, etc.) Referencia afields.fkey
type
varchar
255
nulo
Tipo de información (búsqueda o label) Referencia afields.type
fvalue
varchar
255
nulo
Valor efectivo del campo (por ejemplo, el número del documento) Referencia afields.fvalue
transaction_id
bigint
20
no nulo
Id de la transacción. Referencia atransaction.id
gbds.transaction_fingerprint_quality
Las columnas de la tabla siguiente son dinámicas, de acuerdo con la extracción de calidad. Si ocurre alguna edición de los campos en versiones futuras, los datos aquí pueden quedar desactualizados por un momento.
transaction_id
bigint
20
no nulo
idx
int
11
no nulo
image_quality
int
11
nulo
template_quality
int
11
nulo
minutiae_count
int
11
nulo
blank
varchar
100
nulo
contrast
varchar
100
nulo
fingerArea
varchar
100
nulo
fingerCenterX
varchar
100
nulo
fingerCenterY
varchar
100
nulo
fingerExtentX
varchar
100
nulo
fingerExtentY
varchar
100
nulo
hasjoint
varchar
100
nulo
__index
varchar
100
nulo
marginBiteEast
varchar
100
nulo
marginBiteNorth
varchar
100
nulo
marginBiteSouth
varchar
100
nulo
marginBiteWest
varchar
100
nulo
nfiq
varchar
100
nulo
orientation
varchar
100
nulo
sizeX
varchar
100
nulo
sizeY
varchar
100
nulo
gbds.transaction_face_quality
Las columnas de la tabla siguiente son dinámicas, de acuerdo con la extracción de calidad. Si ocurre alguna edición de los campos en versiones futuras, los datos aquí pueden quedar desactualizados por un momento.
transaction_id
bigint
20
no nulo
idx
int
11
no nulo
image_quality
int
11
nulo
template_quality
int
11
nulo
autoBrightness
varchar
100
nulo
bgBelowPictureQuality
varchar
100
nulo
bgBlueStandardDeviation
varchar
100
nulo
bgDarknessQuality
varchar
100
nulo
bgGreenStandardDeviation
varchar
100
nulo
bgRedStandardDeviation
varchar
100
nulo
bgUniformityQuality
varchar
100
nulo
blurCompliance
varchar
100
nulo
busyBackground
varchar
100
nulo
busyBackgroundInCropped
varchar
100
nulo
cropContainmentError
varchar
100
nulo
eyesLookDown
varchar
100
nulo
eyesLookLeft
varchar
100
nulo
eyesLookRight
varchar
100
nulo
eyesLookUp
varchar
100
nulo
eyesObstruction
varchar
100
nulo
eyesTooClosed
varchar
100
nulo
eyesTooOpen
varchar
100
nulo
faceDown
varchar
100
nulo
faceLeft
varchar
100
nulo
faceObstruction
varchar
100
nulo
faceOrientationPitchCompliance
varchar
100
nulo
faceOrientationRollAngle
varchar
100
nulo
faceOrientationYawCompliance
varchar
100
nulo
faceRight
varchar
100
nulo
faceUp
varchar
100
nulo
glasses
varchar
100
nulo
grayscaleSpan
varchar
100
nulo
hat
varchar
100
nulo
heavyGlasses
varchar
100
nulo
icaoCompliance
varchar
100
nulo
leftEyeX
varchar
100
nulo
leftEyeY
varchar
100
nulo
mouthObstruction
varchar
100
nulo
mouthOpen
varchar
100
nulo
obstruction
varchar
100
nulo
openMouth
varchar
100
nulo
pictureHeight
varchar
100
nulo
pictureWidth
varchar
100
nulo
pixelated
varchar
100
nulo
redEye
varchar
100
nulo
result
varchar
100
nulo
rightEyeX
varchar
100
nulo
rightEyeY
varchar
100
nulo
saturated
varchar
100
nulo
saturationGrayscaleDistribGrade
varchar
100
nulo
saturationNumGrayTones
varchar
100
nulo
saturationOverExposure
varchar
100
nulo
shadows
varchar
100
nulo
skinColorCompliance
varchar
100
nulo
smile
varchar
100
nulo
smilingMouth
varchar
100
nulo
spoof
varchar
100
nulo
spoofGrade
varchar
100
nulo
tiltAngle
varchar
100
nulo
tooDark
varchar
100
nulo
unnaturalSkinColor
varchar
100
nulo
visibleTeeth
varchar
100
nulo
wrongFacePose
varchar
100
nulo
wrongShoulderPoseLeft
varchar
100
nulo
wrongShoulderPoseRight
varchar
100
nulo
gbds.biometrics
La tabla biometricsestá destinada a almacenar los datos biométricos de una persona, estando vinculada a las tablas transactiony al people_versionsistema. Se describe de la siguiente manera:
id
bigint
20
no nulo
Clave primaria; Clave privada de la base de datos relacional
idx
int
11
nulo
Índice de la biometría actual
quality
int
11
nulo
Puntuación de calidad para la plantilla biométrica extraída
type
varchar
255
nulo
Modalidad de la biometría actual
person_id
bigint
20
no nulo
Referencia a la personagbds.people.id
transaction_id
bigint
20
no nulo
Referencia a la transaccióntransactions_ref.id
person_version
bigint
11
no nulo
Referencia a la personapeople_version.version
gbds.fields
La tabla fields está destinada a almacenar la información no biométrica de una persona, estando vinculada a las transactiontablas people_version. Se describe de la siguiente manera:
id
bigint
20
no nulo
Clave primaria; Clave privada de la base de datos relacional
fkey
varchar
255
nulo
Clave de campo que describe la información contenida (por ejemplo, si es un tipo de sangre, nombre de la madre, fecha de nacimiento, documento, etc.)
type
varchar
255
nulo
Tipo de información (búsqueda o label)
fvalue
varchar
255
nulo
Valor efectivo del campo (por ejemplo, el número del documento)
person_id
bigint
20
no nulo
Referencia a la personaperson.id
person_version
int
11
no nulo
Referencia a la personapeople_version.version
gbds.exceptions
La tabla exceptionsestá destinada a almacenar la información de cualquier excepción biométrica y su tratamiento. Se describe a continuación:
id
bigint
20
no nulo
Clave primaria; Clave privada de la base de datos relacional
aguid
varchar
255
no nulo
Excepción almacenada del HBase UGUID
comments
varchar
255
nulo
Cualquier comentario proporcionado al tratar la excepción
_timestamp
datetime
6
nulo
timestamp de fecha y hora para la creación de la excepción
status
varchar
255
no nulo
El estado actual de la excepción se define si está tratada o pendiente
user
varchar
255
nulo
Identificación del usuario responsable del tratamiento de la excepción
reference_person_id
bigint
20
no nulo
Clave externa: Referencia a la persona de referenciapeople.id
entrant_person_id
bigint
20
no nulo
Clave externa: Referencia a la persona entrantepeople.id
transaction_id
bigint
20
no nulo
Clave externa: Referencia a la transaccióntransactions_ref.id
reference_person_version
int
11
no nulo
Clave externa: Referencia a la persona de referenciapeople_version.version
entrant_person_version
int
11
no nulo
Clave externa: Referencia a la persona entrantepeople_version.version
gbds.apis
El apises usado por GBDS para gestionar varias APIs activas al mismo tiempo.
api-id
varchar
255
no nulo
ID de la instancia de API exclusiva
hostname
varchar
255
no nulo
Nombre de host del nodo donde se está ejecutando la API
port
int
11
no nulo
Puerto donde se está ejecutando la API
type
varchar
255
nulo
Tipo de instancia de la API (LEADER, RUNNER o nulo)
Al iniciar la API, cada API buscará por sí misma en esta tabla. Si no se encuentra con nombre de host/IP y puerto, se inserta en la tabla con un GUID como api-id y tipo nulo , lo que significa que no está lista para la extracción de calidad. Los cambios aplicados directamente a esta tabla se analizarán cada 15 minutos.
Tablas de latentes no resueltos (UL)
Las tablas de Latentes No Resueltos se usan para almacenar información sobre los datos de la UL y los candidatos. Las tablas se describen a continuación.
gbds.ul
La tabla ulha sido diseñada para almacenar todas las UL de GBDS y se describe de la siguiente manera:
uguid
varchar
255
no nulo
Clave primaria; UGUID almacenado en HBase
ul_status
varchar
255
no nulo
UNSOLVEDo SOLVED; HBase replica este estado
creation_time
timestamp
4
no nulo
current_timestamppor defecto
person_pguid
varchar
255
nulo
PGUID de la persona correspondiente cuandoSOLVED
person_tguid
varchar
255
nulo
TGUID de la persona correspondiente cuandoSOLVED
fragment_id
varchar
255
nulo
ID del fragmento original para el fragmento que generó la UL
fragment_case_id
varchar
255
nulo
ID del caso original para el fragmento que generó la UL
fragment_index
int
11
nulo
Índice de fragmentos para la UL. Por defecto, el índice se define como -1(índice desconocido, cualquier índice)
analysis_user
varchar
255
nulo
Usuario responsable del análisis de UL
analysis_timestamp
timestamp
4
nulo
timestamp de fecha y hora del análisis
group_guid
varchar
255
no nulo
GUID de agrupación (para listar UL vinculadas)
gbds.ul_candidates
La tabla ul_candidates ha sido diseñada para almacenar los candidatos de cada UL que GBDS mantiene después de cualquier CORRESPONDENCIA LATENTE INVERSA realizada en inscripciones que generaron una correspondencia con una UL, y se describe de la siguiente manera:
ul_uguid
varchar
255
no nulo
Clave primaria; UGUID de la UL
person_pguid
varchar
255
no nulo
Clave primaria; PGUID del candidato
person_tguid
varchar
255
no nulo
Clave primaria; TGUID del candidato
person_index
int
11
no nulo
Clave primaria; Dedo índice candidato
score
int
11
no nulo
Puntuación de matching correspondiente para el candidato
deleted
tinyint
1
no nulo
0por defecto, indica si el candidato fue eliminado para ser excluido al realizar operaciones de listado de candidatos
minutiae
longblob
Hasta 4Gb
nulo
Serialización JSON que contiene las minucias correspondientes. Es una lista con la siguiente estructura:
- queryIndex, int
- referenceIndex,int
Tablas de notificación
Las tablas de notificación se usan para almacenar datos con fines de auditoría, como correos electrónicos, personas que serán notificadas y grupos.
gbds.notify_user
La tabla notify_user ha sido diseñada para almacenar los datos del usuario autenticado por gbds.
id
bigint
20
no nulo
Clave primaria; ID exclusivo del usuario.
username
varchar
255
no nulo
nombre de usuario gbds autenticado
gbds.notify_group
La tabla notify_groupha sido diseñada para almacenar información de los grupos de notificación.
id
bigint
20
no nulo
Clave primaria;
name
varchar
255
no nulo
Nombre del grupo
enabled
tinyint
1
no nulo
Define si el grupo estará activo o no
gbds.notify_group_email
La tabla notify_group_email ha sido diseñada para almacenar los correos electrónicos de un determinado grupo.
notify_group_id
bigint
20
no nulo
Clave primaria; ID del grupo.
varchar
255
no nulo
Clave primaria; Correo electrónico que pertenece al grupo
gbds.notify_user_group
La tabla notify_user_group ha sido diseñada para almacenar información de a qué grupo pertenece un determinado usuario.
notify_user_id
bigint
20
no nulo
Clave primaria; Referencia al usuarionotify_user.id
notify_group_id
bigint
20
no nulo
Clave primaria; Referencia al gruponotify_group_email.notify_group.id
gbds.people_transparency
La tabla people_transparency ha sido diseñada para almacenar información sobre una determinada persona y qué acciones se toman cuando esa persona es consultada.
id
bigint
20
no nulo
Clave primaria;
pguid
varchar
255
no nulo
Referencia a la personapeople.pguid
enabled
tinyint
1
no nulo
Referencia a la personapeople.pguid
action
varchar
255
nulo
Acción a tomar
gbds.people_transparency_group
La tabla people_transparency_group ha sido diseñada para almacenar información sobre los grupos a los que pertenece una persona.
people_transparency_id
bigint
20
no nulo
Clave primaria; Referencia a people_transparency'speople_transparency.id
notify_group_id
bigint
20
no nulo
Clave primaria; Referencia al gruponotify_group_email.notify_group.id
Tablas de configuración de GBDS
GBDS utiliza una base de datos relacional para almacenar algunas configuraciones de la API y de GBDS. La tabla de configuración es una tabla especial diseñada para controlar determinadas configuraciones de GBDS y de la API de GBDS. Estas configuraciones se almacenan en la gbds.settingstabla. La tabla puede contener configuraciones presentes en la API de GBDS, en GBDS o en ambos, siguiendo el esquema a continuación:
skey
varchar
255
no nulo
Clave primaria. Nombre de la clave de parámetro.
stype
varchar
50
no nulo
Lugar de donde proviene el parámetro. API o GBDS
svalue
varchar
4096
nulo
Valor del parámetro
description
varchar
4096
nulo
Descripción del parámetro
stimestamp
datetime
6
no nulo
Marca de tiempo
host
varchar
1024
nulo
Nombre de host de un nodo
Todas las configuraciones encontradas en la tabla se escribirán en el respectivo archivo, gbdsapi.propertiestanto para la API de GBDS como application.confpara el GBDS, cada 15 minutos. Además, todas las configuraciones actualizadas en memoria, tanto en la API como en el GBDS, serán propagadas.
El valor del parámetro definido en la gbds.settingstabla se propagará a TODOS los nodos.
Esta funcionalidad está controlada por un parámetro de configuración en la tabla, gbds.rdbSystemConfiguration.enabled. Este parámetro permitirá la sustitución de los valores de configuración del GBDS y de la API. Definir el valor del parámetro como BOTHhará que las configuraciones del GBDS y de la API sean sustituidas.
gbscluster.min.quality
API
gbds.enroll.fingerprints.min-nr-template
API
gbds.enroll.face.min-nr-template
API
gbds.enroll.iris.min-nr-template
API
gbds.enroll.palmprint.min-nr-template
API
gbds.enroll.newborn-palmprint.min-nr-template
API
gbscluster.enroll.fingerprints.verify.matchthreshold
API
gbscluster.update.min.quality
API
gbds.transparency.search.identify.request.notify.enabled
API
gbds.transparency.search.identify.result.actions.enabled
API
gbds.api.logLevel
API
gbds.extraction.service
API
gbds.extraction.service.face.count
API
gbds.extraction.service.ginger.count
API
gbds.extraction.service.girl.count
API
gbds.extraction.service.hostname
API
gbds.extraction.service.initialPort
API
gbds.extraction.service.logLevel
API
gbds.extraction.service.maxTries
API
gbds.extraction.service.linkLibSegfault
API
gbds.extraction.quality.service
API
gbds.extraction.quality.fillTransactionQualityPropertiesTable
API
gbds.faces.extraction.quality.api
API
gbds.faces.extraction.quality.background
API
gbds.fingerprints.extraction.quality.api
API
gbds.fingerprints.extraction.quality.background
API
gbds.extraction.quality.service.finger.count
API
gbds.extraction.quality.service.face.count
API
gbds.extraction.quality.service.initialPort
API
gbds.extraction.quality.service.logLevel
API
gbds.extraction.quality.service.timeout
API
gbds.extraction.quality.service.hostname
API
gbds.extraction.quality.service.maxTries
API
gbds.extraction.quality.service.linkLibSegfault
API
gbds.extraction.quality.service.rows-on-select
API
gbds.extraction.quality.service.submitted-queue-factor
API
gbds.enroll.face.min.quality
API
gbds.update.face.min.quality
API
gbds.monitor.url
API
gbds.template.face.multiplicity
API
gbds.biographicBase.enabled
API
gbds.biographicBase.endpoints
API
gbds.biographicBase.get.timeout.ms
API
gbds.biographicBase.list.timeout.ms
API
gbds.biographicBase.logLevel
API
gbds.biographicBase.clientID
API
gbds.biographicBase.clientSecret
API
gbds.biographicBase.lookAllServers
API
gbscluster.fingerprints.extraction.enroll.type
API
gbscluster.fingerprints.extraction.verify.type
API
gbds.update.exception.reextract
API
gbds.update.exception.reextract.save
API
gbds.biographicBase.autoUpdate
API
gbds.biographicBase.sendPguidAsKey
API
gbds.biographicBase.sendTguidAsKey
API
gbds.log.diagnose
GBDS
gbds.ul.boot.scan.enabled
GBDS
gbds.boot.scan.ignoreErrorsOnRegion
GBDS
gbds.boot.matcher.creation.sleepTime.ms
GBDS
gbds.biometric.fingerprint.identify.threshold
GBDS
gbds.biometric.fingerprint.exception.threshold
GBDS
gbds.biometric.fingerprint.exception.enabled
GBDS
gbds.biometric.fingerprint.exception.enroll.min-matches-for-exception
GBDS
gbds.biometric.face.identify.threshold
GBDS
gbds.biometric.face.exception.threshold
GBDS
gbds.peopleList.countFromRDB
GBDS
gbds.biometric.face.enabled.threshold
GBDS
gbds.driver.logLevel
GBDS
gbds.log.loadUnload
GBDS
gbds.template.memory.format
GBDS
gbds.match.service.enabled
GBDS
gbds.match.service.initialPort
GBDS
gbds.match.service.logLevel
GBDS
gbds.match.service.timeout
GBDS
gbds.match.service.templateSend.parallelByModality
GBDS
gbds.match.service.linkLibSegfault
GBDS
gbds.match.service.maxTries
GBDS
gbds.match.service.maxConnectionErrors
GBDS
gbds.memory-monitor
GBDS
gbds.watchdog.interval
GBDS
gbds.watchdog.log.mode
GBDS
gbds.watchdog.log.level
GBDS
gbds.verifyPostMatch.enabled
GBDS
gbds.transparency.search.identify.result.notify.enabled
BOTH
gbds.transparency.email-notifier.url
BOTH
gbds.transparency.email-notifier.log-level
BOTH
gbds.transparency.email-notifier.timeout
BOTH
gbscluster.update.consider.fingerprints
BOTH
gbscluster.update.consider.faces
BOTH
gbscluster.update.consider.faces.beforeFingerprints
BOTH
gbscluster.update.faces.verify.matchthreshold
BOTH
gbscluster.update.minimum.fingers
BOTH
gbds.search.verify.adjust-resolution
BOTH
Otras configuraciones pueden colocarse en la tabla gbds.settingsen rdb y todas se escribirán en la API o en el archivo GBDS, de acuerdo con el tipo de configuración. Sin embargo, las recargas de memoria en tiempo de ejecución no se realizarán para estas nuevas configuraciones, solo después de reiniciar la API y/o el GBDS.
Última actualización
¿Te fue útil?

