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 peopletabela destina-se a armazenar os índices de todas as pessoas armazenadas no banco de dados GBDS e é descrita da seguinte forma:

Coluna
Tipo
Tamanho
Valor
Informação adicional

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_versiontabela destina-se a armazenar as informações sobre as últimas alterações no cadastro de uma pessoa e é descrita da seguinte forma:

Coluna
Tipo
Tamanho
Valor
Informações adicionais

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 transactionstabela destina-se a armazenar os índices de todas as transações armazenadas no banco de dados GBDS e é descrita da seguinte forma:

Coluna
TIpo
Tamanho
Valor
Informações adicionais

id

bigint

20

not null

Chave primária; Chave privada do banco de dados relacional

tguid

varchar

255

not null

UGUID da transação armazenada do HBase

gbds.transactions

A transactionstabela destina-se a armazenar informações sobre a análise de qualidade dos dados biométricos de uma transação.

Coluna
Tipo
Tamanho
Valor
Informações Adicionais

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_fieldstabela tem como objetivo armazenar as informações sobre as informações de qualidade e vinculá-las às informações não biométricas da fieldstabela.

Coluna
Tipo
Tamanho
Valor
Informações adicionais

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.

Coluna
Tipo
Tamanho
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

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.

Coluna
Tipo
Tamanho
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

A tabela biometricsdestina-se a armazenar os dados biométricos de uma pessoa, estando vinculada às tabelas transactione ao people_versionsistema. Ela é descrita da seguinte forma:

Coluna
Tipo
Tamanho
Valor
Informações Adicionais

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 transactiontabelas people_version. Ela é descrita da seguinte forma:

Coluna
Tipo
Tamanho
Valor
Informações Adicionais

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 exceptionsdestina-se a armazenar as informações de qualquer exceção biométrica e seu tratamento. Ela é descrita a seguir:

Coluna
Tipo
Tamanho
Valor
Informações Adicionais

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.

Coluna
Tipo
Tamanho
Valor
Informações Adicionais

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 ulfoi projetada para armazenar todos os GBDS UL's e é descrita da seguinte forma:

Coluna
Tipo
Tamanho
Valor
Informações Adicionais

uguid

varchar

255

not null

Chave primária; UGUID armazenado em HBase

ul_status

varchar

255

not null

UNSOLVEDou SOLVED; HBase replica esse status

creation_time

timestamp

4

not null

current_timestamppor 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:

Coluna
Tipo
Tamanho
Valor
Informações Adicionais

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

0por 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.

Coluna
Tipo
Tamanho
Valor
Informações Adicionais

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_groupfoi projetada para armazenar informações dos grupos de notificação.

Column
Type
Size
Value
Additional Information

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.

Coluna
Tipo
Tamanho
Valor
Informações Adicionais

notify_group_id

bigint

20

not null

Chave primária; ID do grupo.

email

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.

Coluna
Tipo
Tamanho
Valor
Informações Adicionais

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.

Coluna
Tipo
Tamanho
Valor
Informações Adicionais

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.

Column
Type
Size
Value
Additional Information

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.settingstabela. A tabela pode conter configurações presentes na API do GBDS, no GBDS ou em ambos, seguindo o esquema abaixo:

Tipo
Tipo
Tamanho
Valor
Informações Adicionais

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.propertiestanto para a API do GBDS quanto application.confpara 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.

O valor do parâmetro definido na gbds.settingstabela será propagado para TODOS os nós.

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 BOTHfará com que as configurações do GBDS e da API sejam substituídas.

gbds.settings / Chave de configuração de arquivo
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

Outras configurações podem ser colocadas na tabela gbds.settingsem 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?