首页 > 数据库 > 国内数据库 > 带你体验VexDB数据库
今天发现各大公众号和朋友圈都在讲VexDB,这到底是个啥数据库?所以自己去了解了下:
源于清华的研发团队(技术顾问:李国良教授),打造了一款融合关系数据能力、多路语义检索能力的向量数据库产品VexDB,用于企业级 AI应用落地,有开发版(免费)和商用版。故申请了开发版,接下来跟着我看看吧。
[root@node ~]# more /etc/redhat-release CentOS Linux release 7.9.2009 (Core)
yum install -y zlib-devel libaio libuuid readline-devel krb5-libs libicu libxslt tcl perl openldap pam openssl-devel libxml2 bzip2

[root@node yum.repos.d]# systemctl status firewalld.service● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1)
备注:事先已经关闭,如需关闭防火墙,参考一下命令:
--关闭防火墙服务 sudo systemctl stop firewalld.service --关闭防火墙自动启动服务 sudo systemctl disable firewalld.service
开启透明大页可能会对数据库性能产生负面影响,所以本小节将指导用户如何关闭透明大页。
vi /etc/systemd/system/disable-thp.service
内容如下:
[Unit] Description=Disable Transparent Huge Pages (THP) [Service] Type=simple ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"[Install] WantedBy=multi-user.target
修改完成后,执行如下命令加载系统服务,并设置开机自启动。
systemctl daemon-reload systemctl start disable-thp systemctl enable disable-thp
查看THP状态,当返回结果均为
always madvise [never] 时表示成功设置透明大页关闭。
cat /sys/kernel/mm/transparent_hugepage/enabled cat /sys/kernel/mm/transparent_hugepage/defrag
当 RemoveIPC=yes 时,操作系统会在用户退出时,删除该用户的 IPC 资源(共享内存段和信号量),从而使得 VexDB 服务器使用的 IPC 资源被清理,可能引发数据库宕机,所以需要设置 RemoveIPC 参数为 no。
进入 /etc/systemd/logind.conf 文件,在配置文件末尾新增配置 RemoveIPC=no,若文件中已设置则跳过本步骤。
vi /etc/systemd/logind.conf
进入 /usr/lib/systemd/system/systemd-logind.service 文件,新增或修改配置 RemoveIPC=no,若文件中已设置则跳过本步骤。
vi /usr/lib/systemd/system/systemd-logind.service
重新加载配置参数。
systemctl daemon-reload systemctl restart systemd-logind
检查修改是否生效。由于 CentOS 操作系统环境的 RemoveIPC 默认为关闭,则执行如下语句是无返回结果的。用户在确保步骤 1 至步骤 3 已执行的前提下,可正常安装数据库。
loginctl show-session | grep RemoveIPC systemctl show systemd-logind | grep RemoveIPC
fs.aio-max-nr=1048576 fs.file-max= 76724600 kernel.sem = 4096 2097152000 4096 512000 kernel.shmall = 26843545 # pages, 80% MEM or higherkernel.shmmax = 68719476736 # bytes, 50% MEM or higherkernel.shmmin = 819200 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
sysctl -p
将
SELINUX=enforcing 修改为
SELINUX=disabled。
步骤1:创建数据库安装用户和目录
useradd -m vexdb passwd vexdb
2.(可选)创建数据库 coredump 目录。
mkdir -p /home/vexdb/data/db_coredump chmod 770 /home/vexdb/data chown vexdb:vexdb /home/vexdb/data
3.(可选)创建数据库数据目录(可自定义)
mkdir -p /home/vexdb/data/vexdb chmod 700 /home/vexdb/data/vexdb chown -R vexdb:vexdb /home/vexdb/data/vexdb
4.(可选)创建数据库软件目录(可自定义)。
mkdir -p /home/vexdb/local/vexdb chown -R vexdb:vexdb /home/vexdb
vi /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
mkdir -p /soft/vbcd /soft/vb tar -xvf VexDB-Developer-Edition-3.0_Build0_commitid-Linux-x86_64-no_mot-datetime.tar.gz chown -R vexdb:vexdb /soft/vb/ chmod -R 775 /soft/vb/
切换到数据库安装用户 vexdb。安装程序不能由操作系统超级用户执行。
su - vexdb
运行安装程序。
cd /soft/vb/vexdb-installer/ ./vexdb_installer
根据回显信息进行交互,直至安装程序完成。
[vexdb@node vexdb-installer]$ ./vexdb_installer =============================================================================== Welcome to the installation tool (V1.0) and start installing VexDB. =============================================================================== Check whether the installation package is complete --------------- ok =============================================================================== Type <Enter> to continue:
=============================================================================== System configuration information --------------- Operation System : CentOS Linux 7 (Core) CPU cores: 8 Memory size : 15884 MB Current user name: vexdb Type <Enter> to continue:
=============================================================================== Dependency check --------------- readline : 6.2 python : 2.7.5 libicu : 50.2 cracklib : 2.9.0 libxslt : 1.1.28 tcl : 8.5.13 perl : 5.16.3 openldap : 2.4.44 pam : 1.1.8 systemd-libs : 219 bzip2 : 1.0.6 gettext : 0.19.8.1 libaio : 0.3.109 ncurses-libs : 5.9 Type <Enter> to continue:
------------------ Preparing the installation environment... Finish to prepare the installation environment =============================================================================== IPC parameter check --------------- The IPC parameter check is complete
Y,若进行非实例化安装则选
N。=============================================================================== Install database --------------- Whether to instantiate the database (Y/N): Whether to instantiate the database (Y/N): Y
选择安装类型(选
2 或按
Enter)。
Select installation typeTypical installation : Use default parameters to init database Custom installation : Configure installation parameters and functions manually -> 1- Typical installation 2- Custom installation Select the installation type, or type <Enter> to select the default (1): 1
(非实例化安装无此步骤)设置超级管理员密码,需要输入密码,并再次输入密码确认(设置的密码最少包含 8 个字符,最多包含 16 个字符。密码由大小写字母加数字组成,例如:
aA123***)。
=============================================================================== Database Initialization User Password (Press the backspace key to go back) --------------- Enter the password of database initialization user (vexdb): ***** The password needs at least 8 characters! Enter the password of database initialization user (vexdb): ******** Please enter your password again: ********
8.(非实例化安装无此步骤)设置密钥(选
1 或按
Enter)。
=============================================================================== Database encryption key(PGENCRYPTIONKEY) --------------- Set database encryption key(PGENCRYPTIONKEY): -> 1- Use the database initialization password (default) 2- Enter the encryption key manually Select the database encryption key setting, or type <Enter> to select the default(1):
=============================================================================== VexDB installation directory --------------- VexDB installation directory Default location: /home/vexdb/local/vexdb Type the absolute path (ctrl+ backspace to backspace), or type <Enter> to use the default path : =============================================================================== Database initialization directory --------------- Select the database initialization directory Default location: /home/vexdb/data/vexdb Type the absolute path (ctrl+ backspace to backspace), or type <Enter> to use the default path :
=============================================================================== Check disk IO scheduling algorithm --------------- The disk IO scheduling algorithm to which directory /home/vexdb/data/vexdb belongs is being checked The scheduling algorithm of disk IO is checked
=============================================================================== Installation summary --------------- VexDB installation directory: /home/vexdb/local/vexdb VexDB directory: /home/vexdb/data/vexdb Database initialization user : vexdb Database initialization parameter : listen_addresses='*' max_connections=500 shared_buffers=3971MB max_process_memory=10562MB work_mem=4MB Type <Enter> to continue:
The default passwords of the three default database administrators vbaudit, vbsso, and vbadmin are: system admin[vbadmin] initial password: X2b76!b0 security admin[vbsso] initial password: Db4395)4 audit admin[vbaudit] initial password: Bdfa*36d
选择是否添加许可。
说明VexDB 开发版提供了时长为 1 年的临时许可。即使不添加正式许可,也可以在安装完成后免费试用 VexDB。临时许可即将过期前,在数据库管理员用户和数据库初始化用户使用 vsql 连接数据库时,VexDB 会提示许可期限的有关信息。提醒天数的阈值是通过参数 vb_license_expired_notify_time 控制的。默认值为 90 天。设置为 0 表示关闭提醒。
=============================================================================== Loading an Official license --------------- Whether to load an official license (Y/N): N
=============================================================================== Installation complete --------------- Specify the license path first (if the license path is incorrect, the database fails to start): Write the license path to file /home/vexdb/data/vexdb/postgresql.conf in the form of license_path='license path'To initialize the database running environment: source ~/.bashrc To start, stop, and restart the database: vb_ctl <start/stop/restart> If the installation is complete, Enter <Enter> to exit:
[vexdb@node ~]$ source ~/.bashrc
成功安装数据库之后,需要启动数据库服务:
[vexdb@node ~]$ vb_ctl start [2025-09-25 04:53:53.475][28369][][vb_ctl]: vb_ctl started,datadir is /home/vexdb/data/vexdb [2025-09-25 04:53:54.781][28369][][vb_ctl]: waiting for server to start... ..setting _JAVA_SR_SIGNUM=14 success. 0 LOG: [Alarm Module]can not read GAUSS_WARNING_TYPE env. ...... r the size of configure file has changed. Please create it by root user! 2025-09-25 04:54:16.895 [unknown] [unknown] localhost 140180191845248 0[0:0#0] 0 [BACKEND] LOG: Failed to parse cgroup config file.2025-09-25 04:54:17.336 [unknown] [unknown] localhost 140180191845248 0[0:0#0] 0 [EXECUTOR] WARNING: Failed to obtain environment value $GAUSSLOG!2025-09-25 04:54:17.336 [unknown] [unknown] localhost 140180191845248 0[0:0#0] 0 [EXECUTOR] DETAIL: N/A2025-09-25 04:54:17.336 [unknown] [unknown] localhost 140180191845248 0[0:0#0] 0 [EXECUTOR] CAUSE: Incorrect environment value.2025-09-25 04:54:17.336 [unknown] [unknown] localhost 140180191845248 0[0:0#0] 0 [EXECUTOR] ACTION: Please refer to backend log for more details..... [2025-09-25 04:54:22.861][28369][][vb_ctl]: done[2025-09-25 04:54:22.861][28369][][vb_ctl]: server started (/home/vexdb/data/vexdb)
根据需要,用户可以使用以下命令停止或重启数据库服务,并查询数据库状态。
停止数据库服务:
vb_ctl start
重启数据库服务:
vb_ctl restart
显示数据库状态:
vb_ctl status
安装完成后,默认提供 vsql 客户端工具。
[vexdb@node ~]$ vsql -U vexdb -d postgres vsql ((VexDB Developer Edition V3.0 Release) compiled at 2025-09-01 19:05:51 commit 28146 last mr ) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help.
成功登录后,执行以下 SQL 确认数据库功能:
-- 查看数据库版本 SELECT version(); -- 创建测试数据库 CREATE DATABASE testdb; -- 连接新数据库 \c testdb -- 创建测试表 CREATE TABLE emp ( empno INT PRIMARY KEY, ename VARCHAR(50), sal NUMERIC(10,2) ); -- 插入测试数据 INSERT INTO emp VALUES (1001, 'Alice', 5000.00); INSERT INTO emp VALUES (1002, 'Bob', 6000.00); -- 查询数据 SELECT * FROM emp;
postgres=# SELECT version(); version ------------------------------------------------------------------------------ PostgreSQL 9.2.4 on x86_64-pc-linux-gnu, compiled by g++ (GCC) 7.3.0, 64-bit (1 row) postgres=# CREATE DATABASE testdb;CREATE DATABASE postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+-------+----------+-------------+-------------+------------------- postgres | vexdb | UTF8 | en_US.UTF-8 | en_US.UTF-8 | template0 | vexdb | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/vexdb + | | | | | vexdb=CTc/vexdb template1 | vexdb | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/vexdb + | | | | | vexdb=CTc/vexdb testdb | vexdb | UTF8 | en_US.UTF-8 | en_US.UTF-8 | vastbase | vexdb | UTF8 | en_US.UTF-8 | en_US.UTF-8 | (5 rows) postgres=# \c testdbNon-SSL connection (SSL connection is recommended when requiring high-security) You are now connected to database "testdb" as user "vexdb". testdb=# CREATE TABLE emp (testdb(# empno INT PRIMARY KEY,testdb(# ename VARCHAR(50),testdb(# sal NUMERIC(10,2)testdb(# );NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "emp_pkey" for table "emp"CREATE TABLE testdb=# INSERT INTO emp VALUES (1001, 'Alice', 5000.00);INSERT 0 1 testdb=# INSERT INTO emp VALUES (1002, 'Bob', 6000.00);INSERT 0 1 testdb=# SELECT * FROM emp; empno | ename | sal -------+-------+------ 1001 | Alice | 5000 1002 | Bob | 6000 (2 rows)
作者:Digital Observer(施嘉伟)
Oracle ACE Pro
PostgreSQL ACE Partner
Oracle OCM、KCM、PGCM、YCP、DB2 、MySQL OCP、PCTP、PCSD、OCI、PolarDB技术专家、达梦师资认证,从业11年+
ITPUB认证专家、崖山YVP、PolarDB开源社区技术顾问、HaloDB技术顾问、TiDB社区技术布道师、青学会MOP技术社区专家顾问、国内某高校企业实践指导教师
公众号/墨天轮/金仓社区/IF Club:Digital Observer;CSDN/PGfans:施嘉伟;ITPUB:sjw1933
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/23825935/viewspace-3101727/ ,如需转载,请注明出处,否则将追究法律责任。