Banco de Dados Relacionais GBDS
Introdução
Este manual descreve todas as tabelas, esquemas e informações dos bancos de dados relacionais do GBDS 4.x . O GBDS utiliza um banco de dados relacional para armazenar metadados sobre pessoas, transações, grupos de notificação, substituições de configurações e exceções.
O documento está dividido em quatro seções que descrevem:
As tabelas gerais ;
As tabelas de Latentes Não Resolvidas (UL) ;
As tabelas de Notificação ;
As tabelas de configurações do GBDS .
Tabelas gerais
As tabelas gerais são tabelas que armazenam informações vitais para a operação do GBDS, como exceções, informações sobre pessoas, informações sobre transações e outras. Essas tabelas são descritas abaixo.
gbds.people
A people
tabela destina-se a armazenar os índices de todas as pessoas armazenadas no banco de dados GBDS e é descrita da seguinte forma:
id
bigint
20
not null
Chave primária; Chave privada do banco de dados relacional
pguid
varchar
255
not null
UGUID pessoal armazenado no HBase
deleted
tinyint
1
null
Indica se o candidato foi deletado, para que ele não seja incluido quando operações de listagem forem performadas
gbds.people_version
A people_version
tabela destina-se a armazenar as informações sobre as últimas alterações no cadastro de uma pessoa e é descrita da seguinte forma:
version
int
11
not null
Chave primária; Índice de versão (incremental a partir da primeira alteração)
person_id
bigint
20
not null
Referência à pessoagbds.people.id
_timestamp
datetime
6
null
timestamp de data e hora para a versão atual de uma pessoa
deleted
tinyint
1
null
Indica se o candidato foi excluído para ser executado ao realizar operações de listagem de candidatos
active
tinyint
1
null
Define se uma versão de um povo é elegível para transações de registro mestre
gbds.transactions_ref
A transactions
tabela destina-se a armazenar os índices de todas as transações armazenadas no banco de dados GBDS e é descrita da seguinte forma:
gbds.transactions
A transactions
tabela destina-se a armazenar informações sobre a análise de qualidade dos dados biométricos de uma transação.
id
bigint
20
not null
Chave primária; Chave privada do banco de dados relacional
tguid
varchar
255
not null
Referência à transaçãotransactions_ref.tguid
pguid
varchar
255
null
UGUID da pessoa armazenada no HBase
active
tinyint
1
not null
Define se uma versão de uma pessoa é elegível para transações do Registro Mestre
finger_quality_extracted
tinyint
1
null
Falso se as impressões digitais puderem ser extraídas
face_quality_extracted
tinyint
1
null
Falso se o rosto puder ser extraído em segundo plano. Verdadeiro se já tiver sido extraído.
created
datetime
6
null
timestamp de data e hora de criação da transação
updated
datetime
6
null
timestamp de data e hora da última modificação da transação
enroll_status
varchar
255
null
Status da inscrição (como ENQUEUED
, PROCESSING
, FAILED
, e outros)
quality_status
varchar
255
null
Status da análise de qualidade (como OK
, PENDING
, APPROVED
, e outros)
extraction_time
varchar
255
null
Tempo decorrido para extrações de modelos
extraction_quality
varchar
255
null
Tempo decorrido para extrações de qualidade
match_time
int
11
null
Tempo de correspondência decorrido para esta transação
total_time
int
11
null
Operação total menos tempo de espera na fila
type
varchar
20
null
Tipo de transação. Enum: ENROLL
, UPDATE
, VERIFY
,IDENTIFY
fingerprint_global_quality
int
11
null
Pontuação de qualidade global de impressão digital
global_quality
int
11
null
Pontuação de qualidade global do perfil
quality_extraction_api_id
varchar
255
null
ID da API que realizará ou realizou a extração de qualidade
latent
tinyint
1
null
Sinaliza se a transação é uma pesquisa latente
ul
tinyint
1
null
Sinaliza se a transação é uma pesquisa UL
api_id
varchar
255
null
O ID da instância da API que recebeu a transação
num_fingers
int
11
null
O número de impressões digitais na transação
num_faces
int
11
null
O número de imagens de rosto na transação (0 ou 1)
gbds_version
varchar
255
not null
Versão do GBDS que processou a transação
ginger_extractor_type
enum
n/a
null
Tipo de extrator de gengibre utilizado na transação. Enum: GRIAULE_FAST
, GRIAULE_BASIC
, GRIAULE_2020
, GRIAULE_2024
, GRIAULE_2018
.
gbds.transaction_fields
A transaction_fields
tabela tem como objetivo armazenar as informações sobre as informações de qualidade e vinculá-las às informações não biométricas da fields
tabela.
id
bigint
20
not null
Chave primária; Chave privada do banco de dados relacional
fkey
varchar
255
null
Chave de campo que descreve as informações contidas (por exemplo, se é um tipo sanguíneo, nome da mãe, data de nascimento, documento, etc.) Referência afields.fkey
type
varchar
255
null
Tipo de informação (pesquisa ou label
) Referência afields.type
fvalue
varchar
255
null
Valor efetivo do campo (por exemplo, o número do documento) Referência afields.fvalue
transaction_id
bigint
20
not null
Id da transação. Referência atransaction.id
gbds.transaction_fingerprint_quality
As colunas da tabela abaixo são dinâmicas, de acordo com a extração de qualidade. Caso ocorra alguma edição dos campos em versões futuras, os dados aqui podem ficar desatualizados por um 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
As colunas da tabela abaixo são dinâmicas, de acordo com a extração de qualidade. Caso ocorra alguma edição dos campos em versões futuras, os dados aqui podem ficar desatualizados por um 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
A tabela biometrics
destina-se a armazenar os dados biométricos de uma pessoa, estando vinculada às tabelas transaction
e ao people_version
sistema. Ela é descrita da seguinte forma:
id
bigint
20
not null
Chave primária; Chave privada do banco de dados relacional
idx
int
11
null
Índice da biometria atual
quality
int
11
null
Pontuação de qualidade para o modelo biométrico extraído
type
varchar
255
null
Modalidade da biometria atual
person_id
bigint
20
not null
Referência à pessoagbds.people.id
transaction_id
bigint
20
not null
Referência à transaçãotransactions_ref.id
person_version
bigint
11
not null
Referência à pessoapeople_version.version
gbds.fields
A tabela fields
destina-se a armazenar as informações não biométricas de uma pessoa, estando vinculada às transaction
tabelas people_version
. Ela é descrita da seguinte forma:
id
bigint
20
not null
Chave primária; Chave privada do banco de dados relacional
fkey
varchar
255
null
Chave de campo que descreve as informações contidas (por exemplo, se é um tipo sanguíneo, nome da mãe, data de nascimento, documento, etc.)
type
varchar
255
null
Tipo de informação (pesquisa ou label
)
fvalue
varchar
255
null
Valor efetivo do campo (por exemplo, o número do documento)
person_id
bigint
20
not null
Referência à pessoaperson.id
person_version
int
11
not null
Referência à pessoapeople_version.version
gbds.exceptions
A tabela exceptions
destina-se a armazenar as informações de qualquer exceção biométrica e seu tratamento. Ela é descrita a seguir:
id
bigint
20
not null
Chave primária; Chave privada do banco de dados relacional
aguid
varchar
255
not null
Exceção armazenada do HBase UGUID
comments
varchar
255
null
Quaisquer comentários fornecidos ao tratar a exceção
_timestamp
datetime
6
null
timestamp de data e hora para a criação da exceção
status
varchar
255
not null
O status atual da exceção é definido se ela está tratada ou pendente
user
varchar
255
null
Identificação do usuário responsável pelo tratamento da exceção
reference_person_id
bigint
20
not null
Chave estrangeira: Referência à pessoa de referênciapeople.id
entrant_person_id
bigint
20
not null
Chave estrangeira: Referência à pessoa que entrapeople.id
transaction_id
bigint
20
not null
Chave estrangeira: Referência à transaçãotransactions_ref.id
reference_person_version
int
11
not null
Chave estrangeira: Referência à pessoa de referênciapeople_version.version
entrant_person_version
int
11
not null
Chave estrangeira: Referência à pessoa que entrapeople_version.version
gbds.apis
O apis
é usado pelo GBDS para gerenciar várias APIs ativas ao mesmo tempo.
api-id
varchar
255
not null
ID da instância de API exclusiva
hostname
varchar
255
not null
Nome do host do nó onde a API está sendo executada
port
int
11
not null
Porta onde a API está sendo executada
type
varchar
255
null
Tipo de instância da API (LEADER, RUNNER ou nulo)
Na inicialização da API, cada API procurará por si mesma nesta tabela. Se não for encontrada com nome de host/IP e porta, ela se insere na tabela com um GUID como api-id e tipo nulo , o que significa que não está pronta para extração de qualidade. Alterações aplicadas diretamente a esta tabela serão analisadas a cada 15 minutos.
Tabelas latentes não resolvidas (UL)
As tabelas de Latentes Não Resolvidas são usadas para armazenar informações sobre os dados da UL e os candidatos. As tabelas são descritas abaixo.
gbds.ul
A tabela ul
foi projetada para armazenar todos os GBDS UL's e é descrita da seguinte forma:
uguid
varchar
255
not null
Chave primária; UGUID armazenado em HBase
ul_status
varchar
255
not null
UNSOLVED
ou SOLVED
; HBase replica esse status
creation_time
timestamp
4
not null
current_timestamp
por padrão
person_pguid
varchar
255
null
PGUID da pessoa correspondente quandoSOLVED
person_tguid
varchar
255
null
TGUID da pessoa correspondente quandoSOLVED
fragment_id
varchar
255
null
ID do fragmento original para o fragmento que gerou o UL
fragment_case_id
varchar
255
null
ID do caso original para o fragmento que gerou o UL
fragment_index
int
11
null
Índice de fragmentos para o UL. Por padrão, o índice é definido como -1
(índice desconhecido, qualquer índice)
analysis_user
varchar
255
null
Usuário responsável pela análise UL
analysis_timestamp
timestamp
4
null
timestamp de data e hora da análise
group_guid
varchar
255
not null
GUID de agrupamento (para listar ULs vinculados)
gbds.ul_candidates
A tabela ul_candidates
foi projetada para armazenar os candidatos de cada UL que o GBDS mantém após qualquer CORRESPONDÊNCIA LATENTE REVERSA realizada em inscrições que geraram uma correspondência com uma UL, e é descrita da seguinte forma:
ul_uguid
varchar
255
not null
Chave primária; UL UGUID
person_pguid
varchar
255
not null
Chave primária; PGUID do candidato
person_tguid
varchar
255
not null
Chave primária; TGUID do candidato
person_index
int
11
not null
Chave primária; Dedo indicador candidato
score
int
11
not null
Pontuação de matching correspondente para o candidato
deleted
tinyint
1
not null
0
por padrão, indica se o candidato foi excluído para ser excluído ao realizar operações de listagem de candidatos
minutiae
longblob
Up to 4Gb
null
Serialização JSON contendo as minúcias correspondentes. É uma lista com a seguinte estrutura:
- queryIndex
, int
- referenceIndex
,int
Tabelas de notificação
As tabelas de notificação são usadas para armazenar dados para fins de auditoria, como e-mails, pessoas que serão notificadas e grupos.
gbds.notify_user
A tabela notify_user
foi projetada para armazenar os dados do usuário autenticado pelo gbds.
id
bigint
20
not null
Chave primária; ID exclusivo do usuário.
username
varchar
255
not null
nome de usuário gbds autenticado
gbds.notify_group
A tabela notify_group
foi projetada para armazenar informações dos grupos de notificação.
id
bigint
20
not null
Chave primária;
name
varchar
255
not null
Nome do grupo
enabled
tinyint
1
not null
Define se o grupo estará ativo ou não
gbds.notify_group_email
A tabela notify_group_email
foi projetada para armazenar os e-mails de um determinado grupo.
notify_group_id
bigint
20
not null
Chave primária; ID do grupo.
varchar
255
not null
Chave primária; E-mail que pertence ao grupo
gbds.notify_user_group
A tabela notify_user_group
foi projetada para armazenar informações de qual grupo um determinado usuário faz parte.
notify_user_id
bigint
20
not null
Chave primária; Referência ao usuárionotify_user.id
notify_group_id
bigint
20
not null
Chave primária; Referência ao gruponotify_group_email.notify_group.id
gbds.people_transparency
A tabela people_transparency
foi projetada para armazenar informações sobre uma determinada pessoa e quais ações são tomadas quando essa pessoa é pesquisada.
id
bigint
20
not null
Chave primária;
pguid
varchar
255
not null
Referência à pessoapeople.pguid
enabled
tinyint
1
not null
Referência à pessoapeople.pguid
action
varchar
255
null
Ação a ser tomada
gbds.people_transparency_group
A tabela people_transparency_group
foi projetada para armazenar informações sobre os grupos aos quais uma pessoa pertence.
people_transparency_id
bigint
20
not null
Chave primária; Referência a people_transparency'speople_transparency.id
notify_group_id
bigint
20
not null
Chave primária; Referência ao gruponotify_group_email.notify_group.id
Tabelas de configurações do GBDS
O GBDS utiliza um banco de dados relacional para armazenar algumas configurações da API e do GBDS. A tabela de configurações é uma tabela especial projetada para controlar determinadas configurações do GBDS e da API do GBDS. Essas configurações são armazenadas na gbds.settings
tabela. A tabela pode conter configurações presentes na API do GBDS, no GBDS ou em ambos, seguindo o esquema abaixo:
skey
varchar
255
not null
Chave primária. Nome da chave de parâmetro.
stype
varchar
50
not null
Local de onde vem o parâmetro. API ou GBDS
svalue
varchar
4096
null
Valor do parâmetro
description
varchar
4096
null
Descrição do parâmetro
stimestamp
datetime
6
not null
Carimbo de data e hora
host
varchar
1024
null
Nome do host de um nó
Todas as configurações encontradas na tabela serão gravadas no respectivo arquivo, gbdsapi.properties
tanto para a API do GBDS quanto application.conf
para o GBDS, a cada 15 minutos. Além disso, todas as configurações atualizadas na memória, tanto na API quanto no GBDS, serão propagadas.
Este recurso é controlado por um parâmetro de configuração na tabela, gbds.rdbSystemConfiguration.enabled
. Este parâmetro permitirá a substituição dos valores de configuração do GBDS e da API. Definir o valor do parâmetro como BOTH
fará com que as configurações do GBDS e da API sejam substituídas.
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
Outras configurações podem ser colocadas na tabela gbds.settings
em rdb e todas serão gravadas na API ou no arquivo GBDS, de acordo com o tipo de configuração. No entanto, as recargas de memória em tempo de execução não serão realizadas para essas novas configurações, somente após a reinicialização da API e/ou do GBDS.
Atualizado
Isto foi útil?