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:

Columna
Tipo
Tamaño
Valor
Información adicional

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:

Columna
Tipo
Tamaño
Valor
Información adicional

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:

Columna
TIpo
Tamaño
Valor
Información adicional

id

bigint

20

not null

Clave primaria; Clave privada de la base de datos relacional

tguid

varchar

255

not null

UGUID de la transacción almacenada en HBase

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.

Columna
Tipo
Tamaño
Valor
Información Adicional

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.

Columna
Tipo
Tamaño
Valor
Información adicional

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.

Columna
Tipo
Tamaño
Valor

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.

Columna
Tipo
Tamaño
Valor

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:

Columna
Tipo
Tamaño
Valor
Información Adicional

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:

Columna
Tipo
Tamaño
Valor
Información Adicional

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:

Columna
Tipo
Tamaño
Valor
Información Adicional

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.

Columna
Tipo
Tamaño
Valor
Información Adicional

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:

Columna
Tipo
Tamaño
Valor
Información Adicional

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:

Columna
Tipo
Tamaño
Valor
Información Adicional

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.

Columna
Tipo
Tamaño
Valor
Información Adicional

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.

Column
Type
Size
Value
Información Adicional

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.

Columna
Tipo
Tamaño
Valor
Información Adicional

notify_group_id

bigint

20

not null

Clave primaria; ID del grupo.

email

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.

Columna
Tipo
Tamaño
Valor
Información Adicional

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.

Columna
Tipo
Tamaño
Valor
Información Adicional

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.

Column
Type
Size
Value
Información Adicional

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:

Tipo
Tipo
Tamaño
Valor
Información Adicional

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.

El valor del parámetro definido en la gbds.settingstabla será propagado a TODOS los nodos.

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.

gbds.settings / Clave de configuración de archivo
Tipo

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?