- 博客(18)
- 收藏
- 关注
原创 磐维数据库原地更新引擎介绍
原地更新引擎是一种成熟、稳定、可靠的存储引擎设计,尤其擅长处理低延迟、强一致性、复杂事务的OLTP负载。它的核心特征是在固定位置覆盖数据,并通过B+Tree索引和WAL日志来实现高效查询和数据安全。虽然在大数据写入吞吐方面面临LSM-Tree等追加式引擎的挑战,但凭借其在读取性能、空间效率和事务支持上的固有优势,以及在SSD硬件上的优异表现,它仍然是许多传统关系型数据库和现代HTAP系统的核心支柱。
2025-11-22 14:42:55
1095
原创 磐维数据库PQ量化压缩介绍
PQ量化压缩是一种通过“分割、聚类、编码”来实现分而治之的向量压缩技术。它通过牺牲一部分精度,换来了存储空间和计算速度的巨幅提升,是构建能够处理海量数据的向量检索系统的基石技术之一。
2025-11-22 14:39:12
879
原创 磐维数据库支持多种索引类型和并行构建
多种索引类型:提供了“灵活性”,让开发者能为特定场景选择最优工具,平衡速度、精度和资源消耗。并行索引构建:提供了“可扩展性”和“效率”,确保无论数据量多大,索引构建过程都不会成为业务迭代的瓶颈。正是这两大能力的结合,使得向量数据库能够支撑起从原型验证到大规模生产部署的整个AI应用生命周期,极大地简化了开发运维的复杂度,让开发者可以更专注于业务逻辑本身。
2025-11-22 14:34:58
941
原创 磐维数据库稠密向量和稀疏向量多路召回
高召回率:结合了语义理解和关键词匹配,大大降低了漏掉相关文档的风险。应对多样化查询对于表述模糊、侧重语义的查询(如“人工智能的好处”),稠密向量路表现更好。对于包含具体术语、专有名词的查询(如“Python pandas read_csv 函数用法”),稀疏向量路表现更好。提升搜索质量:多路召回为后续的重排序阶段提供了更优质、更全面的候选集,从而整体上提升了最终结果的准确性和相关性。灵活性:可以根据业务场景调整两路的权重和召回数量。
2025-11-22 14:27:32
784
原创 磐维数据库向量标量联合查询优化
一、传统AI应用开发的痛点(没有联合查询时):需要一个向量检索引擎(如Faiss, Annoy)和一个关系型数据库(如MySQL, PostgreSQL)。:先在向量引擎中执行相似性搜索,得到一组初步的ID列表和相似度分数。:将这些ID作为条件,去关系型数据库中执行SQL查询,进行属性过滤、排序、分页等。:需要确保向量引擎和关系数据库中的数据是同步的,任何增删改操作都需要在两边同时进行,这带来了巨大的工程挑战。:第一步返回的ID列表可能非常大(比如Top 1000),导致第二步的IN。
2025-11-22 14:23:25
777
原创 磐维数据库时序功能介绍
磐维数据库域外推广时,遇到的工业、工业互联客户每日产生的数据量大,且对数据精度要求高,传统数据库有以下问题: 数据管理复杂:缺乏自动化的数据生命周期管理,增加数据存储和删除的复杂性。实时更新:时序数据库的数据可以在需要时进行实时更新,以实现实时应用。总体目标是建立一款高效的时序数据处理与分析平台,通过支持流数据实时处理、优化数据存储与管理、多样化的数据聚合与分析功能、以及插件支持与扩展性,满足用户对时序数据处理和分析的多样化需求,帮助他们深入理解数据背后的规律和趋势,从而做出更加准确的决策。
2025-11-21 18:39:22
192
原创 磐维数据库垃圾自动清理机制介绍
● autovacuum_vacuum_threshold和autovacuum_analyze_threshold:设置执行vacuum和analyze操。● autovacuum的触发条件:当更新删除的行超过autovacuum_vacuum_scale_factor*reltuples(表上记录。● autovacuum_vacuum_scale_factor:设置触发vacuum的表尺寸系数,该值会加到。● autovacuum_naptime:设置两次系统自动清理操作之间的最小间隔时间。
2025-11-21 18:31:25
461
原创 磐维数据库优化器代价相关参数介绍
一、参数介绍内存管理的目的是为了尽可能的减少I/O的访问。为了达到此目的,需要合理的配置,并有效的利用数据库内存。Vastbase的内存类型主要包括以下几种:1. seq_page_cost:(顺序页面成本)含义:从磁盘顺序读取一个页面的成本。默认值通常为1.0。这是其他成本参数的基准。应用:全表扫描等顺序读取操作。示例:全表扫描的成本估算 EXPLAIN SELECT * FROM large_table;-- 优化器会使用seq_page_cost来计算读取所有数据页的成本。
2025-11-21 18:18:03
539
原创 磐维数据库表WAL日志相关参数介绍
控制wal成功返回的条件,on/off/local/remote_write/remote_apply。在checkpoint之后在对数据页面的第一次写的时候会将整个数据页面写到xlog里面,建议关闭。提交延迟,表示一个已经提交的数据在WAL缓冲区中存放的时间,缺省0ms。触发commit_delay等待的并发事务数。WAL缓存,交易量大的系统建议设置较大值。1.磐维数据库WAL日志相关参数。控制系统层面的文件同步读写。
2025-11-21 18:10:46
157
原创 磐维数据库逻辑备份功能介绍
逻辑备份通过读取数据库记录集,且将记录集写入文本文件或者自定义转储格式来实现。这种记录集的读出与物理位置无关。3.自定义转储格式只能用vb_restore恢复。1.生成的本文可以使用vsql进行恢复。3.vb_dumpall 备份整库。2.vb_restore 备份恢复。2.纯数据可以用copy恢复。1. vb_dump 备份单库。
2025-11-19 11:18:34
175
原创 磐维数据库增量检查点和NUMA-AWARE原理
为了解决NUMA架构引起的资源消耗不均及跨Node之间访问资源延迟大的问题,面向Numa架构进行优化,其基本原理是:设置执行线程和Node/核心的亲和度,将线程保定在指定的CPU核心运行,避免进行跨Node调度,降低CPU上下文切换。同时,使用NUMA数据结构,实现数据异步拷贝。为了不全量回滚日志,引入了检查点。将当前位于内存中的事务日志持久化,将脏页持久化,记录Checkpoint日志,其中保存REDO点,每次再刷脏页就会从REDO点之后开始,但是如果遇到了脏页过多情况,则会出现写峰值的问题。
2024-10-17 11:14:59
812
原创 磐维数据库并行回放功能介绍
当业务压力过大时,备机的回放速度跟不上主机的速度。在系统长时间的运行后,备机上会出现日志累积。当主机故障后,数据恢复需要很长时间,数据库不可用,严重影响系统可用性。开启极致RTO,减少了主机故障后数据的恢复时间,提高了可用性。一、什么是并行回放:整个并行回放系统的设计采用生产者-消费者模型,分配模块负责解析、分配日志到回放模块,回放模块负责消费、回放日志。核心原理:使用多线程并行方式回放日志,充分利用服务器资源,加快日志回放速度。本文主要介绍磐维数据库并行回放功能。
2024-10-17 11:01:50
402
原创 磐维数据库流复制介绍
synchronous_commit 用于指定在命令返回"success"指示给客户端之前,一个事务是否需要等待 WAL 记录被写入磁盘,参数值在单实例和主从复制场景下含义也不尽相同。1.什么是流复制:流复制(streaming replication)其核心原理是将主机对数据的修改日志(WAL)同步到备机,备机通过日志回放将日志重新还原为数据修改。3) 流复制主库可读写,但从库只允许查询操作不允许写入。1) 流复制只能对数据库实例级进行复制。2)流复制能对DDL操作进行复制。3.写入备库磁盘返回。
2024-10-17 10:57:46
465
原创 磐维数据库表空间管理介绍
需要注意,这个过程将会迁移数据库的所有对象到新表空间: 表空间中不允许存在要更改的数据库对象,否则将报错:ERROR: some relations of database ”newdb" are already in tablespace ”tbs_space2" 要修改默认表空间的数据库不能有连接,否则将报错:ERROR: cannot change the tablespace of the currently open database。表、索引和整个数据库都可以被分配到特定的表空间。
2024-09-29 09:57:46
900
原创 磐维数据库表空间介绍
1、空间管理:方便存储空间扩容,比如初始化所用的分区或者卷用光了空间,而又不能扩展,那么可以在其它文件系统上创建表空间。表空间pg_default是用来存储系统目录对象、用户表、用户表index、和临时表、临时表index、内部临时表的默认空间。2、性能提升:根据数据库对象和使用场景划分不同的表空间使用,可以有效的优化性能。参数说明: tablespace_name 表空间名,不能和其它表空间重名,普通表空间不能以为pg开头。与其它数据库不同,磐维数据库表空间是基于文件系统的,实际上就是文件系统的目录。
2024-09-29 09:49:47
754
原创 磐维数据库RAFT协议实现强一致性工作原理
客户端请求提交到 Leader,作为Entry(日志条目)写到本地,但因未同步至其他节点,Entry状态为未提交 Leader 将 Entry 跟随心跳信息发送到其它 Follower Leader 等待回应,直到大多数Follower节点写入条目 在领导节点上提交,并通知追随者该条目已提交 Leader 通过心跳通知 Followers Entry 已提交,Followers 收到通知后也会将 Entry 标记为提交状态 Raft 集群超过半数节点已经达到一致状态,可以确保强一致性。
2024-05-22 12:12:14
1092
1
原创 磐维数据库工作线程解析
磐维线程也称为业务处理线程,主要负责对客户端请求进行身份验证,接收请求,调用磐维的SQL引擎对SQL进行处理(词法解析、语法解析、语义解析、查询重写等),生成执行计划,根据命令的需要调用各种辅助线程和访问各内存结构,执行SQL语句,将执行结果返回给客户端,在客户端断开连接时释放线程。在最前端,磐维父线程相当于监控+线程池管理,监听客户端链接,并对磐维线程进行创建释放。检查点线程,周期性的发起数据库检查点,在这个检查点时刻,所有的数据文件都被更新,脏数据页也被刷新到磁盘,此刻数据库是一致的。
2024-04-08 14:42:03
1009
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅