O VexDB é um banco de dados vetoriais projetado para cenários de IA. Seu nome deriva de "Vector" + "X" (representando possibilidades multimodais) + "Database". Atualmente, o VexDB oferece duas edições: a Developer Edition (gratuita por um ano, com suporte da comunidade) e a Enterprice Edition (para aplicações corporativas com SLA e suporte técnico profissional).
Este artigo demonstra a instalação e o uso básico da Developer Edition do VexDB. O pacote de instalação pode ser baixado em: https://vexdb.com/download.
Preparação do Ambiente
Especificações do Ambiente de Teste
| Hostname | CPU | RAM | Disco | Sistema Operacional | Versão VexDB |
|---|---|---|---|---|---|
| VexDB | 8 núcleos | 16 GB | 100 GB | CentOS 7.9 | 3.0 |
Essas configurações são para desenvolvimento/teste. Para produção, consulte as recomendações oficiais.
Desativar Firewall e SELinux
Recomenda-se desativar o firewall e o SELinux para evitar interferências.
[root@VexDB ~]# systemctl stop firewalld
[root@VexDB ~]# systemctl disable firewalld
[root@VexDB ~]# /usr/sbin/setenforce 0
[root@VexDB ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
Verificar Fuso Horário
Certifique-se de que o fuso horário do sistema corresponda ao fuso horário padrão do banco de dados (China). Caso contrário, os logs podem apresentar inconsistências.
Instalar Dependências
Instale os pacotes necessários:
yum install -y zlib-devel libaio libuuid readline-devel krb5-libs libicu libxslt tcl perl openldap pam openssl-devel libxml2 bzip2
Certifique-se de ter um repositório local configurado (ex.: montagem ISO em /mnt).
Configurar RemoveIPC
No CentOS 7+, defina RemoveIPC=no no /etc/systemd/logind.conf e reinicie o serviço:
[root@VexDB ~]# sed -i 's/#RemoveIPC=no/RemoveIPC=no/' /etc/systemd/logind.conf
[root@VexDB ~]# systemctl daemon-reload
[root@VexDB ~]# systemctl restart systemd-logind
Desativar Transparent HugePages
As Transparent HugePages podem impactar negativamente o desempenho. Para desativá-las permanentemente:
[root@VexDB ~]# sed -i 's/quiet/quiet transparent_hugepage=never/' /etc/default/grub
[root@VexDB ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@VexDB ~]# reboot
Após a reinicialização, verifique:
[root@VexDB ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
Configuração de Parâmetros do Kernel
Calcule os valores de kernel.shmall e kernel.shmmax com base na memória total:
os_memory_total=$(awk '/MemTotal/{print $2}' /proc/meminfo)
pagesize=$(getconf PAGE_SIZE)
shmall=$(( (os_memory_total - 1) * 1024 / pagesize ))
shmmax=$(( os_memory_total * 1024 - 10 ))
[[ $shmall -lt 2097152 ]] && shmall=2097152
[[ $shmmax -lt 4294967295 ]] && shmmax=4294967295
Em seguida, adicione os parâmetros ao /etc/sysctl.conf:
cat<<-EOF>>/etc/sysctl.conf
fs.aio-max-nr=1048576
fs.file-max=76724600
kernel.sem=250 32000 100 128
kernel.shmall=$shmall
kernel.shmmax=$shmmax
kernel.shmmni=4096
net.core.netdev_max_backlog=10000
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=4194304
net.core.somaxconn=4096
net.ipv4.tcp_fin_timeout=5
vm.dirty_background_bytes=409600000
vm.dirty_expire_centisecs=3000
vm.dirty_ratio=80
vm.dirty_writeback_centisecs=50
vm.overcommit_memory=0
vm.swappiness=0
net.ipv4.ip_local_port_range=40000 65535
fs.nr_open=20480000
EOF
sysctl -p
Nota: Para ambientes com pouca memória, ajuste os valores de kernel.sem conforme acima (os valores padrão para produção podem ser muito altos).
Ajustar Limites de Recursos
Adicione as seguintes linhas ao /etc/security/limits.conf:
cat<<-EOF>>/etc/security/limits.conf
vexdb soft nproc unlimited
vexdb hard nproc unlimited
vexdb soft stack unlimited
vexdb hard stack unlimited
vexdb soft core unlimited
vexdb hard core unlimited
vexdb soft memlock unlimited
vexdb hard memlock unlimited
vexdb soft nofile 1024000
vexdb hard nofile 1024000
EOF
Criar Usuário e Diretórios
[root@VexDB ~]# useradd -d /home/vexdb -m vexdb
[root@VexDB ~]# echo "vexdb:vexdb" | chpasswd
[root@VexDB ~]# mkdir -p /vexdbdata/db_coredump /vexdbdata/vexdb /vexdbdata/soft
[root@VexDB ~]# chmod -R 770 /vexdbdata
[root@VexDB ~]# chown -R vexdb:vexdb /vexdbdata
Extrair o Pacote de Instalação
[root@VexDB ~]# mkdir /soft
[root@VexDB ~]# chown -R vexdb:vexdb /soft
[root@VexDB ~]# chmod -R 775 /soft
[root@VexDB ~]# su - vexdb
[vexdb@VexDB ~]$ cd /soft
[vexdb@VexDB soft]$ tar -xf VexDB-Developer-Edition-3.0_Build0_28146-Linux-x86_64-no_mot-202509011854.tar.gz
Instalação do VexDB
Instalação Interativa
Execute o instalador:
cd /soft/vexdb-installer
./vexdb_installer
Durante a instalação, forneça a senha do banco de dados (ex.: VexDB123456.). O instalador gera uma senha aleatória para o administrador e pergunta sobre a licença. Ao final, as variáveis de ambiente são configuradas.
Instalação Silenciosa
Crie um arquivo de resposta:
[vexdb@VexDB ~]$ cat<<-EOF>/soft/vexdb-installer/db_install.rsp
vexdb_password=VexDB123456.
encryption_key=VexDB123456.
vexdb_home=/vexdbdata/soft
vexdb_data=/vexdbdata/vexdb
port=5432
max_connections=500
shared_buffers=4011
db_compatibility=A
isinitdb=true
EOF
Execute a instalação silenciosa:
[vexdb@VexDB vexdb-installer]$ ./vexdb_installer --silent -responseFile /soft/vexdb-installer/db_install.rsp
Iniciar e Parar o VexDB
Após a instalação, o banco de dados fica desligado. Inicie-o:
[vexdb@VexDB ~]$ vb_ctl start
Comandos adicionais:
[vexdb@VexDB ~]$ vb_ctl stop
[vexdb@VexDB ~]$ vb_ctl status
[vexdb@VexDB ~]$ vb_ctl restart
Consulte mais opções com vb_ctl --help.
Conectando e Usando o VexDB
Use a ferramenta cliente vsql para conectar localmente:
[vexdb@VexDB ~]$ vsql -d postgres -p 5432
Crie um usuário e banco de dados:
CREATE USER lpc PASSWORD "VexDB@123";
CREATE DATABASE lucifer OWNER lpc TEMPLATE template0;
\l
Crie uma tabela:
\c lucifer lpc
CREATE SCHEMA lpc;
CREATE TABLE lpc.customer (
c_customer_sk integer not null,
c_customer_id char(6) not null,
c_first_name varchar(20),
c_last_name varchar(20),
c_country varchar(20)
);
\dt
\d lpc.customer
Desinstalação do VexDB
Para desinstalar, utilize a opção --uninstall:
[vexdb@VexDB ~]$ cd /soft/vexdb-installer
[vexdb@VexDB vexdb-installer]$ ./vexdb_installer --uninstall
Após a desinstalação, remova manualmnete os diretórios de instalação e dados:
[vexdb@VexDB ~]$ rm -rf /vexdbdata/vexdb /vexdbdata/soft