Bases de Datos Relacionales GBDS
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 Resueltas (UL);
Las tablas de Notificación;
Las tablas de configuraciones del GBDS.
Tablas generales
Las tablas generales son tablas que almacenan información vital para la operación del GBDS, como excepciones, información sobre personas, información sobre transacciones y otras. Estas tablas se describen a continuación.
gbds.people
La peoplela tabla 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
not null
Clave primaria; Clave privada de la base de datos relacional
pguid
varchar
255
not null
UGUID personal almacenado en HBase
deleted
tinyint
1
null
Indica si el candidato fue eliminado, para que no sea incluido cuando se realicen operaciones de listado
gbds.people_version
La people_versionla tabla 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
not null
Clave primaria; Índice de versión (incremental a partir del primer cambio)
person_id
bigint
20
not null
Referencia a la personagbds.people.id
_timestamp
datetime
6
null
sello de fecha y hora para la versión actual de una persona
deleted
tinyint
1
null
Indica si el candidato fue excluido para ejecutarse al realizar operaciones de listado de candidatos
active
tinyint
1
null
Define si una versión de una persona es elegible para transacciones de registro maestro
gbds.transactions_ref
La transactionsla tabla 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 transactionsla tabla está destinada a almacenar información sobre el análisis de calidad de los datos biométricos de una transacción.
id
bigint
20
not null
Clave primaria; Clave privada de la base de datos relacional
tguid
varchar
255
not null
Referencia a la transaccióntransactions_ref.tguid
pguid
varchar
255
null
UGUID de la persona almacenada en HBase
active
tinyint
1
not null
Define si una versión de una persona es elegible para transacciones del Registro Maestro
finger_quality_extracted
tinyint
1
null
Falso si las huellas dactilares pueden ser extraídas
face_quality_extracted
tinyint
1
null
Falso si el rostro puede ser extraído en segundo plano. Verdadero si ya ha sido extraído.
created
datetime
6
null
sello de fecha y hora de creación de la transacción
updated
datetime
6
null
sello de fecha y hora de la última modificación de la transacción
enroll_status
varchar
255
null
Estado de inscripción (como ENQUEUED, PROCESSING, FAILED, y otros)
quality_status
varchar
255
null
Estado del análisis de calidad (como OK, PENDING, APPROVED, y otros)
extraction_time
varchar
255
null
Tiempo transcurrido para extracciones de modelos
extraction_quality
varchar
255
null
Tiempo transcurrido para extracciones de calidad
match_time
int
11
null
Tiempo de emparejamiento transcurrido para esta transacción
total_time
int
11
null
Operación total menos tiempo de espera en la cola
type
varchar
20
null
Tipo de transacción. Enum: ENROLL, UPDATE, VERIFY,IDENTIFY
fingerprint_global_quality
int
11
null
Puntuación de calidad global de huella dactilar
global_quality
int
11
null
Puntuación de calidad global del perfil
quality_extraction_api_id
varchar
255
null
ID de la API que realizará o realizó la extracción de calidad
latent
tinyint
1
null
Indica si la transacción es una búsqueda latente
ul
tinyint
1
null
Indica si la transacción es una búsqueda UL
api_id
varchar
255
null
El ID de la instancia de la API que recibió la transacción
num_fingers
int
11
null
El número de huellas dactilares en la transacción
num_faces
int
11
null
El número de imágenes de rostro en la transacción (0 o 1)
gbds_version
varchar
255
not null
Versión del GBDS que procesó la transacción
ginger_extractor_type
enum
n/a
null
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_fieldsla tabla tiene como objetivo almacenar la información sobre la calidad y vincularla a la información no biométrica de fieldstabla.
id
bigint
20
not null
Clave primaria; Clave privada de la base de datos relacional
fkey
varchar
255
null
Clave de campo que describe la información contenida (por ejemplo, si es un tipo sanguíneo, nombre de la madre, fecha de nacimiento, documento, etc.) Referencia afields.fkey
type
varchar
255
null
Tipo de información (búsqueda o label) Referencia afields.type
fvalue
varchar
255
null
Valor efectivo del campo (por ejemplo, el número del documento) Referencia afields.fvalue
transaction_id
bigint
20
not null
Id de la transacción. Referencia atransaction.id
gbds.transaction_fingerprint_quality
Las columnas de la tabla a continuación son dinámicas, de acuerdo con la extracción de calidad. En caso de que ocurra alguna edición de los campos en versiones futuras, los datos aquí pueden quedar desactualizados por un momento.
transaction_id
bigint
20
not null
idx
int
11
not null
image_quality
int
11
null
template_quality
int
11
null
minutiae_count
int
11
null
blank
varchar
100
null
contrast
varchar
100
null
fingerArea
varchar
100
null
fingerCenterX
varchar
100
null
fingerCenterY
varchar
100
null
fingerExtentX
varchar
100
null
fingerExtentY
varchar
100
null
hasjoint
varchar
100
null
__index
varchar
100
null
marginBiteEast
varchar
100
null
marginBiteNorth
varchar
100
null
marginBiteSouth
varchar
100
null
marginBiteWest
varchar
100
null
nfiq
varchar
100
null
orientation
varchar
100
null
sizeX
varchar
100
null
sizeY
varchar
100
null
gbds.transaction_face_quality
Las columnas de la tabla a continuación son dinámicas, de acuerdo con la extracción de calidad. En caso de que ocurra alguna edición de los campos en versiones futuras, los datos aquí pueden quedar desactualizados por un momento.
transaction_id
bigint
20
not null
idx
int
11
not null
image_quality
int
11
null
template_quality
int
11
null
autoBrightness
varchar
100
null
bgBelowPictureQuality
varchar
100
null
bgBlueStandardDeviation
varchar
100
null
bgDarknessQuality
varchar
100
null
bgGreenStandardDeviation
varchar
100
null
bgRedStandardDeviation
varchar
100
null
bgUniformityQuality
varchar
100
null
blurCompliance
varchar
100
null
busyBackground
varchar
100
null
busyBackgroundInCropped
varchar
100
null
cropContainmentError
varchar
100
null
eyesLookDown
varchar
100
null
eyesLookLeft
varchar
100
null
eyesLookRight
varchar
100
null
eyesLookUp
varchar
100
null
eyesObstruction
varchar
100
null
eyesTooClosed
varchar
100
null
eyesTooOpen
varchar
100
null
faceDown
varchar
100
null
faceLeft
varchar
100
null
faceObstruction
varchar
100
null
faceOrientationPitchCompliance
varchar
100
null
faceOrientationRollAngle
varchar
100
null
faceOrientationYawCompliance
varchar
100
null
faceRight
varchar
100
null
faceUp
varchar
100
null
glasses
varchar
100
null
grayscaleSpan
varchar
100
null
hat
varchar
100
null
heavyGlasses
varchar
100
null
icaoCompliance
varchar
100
null
leftEyeX
varchar
100
null
leftEyeY
varchar
100
null
mouthObstruction
varchar
100
null
mouthOpen
varchar
100
null
obstruction
varchar
100
null
openMouth
varchar
100
null
pictureHeight
varchar
100
null
pictureWidth
varchar
100
null
pixelated
varchar
100
null
redEye
varchar
100
null
result
varchar
100
null
rightEyeX
varchar
100
null
rightEyeY
varchar
100
null
saturated
varchar
100
null
saturationGrayscaleDistribGrade
varchar
100
null
saturationNumGrayTones
varchar
100
null
saturationOverExposure
varchar
100
null
shadows
varchar
100
null
skinColorCompliance
varchar
100
null
smile
varchar
100
null
smilingMouth
varchar
100
null
spoof
varchar
100
null
spoofGrade
varchar
100
null
tiltAngle
varchar
100
null
tooDark
varchar
100
null
unnaturalSkinColor
varchar
100
null
visibleTeeth
varchar
100
null
wrongFacePose
varchar
100
null
wrongShoulderPoseLeft
varchar
100
null
wrongShoulderPoseRight
varchar
100
null
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
not null
Clave primaria; Clave privada de la base de datos relacional
idx
int
11
null
Índice de la biometría actual
quality
int
11
null
Puntuación de calidad para el modelo biométrico extraído
type
varchar
255
null
Modalidad de la biometría actual
person_id
bigint
20
not null
Referencia a la personagbds.people.id
transaction_id
bigint
20
not null
Referencia a la transaccióntransactions_ref.id
person_version
bigint
11
not null
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
not null
Clave primaria; Clave privada de la base de datos relacional
fkey
varchar
255
null
Clave de campo que describe la información contenida (por ejemplo, si es un tipo sanguíneo, nombre de la madre, fecha de nacimiento, documento, etc.)
type
varchar
255
null
Tipo de información (búsqueda o label)
fvalue
varchar
255
null
Valor efectivo del campo (por ejemplo, el número del documento)
person_id
bigint
20
not null
Referencia a la personaperson.id
person_version
int
11
not null
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
not null
Clave primaria; Clave privada de la base de datos relacional
aguid
varchar
255
not null
Excepción almacenada UGUID de HBase
comments
varchar
255
null
Cualquier comentario proporcionado al tratar la excepción
_timestamp
datetime
6
null
sello de fecha y hora para la creación de la excepción
estado
varchar
255
not null
El estado actual de la excepción define si está tratada o pendiente
user
varchar
255
null
Identificación del usuario responsable del tratamiento de la excepción
reference_person_id
bigint
20
not null
Clave foránea: Referencia a la persona de referenciapeople.id
entrant_person_id
bigint
20
not null
Clave foránea: Referencia a la persona que entrapeople.id
transaction_id
bigint
20
not null
Clave foránea: Referencia a la transaccióntransactions_ref.id
reference_person_version
int
11
not null
Clave foránea: Referencia a la persona de referenciapeople_version.version
entrant_person_version
int
11
not null
Clave foránea: Referencia a la persona que entrapeople_version.version
gbds.apis
El apises usado por GBDS para gestionar varias APIs activas al mismo tiempo.
api-id
varchar
255
not null
ID de la instancia de API única
nombre de host
varchar
255
not null
Nombre del host del nodo donde la API se está ejecutando
port
int
11
not null
Puerto donde la API se está ejecutando
type
varchar
255
null
Tipo de instancia de la API (LEADER, RUNNER o nulo)
Al iniciarse la API, cada API se buscará a sí misma en esta tabla. Si no se encuentra por 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 latentes no resueltas (UL)
Las tablas de Latentes No Resueltas 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 ulfue diseñada para almacenar todos los UL del GBDS y se describe de la siguiente forma:
uguid
varchar
255
not null
Clave primaria; UGUID almacenado en HBase
ul_status
varchar
255
not null
UNSOLVEDo SOLVED; HBase replica este estado
creation_time
timestamp
4
not null
current_timestamppor defecto
person_pguid
varchar
255
null
PGUID de la persona correspondiente cuandoSOLVED
person_tguid
varchar
255
null
TGUID de la persona correspondiente cuandoSOLVED
fragment_id
varchar
255
null
ID del fragmento original para el fragmento que generó el UL
fragment_case_id
varchar
255
null
ID del caso original para el fragmento que generó el UL
fragment_index
int
11
null
Índice de fragmentos para el UL. Por defecto, el índice se define como -1(índice desconocido, cualquier índice)
analysis_user
varchar
255
null
Usuario responsable del análisis UL
analysis_timestamp
timestamp
4
null
sello de fecha y hora del análisis
group_guid
varchar
255
not null
GUID de agrupamiento (para listar ULs vinculadas)
gbds.ul_candidates
La tabla ul_candidates fue diseñada para almacenar los candidatos de cada UL que el GBDS mantiene después de cualquier CORRESPONDENCIA LATENTE INVERSA realizada en inscripciones que generaron una coincidencia con una UL, y se describe de la siguiente manera:
ul_uguid
varchar
255
not null
Clave primaria; UL UGUID
person_pguid
varchar
255
not null
Clave primaria; PGUID del candidato
person_tguid
varchar
255
not null
Clave primaria; TGUID del candidato
person_index
int
11
not null
Clave primaria; Dedo indicador candidato
score
int
11
not null
Puntuación de matching correspondiente para el candidato
deleted
tinyint
1
not null
0por defecto, indica si el candidato fue excluido para ser excluido al realizar operaciones de listado de candidatos
minutiae
longblob
Hasta 4Gb
null
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 fue diseñada para almacenar los datos del usuario autenticado por gbds.
id
bigint
20
not null
Clave primaria; ID único del usuario.
username
varchar
255
not null
nombre de usuario gbds autenticado
gbds.notify_group
La tabla notify_groupfue diseñada para almacenar información de los grupos de notificación.
id
bigint
20
not null
Clave primaria;
name
varchar
255
not null
Nombre del grupo
enabled
tinyint
1
not null
Define si el grupo estará activo o no
gbds.notify_group_email
La tabla notify_group_email fue diseñada para almacenar los correos electrónicos de un determinado grupo.
notify_group_id
bigint
20
not null
Clave primaria; ID del grupo.
varchar
255
not null
Clave primaria; Correo electrónico que pertenece al grupo
gbds.notify_user_group
La tabla notify_user_group fue diseñada para almacenar información de a qué grupo pertenece un determinado usuario.
notify_user_id
bigint
20
not null
Clave primaria; Referencia al usuarionotify_user.id
notify_group_id
bigint
20
not null
Clave primaria; Referencia al gruponotify_group_email.notify_group.id
gbds.people_transparency
La tabla people_transparency fue diseñada para almacenar información sobre una determinada persona y qué acciones se toman cuando esa persona es consultada.
id
bigint
20
not null
Clave primaria;
pguid
varchar
255
not null
Referencia a la personapeople.pguid
enabled
tinyint
1
not null
Referencia a la personapeople.pguid
action
varchar
255
null
Acción a tomar
gbds.people_transparency_group
La tabla people_transparency_group fue diseñada para almacenar información sobre los grupos a los que una persona pertenece.
people_transparency_id
bigint
20
not null
Clave primaria; Referencia a people_transparency'speople_transparency.id
notify_group_id
bigint
20
not null
Clave primaria; Referencia al gruponotify_group_email.notify_group.id
Tablas de configuraciones del GBDS
GBDS utiliza una base de datos relacional para almacenar algunas configuraciones de la API y del GBDS. La tabla de configuraciones es una tabla especial diseñada para controlar determinadas configuraciones del GBDS y de la API del GBDS. Estas configuraciones se almacenan en la gbds.settingstabla. La tabla puede contener configuraciones presentes en la API del GBDS, en el GBDS o en ambos, siguiendo el esquema abajo:
skey
varchar
255
not null
Clave primaria. Nombre de la clave de parámetro.
stype
varchar
50
not null
Lugar de donde proviene el parámetro. API o GBDS
svalue
varchar
4096
null
Valor del parámetro
description
varchar
4096
null
Descripción del parámetro
stimestamp
datetime
6
not null
Sello de fecha y hora
host
varchar
1024
null
Nombre del host de un nodo
Todas las configuraciones encontradas en la tabla serán escritas en el respectivo archivo, gbdsapi.propertiestanto para la API del 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.
Este recurso es controlado 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. Establecer 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 serán registradas 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 del reinicio de la API y/o del GBDS.
Última actualización
¿Te fue útil?

