04 2024 档案

摘要:MOT本地内存和全局内存 SILO管理本地内存和全局内存,如所示。 全局内存是所有核共享的长期内存,主要用于存储所有的表数据和索引。 本地内存是短期内存,主要由会话使用,用于处理事务及将数据更改存储到事务内存中,直到提交阶段。 当事务需要更改时,SILO将该事务的所有数据从全局内存复制到本地内存。使 阅读全文
posted @ 2024-04-29 14:56 奔跑的数据库 阅读(6) 评论(0) 推荐(0) 编辑
摘要:MOT并发控制机制 通过大量研究,我们找到了最佳的并发控制机制,结论为:基于SILO[的OCC算法是MOT中最符合ACID特性的OCC算法。SILO为满足MOT的挑战性需求提供了最好的基础。 说明: MOT完全符合原子性、一致性、隔离性、持久性(ACID)特性,如MOT简介所述。 下面介绍MOT的并 阅读全文
posted @ 2024-04-29 14:55 奔跑的数据库 阅读(6) 评论(0) 推荐(0) 编辑
摘要:MOT部署 以下各小节介绍了各种必需和可选的设置,以达到最佳部署效果。 MOT服务器优化:x86 MOT服务器优化:基于Arm的华为TaiShan2P/4P服务器 MOT配置 阅读全文
posted @ 2024-04-29 14:55 奔跑的数据库 阅读(3) 评论(0) 推荐(0) 编辑
摘要:MOT测试总结 MOT比磁盘表性能提升2.5至4.1倍,在Arm/鲲鹏256核服务器上达到480万tpmC。测试结果清楚表明MOT在扩展和利用所有硬件资源方面的卓越能力。随着CPU槽位和服务器核数增加,性能会随之跃升。 MOT在Arm/鲲鹏架构下最高可达3万tpmC/核,在x86架构下最高可达4万t 阅读全文
posted @ 2024-04-29 14:55 奔跑的数据库 阅读(8) 评论(0) 推荐(0) 编辑
摘要:MOT查询原生编译(JIT) MOT使您可以在执行之前以原生格式(使用PREPARE语句)准备并分析预编译的完整查询。 这种本机格式以后可以更有效地执行(使用EXECUTE命令)。这种类型的执行效率要高得多,因为在执行期间,本机格式绕过了多个数据库处理层。这种分工避免了重复的解析分析操作。Lite 阅读全文
posted @ 2024-04-29 14:54 奔跑的数据库 阅读(1) 评论(0) 推荐(0) 编辑
摘要:MOT持久性 持久性是指长期的数据保护(也称为磁盘持久化)。持久性意味着存储的数据不会遭受任何形式的退化或损坏,因此数据不会丢失或损坏。持久性可确保在有计划停机(例如维护)或计划外崩溃(例如电源故障)后数据和MOT引擎恢复到一致状态。 内存存储是易失的,需要电力来维护所存储的信息。另一方面,磁盘存储 阅读全文
posted @ 2024-04-29 14:54 奔跑的数据库 阅读(4) 评论(0) 推荐(0) 编辑
摘要:MOT持久性概念 持久性是指长期的数据保护(也称为磁盘持久性)。持久性意味着存储的数据不会遭受任何形式的退化或破坏,因此数据不会丢失或损坏。持久性可确保在有计划停机(例如维护)或计划外崩溃(例如电源故障)后数据和MOT引擎恢复到一致状态。 内存存储是易失的,需要电源来维护所存储的信息。另一方面,磁盘 阅读全文
posted @ 2024-04-29 14:53 奔跑的数据库 阅读(5) 评论(0) 推荐(0) 编辑
摘要:MOT错误消息 错误可能由多种场景引起。所有错误都记录在数据库服务器日志文件中。此外,与用户相关的错误作为对查询、事务或存储过程执行或数据库管理操作的响应的一部分返回给用户。 服务器日志中报告的错误包括函数、实体、上下文、错误消息、错误描述和严重性。 向用户报告的错误被翻译成标准PostgreSQL 阅读全文
posted @ 2024-04-29 14:53 奔跑的数据库 阅读(5) 评论(0) 推荐(0) 编辑
摘要:MOT的概念 本章介绍openGauss MOT的设计和工作原理,阐明其高级特性、功能及使用方法,旨在让读者了解MOT操作上的技术细节、重要特性细节和创新点。本章内容有助于决策MOT是否适合于特定的应用需求,以及进行最有效的使用和管理。 MOT纵向扩容架构 MOT并发控制机制 扩展FDW与其他ope 阅读全文
posted @ 2024-04-29 14:51 奔跑的数据库 阅读(8) 评论(0) 推荐(0) 编辑
摘要:MOT低延迟 以下是在Arm/鲲鹏两路服务器(128核)上进行测试的结果。单位为毫秒(ms)。 图 1 低延迟(90th%)性能基准 MOT的平均事务速度为2.5倍,MOT延迟为10.5ms,而基于磁盘的表延迟为23至25ms。 说明: 计算平均数时,已考虑TPC-C的5个事务分布占比。有关更多信息 阅读全文
posted @ 2024-04-29 14:51 奔跑的数据库 阅读(3) 评论(0) 推荐(0) 编辑
摘要:MOT服务器优化:x86 通常情况下,数据库由以下组件绑定: CPU:更快的CPU可以加速任何CPU绑定的数据库。 磁盘:高速SSD/NVME可加速任何I/O绑定数据库。 网络:更快的网络可以加速任何SQL*Net绑定数据库。 除以上内容外,以下通用服务器设置默认使用,可能会明显影响数据库的性能。 阅读全文
posted @ 2024-04-29 14:51 奔跑的数据库 阅读(6) 评论(0) 推荐(0) 编辑
摘要:MOT服务器优化:基于Arm的华为TaiShan2P/4P服务器 以下是基于Arm/鲲鹏架构的华为TaiShan 2280 v2服务器(2路128核[对比:磁盘与MOT])和TaiShan 2480 v2服务器(4路256核[对比:磁盘与MOT])上运行MOT时的建议配置。 除非另有说明,以下设置适 阅读全文
posted @ 2024-04-29 14:50 奔跑的数据库 阅读(8) 评论(0) 推荐(0) 编辑
摘要:MOT复制和高可用 由于MOT集成到openGauss中,并且使用或支持其复制和高可用,因此,MOT原厂功能即支持同步复制和异步复制。 openGauss gs_ctl工具用于可用性控制和openGauss实例操作。这包括gs_ctl切换、gs_ctl故障切换、gs_ctl构建等等。 有关更多信息, 阅读全文
posted @ 2024-04-29 14:50 奔跑的数据库 阅读(1) 评论(0) 推荐(0) 编辑
摘要:MOT高吞吐量 MOT高吞吐量测试结果如下。 Arm/鲲鹏2路128核 性能 下图是华为Arm/鲲鹏2路128核服务器TPC-C基准测试的结果。 一共进行了四类测试: MOT和openGauss基于磁盘的表各进行了2次测试。 其中两项测试是在单节点(无高可用性)上执行,这意味着没有向备节点执行复制。 阅读全文
posted @ 2024-04-29 14:49 奔跑的数据库 阅读(4) 评论(0) 推荐(0) 编辑
摘要:MOT隔离级别 即使MOT完全兼容ACID,openGauss 1.0并非支持所有的隔离级别。下表介绍了各隔离级别,以及MOT支持和不支持的内容。 表 1 隔离级别 隔离级别 说明 READ UNCOMMITTED MOT不支持 READ COMMITTED MOT支持 READ COMMITTED 阅读全文
posted @ 2024-04-29 14:49 奔跑的数据库 阅读(6) 评论(0) 推荐(0) 编辑
摘要:MOT管理 下面介绍MOT管理。 MOT持久性 MOT恢复 MOT复制和高可用 MOT内存管理 MOT VACUUM清理 MOT统计 MOT监控 MOT错误消息 详情查看:https://opengauss.org 详情查看:https://docs-opengauss.osinfra.cn 阅读全文
posted @ 2024-04-29 14:48 奔跑的数据库 阅读(5) 评论(0) 推荐(0) 编辑
摘要:MOT恢复 MOT恢复的主要目标是在有计划停机(例如维护)或计划外崩溃(例如电源故障后)后,将数据和MOT引擎恢复到一致状态。 MOT恢复是随着openGauss数据库其余部分的恢复而自动执行的,并且完全集成到openGauss恢复过程(也称为冷启动)。 MOT恢复包括两个阶段: 检查点恢复:必须通 阅读全文
posted @ 2024-04-29 14:48 奔跑的数据库 阅读(7) 评论(0) 推荐(0) 编辑
摘要:MOT恢复概念 MOT恢复模块提供了恢复MOT表数据所需的所有功能。恢复模块的主要目标是在计划(例如维护)关闭或计划外(例如电源故障)崩溃后,将数据和MOT引擎恢复到一致的状态。 openGauss数据库恢复(有时也称为冷启动)包括MOT表,并且随着数据库其余部分的恢复而自动执行。MOT恢复模块无缝 阅读全文
posted @ 2024-04-29 14:48 奔跑的数据库 阅读(5) 评论(0) 推荐(0) 编辑
摘要:MOT恢复时间目标(RTO)和冷启动时间 高可用RTO MOT完全集成到openGauss中,包括支持主备部署的高可用场景。WAL重做日志的复制机制将把复制更改到数据库备节点并使用备节点进行重放。 如果故障转移事件发生,无论是由于计划外的主节点故障还是由于计划内的维护事件,备节点都会迅速活跃。恢复和 阅读全文
posted @ 2024-04-29 14:47 奔跑的数据库 阅读(10) 评论(0) 推荐(0) 编辑
摘要:MOT监控 监控的所有语法支持基于openGauss的FDW表,包括下面的表或索引大小。此外,还存在用于监控MOT内存消耗的特殊函数,包括MOT全局内存、MOT本地内存和单个客户端会话。 表和索引大小 可以通过查询pg_relation_size来监控表和索引的大小。 例如: 数据大小 select 阅读全文
posted @ 2024-04-29 14:46 奔跑的数据库 阅读(10) 评论(0) 推荐(0) 编辑
摘要:MOT检查点概念 在openGauss中,检查点是事务序列中一个点的快照,在该点上,可以保证堆和索引数据文件已经同步了检查点之前写入的所有信息。 在执行检查点时,所有脏数据页都会刷新到磁盘,并将一个特殊的检查点记录写入日志文件。 数据直接存储在内存中。MOT没有像openGauss那样存储数据,因此 阅读全文
posted @ 2024-04-29 14:46 奔跑的数据库 阅读(10) 评论(0) 推荐(0) 编辑
摘要:MOT简介 openGauss引入了MOT存储引擎,它是一种事务性行存储,针对多核和大内存服务器进行了优化。MOT是openGauss数据库最先进的生产级特性(Beta版本),它为事务性工作负载提供更高的性能。MOT完全支持ACID特性,并包括严格的持久性和高可用性支持。企业可以在关键任务、性能敏感 阅读全文
posted @ 2024-04-29 14:40 奔跑的数据库 阅读(11) 评论(0) 推荐(0) 编辑
摘要:MOT介绍 本章介绍了openGauss内存优化表(Memory-Optimized Table,MOT)的特性及价值、关键技术、应用场景、性能基准和竞争优势。 MOT简介 MOT特性及价值 MOT关键技术 MOT应用场景 MOT性能基准 详情查看:https://opengauss.org 详情查 阅读全文
posted @ 2024-04-29 14:40 奔跑的数据库 阅读(9) 评论(0) 推荐(0) 编辑
摘要:MOT乐观并发控制 并发控制模块(简称CC模块)提供了主内存引擎的所有事务性需求。CC模块的主要目标是为主内存引擎提供各种隔离级别的支持。 乐观OCC与悲观2PL 悲观2PL(2阶段锁定)和乐观并发控制(OCC)的功能差异在于对事务完整性分别采用悲观和乐观方法。 基于磁盘的表使用悲观方法,这是最常用 阅读全文
posted @ 2024-04-29 14:39 奔跑的数据库 阅读(7) 评论(0) 推荐(0) 编辑
摘要:MOT内存管理 规划和微调请参见MOT内存和存储规划和MOT配置。 详情查看:https://opengauss.org 详情查看:https://docs-opengauss.osinfra.cn 阅读全文
posted @ 2024-04-29 14:19 奔跑的数据库 阅读(3) 评论(0) 推荐(0) 编辑
摘要:MOT内存和存储规划 本节描述了为满足特定应用程序需求,在评估、估计和规划内存和存储容量数量时,需要注意的事项和准则,以及影响所需内存数量的各种数据,例如计划表的数据和索引大小、维持事务管理的内存以及数据增长的速度。 MOT内存规划 MOT是一种内存数据库存储引擎(IMDB),其中所有表和索引完全驻 阅读全文
posted @ 2024-04-29 14:18 奔跑的数据库 阅读(27) 评论(0) 推荐(0) 编辑
摘要:MOT配置 预置MOT用于创建工作MOT。为了获得最佳效果,建议根据应用程序的特定要求和偏好自定义MOT配置(在mot.conf文件中定义)。 该文件在服务器启动时只读。如果在系统运行中编辑此文件,则必须重新加载服务器才能使修改内容生效。 mot.conf文件与postgres.conf配置文件在同 阅读全文
posted @ 2024-04-29 14:18 奔跑的数据库 阅读(24) 评论(0) 推荐(0) 编辑
摘要:MOT日志记录:WAL重做日志概念 概述 预写日志记录(WAL)是确保数据持久性的标准方法。WAL的主要概念是,数据文件(表和索引所在的位置)的更改只有在记录这些更改之后才会写入,即只有在描述这些更改的日志记录被刷新到永久存储之后才会写入。 MOT全面集成openGauss的封装日志记录设施。除持久 阅读全文
posted @ 2024-04-29 14:17 奔跑的数据库 阅读(31) 评论(0) 推荐(0) 编辑
摘要:MOT使用 使用MOT非常简单,以下几个小节将会进行描述。 openGauss允许应用程序使用MOT和基于标准磁盘的表。MOT适用于最活跃、高竞争和对吞吐量敏感的应用程序表,也可用于所有应用程序的表。 以下命令介绍如何创建MOT,以及如何将现有的基于磁盘的表转换为MOT,以加速应用程序的数据库相关性 阅读全文
posted @ 2024-04-29 14:17 奔跑的数据库 阅读(13) 评论(0) 推荐(0) 编辑
摘要:MOT使用概述 MOT作为openGauss的一部分自动部署。有关如何计算和规划所需的内存和存储资源以维持工作负载的说明,请参阅MOT准备。参考MOT部署了解MOT中所有的配置,以及服务器优化的非必须选项。 使用MOT的方法非常简单。MOT命令的语法与基于磁盘的表的语法相同,并支持大多数标准,如Po 阅读全文
posted @ 2024-04-29 14:17 奔跑的数据库 阅读(5) 评论(0) 推荐(0) 编辑
摘要:MOT数据采集速度 该测试模拟海量物联网、云端或移动端接入的实时数据流,快速持续地把海量数据注入到数据库。 本次测试涉及大量数据采集,具体如下: 1000万行数据由500个线程发送,2000轮,每个insert命令有10条记录(行),每条记录占200字节。 客户端和数据库位于不同的机器上。 数据库服 阅读全文
posted @ 2024-04-29 14:16 奔跑的数据库 阅读(3) 评论(0) 推荐(0) 编辑
摘要:MOT索引 MOT索引基于最先进的Masstree[对比:磁盘与MOT]的免锁索引,用于多核系统的快速和可扩展的键值(KV)存储,通过B+树的Trie实现。在多核服务器和高并发工作负载上,性能优异。它使用各种先进的技术,如乐观锁方法、缓存感知和内存预取。 在比较了各种最先进的解决方案(如[对比:磁盘 阅读全文
posted @ 2024-04-29 14:16 奔跑的数据库 阅读(30) 评论(0) 推荐(0) 编辑
摘要:MOT特性及价值 MOT在高性能(查询和事务延迟)、高可扩展性(吞吐量和并发量)甚至在某些情况下成本(高资源利用率)这些方面拥有显著优势。 低延迟(Low Latency):提供快速的查询和事务响应时间。 高吞吐量(High Throughput):支持峰值和持续高用户并发。 高资源利用率(High 阅读全文
posted @ 2024-04-29 14:15 奔跑的数据库 阅读(9) 评论(0) 推荐(0) 编辑
摘要:MOT统计 统计信息主要用于性能分析或调试。在生产环境中,通常不打开它们(默认是关闭的)。统计信息主要由数据库开发人员使用,数据库用户较少使用。 对性能有一定影响,特别是对服务器。对用户的影响可以忽略不计。 统计信息保存在数据库服务器日志中。该日志位于data文件夹中,命名为postgresql-D 阅读全文
posted @ 2024-04-29 14:15 奔跑的数据库 阅读(1) 评论(0) 推荐(0) 编辑
摘要:MOT外部支持工具 为了支持MOT,修改了以下外部openGauss工具。请确保使用的工具是最新版本。下面将介绍与MOT相关的用法。有关这些工具及其使用方法的完整说明,请参阅《工具与命令参考》。 gs_ctl(全量和增量) 此工具用于从主服务器创建备服务器,以及当服务器的时间线偏离后,将服务器与其副 阅读全文
posted @ 2024-04-29 14:15 奔跑的数据库 阅读(9) 评论(0) 推荐(0) 编辑
摘要:MOT性能基准 我们的性能测试是基于业界和学术界通用的TPC-C基准。 测试使用了BenchmarkSQL(请参见MOT样例TPC-C基准),并且使用交互式SQL命令而不是存储过程来生成工作负载。 说明: 使用存储过程方法可能会产生更高的性能结果,因为它需要大大减少网络往返和数据库封装SQL处理周期 阅读全文
posted @ 2024-04-29 14:14 奔跑的数据库 阅读(5) 评论(0) 推荐(0) 编辑
摘要:MOT样例TPC-C基准 TPC-C简介 TPC-C基准是衡量联机事务处理(OLTP)系统性能的行业标准基准。它基于一个复杂的数据库和许多不同的事务类型。这些事务类型在此基准上执行。TPC-C基准测试既不依赖硬件,也不依赖软件,因此可以在每个测试平台上运行。基准模型的官方概述,见tpc.org网站( 阅读全文
posted @ 2024-04-29 14:12 奔跑的数据库 阅读(31) 评论(0) 推荐(0) 编辑
摘要:MOT应用场景 MOT可以根据负载的特点,显著加快应用程序的整体性能。MOT通过提高数据访问和事务执行的效率,并通过消除并发执行事务之间的锁和锁存争用,最大程度地减少重定向,从而提高了事务处理的性能。 MOT的极速不仅因为它在内存中,还因为它围绕并发内存使用管理进行了优化。数据存储、访问和处理算法从 阅读全文
posted @ 2024-04-29 14:10 奔跑的数据库 阅读(12) 评论(0) 推荐(0) 编辑
摘要:MOT硬件 本次测试使用的服务器满足10GbE组网和以下配置: 基于Arm64/鲲鹏920的2路服务器,型号为TaiShan 2280 v2(128核),800GB RAM,1TB NVMe盘。操作系统为openEuler。 基于Arm64/鲲鹏960的4路服务器,型号为TaiShan 2480 v 阅读全文
posted @ 2024-04-29 14:10 奔跑的数据库 阅读(12) 评论(0) 推荐(0) 编辑
摘要:MOT准备 下文介绍了使用MOT的前提条件以及内存和存储规划。 前提条件 MOT内存和存储规划 详情查看:https://opengauss.org 详情查看:https://docs-opengauss.osinfra.cn 阅读全文
posted @ 2024-04-29 14:10 奔跑的数据库 阅读(2) 评论(0) 推荐(0) 编辑
摘要:MOT资源利用率 在4路96核512GB RAM的x86服务器上测试的资源利用率如下所示。MOT能够高效持续消耗几乎所有可用的CPU资源。例如,192核390万tpmC的CPU利用率几乎达到100%。 tmpC:每分钟完成的TPC-C事务数以橙色条柱和左侧的Y轴 tpmC 表示。 CPU利用率(%) 阅读全文
posted @ 2024-04-29 14:09 奔跑的数据库 阅读(3) 评论(0) 推荐(0) 编辑
摘要:MOT纵向扩容架构 纵向扩容即为同一台机器添加额外的核以增加算力。纵向扩容是传统上为单对控制器和多核的机器增加算力的常见形式。纵向扩容架构受限于控制器的可扩展性。 技术要求 MOT旨在实现以下目标: 线性扩容:MOT提供事务性存储引擎,利用单个NUMA架构服务器的所有核,以提供近线性的扩容性能。这意 阅读全文
posted @ 2024-04-29 14:09 奔跑的数据库 阅读(15) 评论(0) 推荐(0) 编辑
摘要:mysql_fdw mysql_fdw是一款开源插件。openGauss基于开源的mysql_fdw Release 2.5.3 版本进行开发适配。 编译和使用mysql_fdw需要环境上包含MariaDB的开发包,所以openGauss默认不编译mysql_fdw,下面依次介绍如何编译和使用mys 阅读全文
posted @ 2024-04-29 14:08 奔跑的数据库 阅读(20) 评论(0) 推荐(0) 编辑
摘要:NUMA-aware分配和亲和性 非统一内存访问(NUMA)是一种计算机内存设计,用于多重处理,其中内存访问时间取决于内存相对于处理器的位置。处理器可以利用NUMA的优势,优先访问本地内存(速度更快),而不是访问非本地内存(这意味着它不会访问另一个处理器的本地内存或处理器之间共享的内存)。 MOT内 阅读全文
posted @ 2024-04-29 14:08 奔跑的数据库 阅读(58) 评论(0) 推荐(0) 编辑
摘要:Schema Schema又称作模式。通过管理Schema,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的Schema下而不引起冲突。 每个数据库包含一个或多个Schema。数据库中的每个Schema包含表和其他类型的对象。数据库创建 阅读全文
posted @ 2024-04-29 14:08 奔跑的数据库 阅读(121) 评论(0) 推荐(0) 编辑
摘要:SSL证书管理 openGauss默认配置了通过openssl生成的安全证书、私钥。并且提供证书替换的接口,方便用户进行证书的替换。 证书生成-TLS 证书生成-TLCP 证书替换 主备证书认证配置 详情查看:https://opengauss.org 详情查看:https://docs-openg 阅读全文
posted @ 2024-04-29 14:07 奔跑的数据库 阅读(20) 评论(0) 推荐(0) 编辑
摘要:参数设置 openGauss提供了多种修改GUC参数的方法,用户可以方便的针对数据库、用户、会话进行设置。 参数名称不区分大小写。 参数取值有整型、浮点型、字符串、布尔型和枚举型五类。 布尔值可以是(on,off)、(true,false)、(yes,no)或者(1,0),且不区分大小写。 枚举类型 阅读全文
posted @ 2024-04-29 14:06 奔跑的数据库 阅读(349) 评论(0) 推荐(0) 编辑
摘要:查看参数值 openGauss安装后,有一套默认的运行参数,为了使openGauss与业务的配合度更高,用户需要根据业务场景和数据量的大小进行GUC参数调整。 操作步骤 以操作系统用户omm登录数据库主节点。 使用如下命令连接数据库。 gsql -d postgres -p 8000 postgre 阅读全文
posted @ 2024-04-29 14:06 奔跑的数据库 阅读(68) 评论(0) 推荐(0) 编辑
摘要:查看审计结果 前提条件 审计功能总开关已开启。 需要审计的审计项开关已开启。 数据库正常运行,并且对数据库执行了一系列增、删、改、查操作,保证在查询时段内有审计结果产生。 数据库各个节点审计日志单独记录。 背景信息 只有拥有AUDITADMIN属性的用户才可以查看审计记录。有关数据库用户及创建用户的 阅读全文
posted @ 2024-04-29 14:02 奔跑的数据库 阅读(91) 评论(0) 推荐(0) 编辑
摘要:查看数据 使用系统表pg_tables查询数据库所有表的信息。 openGauss=# SELECT * FROM pg_tables; 使用gsql的\d+命令查询表的属性。 openGauss=# \d+ customer_t1; 执行如下命令查询表customer_t1的数据量。 openGa 阅读全文
posted @ 2024-04-29 14:01 奔跑的数据库 阅读(138) 评论(0) 推荐(0) 编辑
摘要:查看数据库连接数 背景信息 当用户连接数达到上限后,无法建立新的连接。因此,当数据库管理员发现某用户无法连接到数据库时,需要查看是否连接数达到了上限。控制数据库连接的主要以下几种选项。 全局的最大连接数:由运行参数max_connections指定。 某用户的连接数:在创建用户时由CREATE RO 阅读全文
posted @ 2024-04-29 14:01 奔跑的数据库 阅读(242) 评论(0) 推荐(0) 编辑
摘要:查看账本历史操作记录 前提条件 系统中需要有审计管理员或者具有审计管理员权限的角色。 数据库正常运行,并且对防篡改数据库执行了一系列增、删、改等操作,保证在查询时段内有账本操作记录结果产生。 背景信息 只有拥有AUDITADMIN属性的用户才可以查看账本历史操作记录。有关数据库用户及创建用户的办法请 阅读全文
posted @ 2024-04-29 14:01 奔跑的数据库 阅读(84) 评论(0) 推荐(0) 编辑
摘要:查询原生编译 MOT的另一个特性是,在预编译的完整查询需要执行之前,能够以原生格式(使用PREPARE语句)准备并解析这些查询。 这种原生格式方便后续更有效地执行(使用EXECUTE命令)。这种执行类型速度要快得多,因为原生格式在执行期间绕过多个数据库处理层,从而获得更好地性能。 这种分工避免了重复 阅读全文
posted @ 2024-04-29 14:00 奔跑的数据库 阅读(5) 评论(0) 推荐(0) 编辑
摘要:创建表 背景信息 表是建立在数据库中的,在不同的数据库中可以存放相同的表。甚至可以通过使用模式在同一个数据库中创建相同名称的表。创建表前请先规划存储模型。 创建表 执行如下命令创建表。 openGauss=# CREATE TABLE customer_t1 ( c_customer_sk inte 阅读全文
posted @ 2024-04-29 14:00 奔跑的数据库 阅读(117) 评论(0) 推荐(0) 编辑
摘要:创建和管理schema 背景信息 schema又称作模式。通过管理schema,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的schema下而不引起冲突。 管理schema包括:创建schema、使用schema、删除schema、设 阅读全文
posted @ 2024-04-29 14:00 奔跑的数据库 阅读(806) 评论(0) 推荐(0) 编辑
摘要:创建和管理表 创建表 向表中插入数据 更新表中数据 查看数据 删除表中数据 详情查看:https://opengauss.org 详情查看:https://docs-opengauss.osinfra.cn 阅读全文
posted @ 2024-04-29 13:59 奔跑的数据库 阅读(3) 评论(0) 推荐(0) 编辑
摘要:创建和管理表空间 背景信息 通过使用表空间,管理员可以控制一个数据库安装的磁盘布局。这样有以下优点: 如果初始化数据库所在的分区或者卷空间已满,又不能逻辑上扩展更多空间,可以在不同的分区上创建和使用表空间,直到系统重新配置空间。 表空间允许管理员根据数据库对象的使用模式安排数据位置,从而提高性能。 阅读全文
posted @ 2024-04-29 13:59 奔跑的数据库 阅读(268) 评论(0) 推荐(0) 编辑
摘要:创建和管理分区表 背景信息 openGauss数据库支持的分区表为范围分区表、间隔分区表、列表分区表、哈希分区表。 范围分区表:将数据基于范围映射到每一个分区,这个范围是由创建分区表时指定的分区键决定的。这种分区方式是最为常用的,并且分区键经常采用日期,例如将销售数据按照月份进行分区。 间隔分区表: 阅读全文
posted @ 2024-04-29 13:57 奔跑的数据库 阅读(239) 评论(0) 推荐(0) 编辑
摘要:MOT本地内存和全局内存 SILO管理本地内存和全局内存,如所示。 全局内存是所有核共享的长期内存,主要用于存储所有的表数据和索引。 本地内存是短期内存,主要由会话使用,用于处理事务及将数据更改存储到事务内存中,直到提交阶段。 当事务需要更改时,SILO将该事务的所有数据从全局内存复制到本地内存。使 阅读全文
posted @ 2024-04-28 10:19 奔跑的数据库 阅读(7) 评论(0) 推荐(0) 编辑
摘要:MOT并发控制机制 通过大量研究,我们找到了最佳的并发控制机制,结论为:基于SILO[的OCC算法是MOT中最符合ACID特性的OCC算法。SILO为满足MOT的挑战性需求提供了最好的基础。 说明: MOT完全符合原子性、一致性、隔离性、持久性(ACID)特性,如MOT简介所述。 下面介绍MOT的并 阅读全文
posted @ 2024-04-28 10:18 奔跑的数据库 阅读(5) 评论(0) 推荐(0) 编辑
摘要:MOT部署 以下各小节介绍了各种必需和可选的设置,以达到最佳部署效果。 MOT服务器优化:x86 MOT服务器优化:基于Arm的华为TaiShan2P/4P服务器 MOT配置 阅读全文
posted @ 2024-04-28 10:12 奔跑的数据库 阅读(4) 评论(0) 推荐(0) 编辑
摘要:MOT测试总结 MOT比磁盘表性能提升2.5至4.1倍,在Arm/鲲鹏256核服务器上达到480万tpmC。测试结果清楚表明MOT在扩展和利用所有硬件资源方面的卓越能力。随着CPU槽位和服务器核数增加,性能会随之跃升。 MOT在Arm/鲲鹏架构下最高可达3万tpmC/核,在x86架构下最高可达4万t 阅读全文
posted @ 2024-04-28 10:11 奔跑的数据库 阅读(12) 评论(0) 推荐(0) 编辑
摘要:MOT查询原生编译(JIT) MOT使您可以在执行之前以原生格式(使用PREPARE语句)准备并分析预编译的完整查询。 这种本机格式以后可以更有效地执行(使用EXECUTE命令)。这种类型的执行效率要高得多,因为在执行期间,本机格式绕过了多个数据库处理层。这种分工避免了重复的解析分析操作。Lite 阅读全文
posted @ 2024-04-28 10:11 奔跑的数据库 阅读(4) 评论(0) 推荐(0) 编辑
摘要:MOT持久性 持久性是指长期的数据保护(也称为磁盘持久化)。持久性意味着存储的数据不会遭受任何形式的退化或损坏,因此数据不会丢失或损坏。持久性可确保在有计划停机(例如维护)或计划外崩溃(例如电源故障)后数据和MOT引擎恢复到一致状态。 内存存储是易失的,需要电力来维护所存储的信息。另一方面,磁盘存储 阅读全文
posted @ 2024-04-28 10:10 奔跑的数据库 阅读(6) 评论(0) 推荐(0) 编辑
摘要:MOT持久性概念 持久性是指长期的数据保护(也称为磁盘持久性)。持久性意味着存储的数据不会遭受任何形式的退化或破坏,因此数据不会丢失或损坏。持久性可确保在有计划停机(例如维护)或计划外崩溃(例如电源故障)后数据和MOT引擎恢复到一致状态。 内存存储是易失的,需要电源来维护所存储的信息。另一方面,磁盘 阅读全文
posted @ 2024-04-28 10:10 奔跑的数据库 阅读(1) 评论(0) 推荐(0) 编辑
摘要:MOT错误消息 错误可能由多种场景引起。所有错误都记录在数据库服务器日志文件中。此外,与用户相关的错误作为对查询、事务或存储过程执行或数据库管理操作的响应的一部分返回给用户。 服务器日志中报告的错误包括函数、实体、上下文、错误消息、错误描述和严重性。 向用户报告的错误被翻译成标准PostgreSQL 阅读全文
posted @ 2024-04-28 10:10 奔跑的数据库 阅读(26) 评论(0) 推荐(0) 编辑
摘要:MOT的概念 本章介绍openGauss MOT的设计和工作原理,阐明其高级特性、功能及使用方法,旨在让读者了解MOT操作上的技术细节、重要特性细节和创新点。本章内容有助于决策MOT是否适合于特定的应用需求,以及进行最有效的使用和管理。 MOT纵向扩容架构 MOT并发控制机制 扩展FDW与其他ope 阅读全文
posted @ 2024-04-28 10:09 奔跑的数据库 阅读(4) 评论(0) 推荐(0) 编辑
摘要:MOT低延迟 以下是在Arm/鲲鹏两路服务器(128核)上进行测试的结果。单位为毫秒(ms)。 图 1 低延迟(90th%)性能基准 MOT的平均事务速度为2.5倍,MOT延迟为10.5ms,而基于磁盘的表延迟为23至25ms。 说明: 计算平均数时,已考虑TPC-C的5个事务分布占比。有关更多信息 阅读全文
posted @ 2024-04-28 10:09 奔跑的数据库 阅读(6) 评论(0) 推荐(0) 编辑
摘要:MOT服务器优化:x86 通常情况下,数据库由以下组件绑定: CPU:更快的CPU可以加速任何CPU绑定的数据库。 磁盘:高速SSD/NVME可加速任何I/O绑定数据库。 网络:更快的网络可以加速任何SQL*Net绑定数据库。 除以上内容外,以下通用服务器设置默认使用,可能会明显影响数据库的性能。 阅读全文
posted @ 2024-04-28 10:09 奔跑的数据库 阅读(8) 评论(0) 推荐(0) 编辑
摘要:MOT服务器优化:基于Arm的华为TaiShan2P/4P服务器 以下是基于Arm/鲲鹏架构的华为TaiShan 2280 v2服务器(2路128核[对比:磁盘与MOT])和TaiShan 2480 v2服务器(4路256核[对比:磁盘与MOT])上运行MOT时的建议配置。 除非另有说明,以下设置适 阅读全文
posted @ 2024-04-28 10:08 奔跑的数据库 阅读(9) 评论(0) 推荐(0) 编辑
摘要:MOT复制和高可用 由于MOT集成到openGauss中,并且使用或支持其复制和高可用,因此,MOT原厂功能即支持同步复制和异步复制。 openGauss gs_ctl工具用于可用性控制和openGauss实例操作。这包括gs_ctl切换、gs_ctl故障切换、gs_ctl构建等等。 有关更多信息, 阅读全文
posted @ 2024-04-28 10:08 奔跑的数据库 阅读(3) 评论(0) 推荐(0) 编辑
摘要:MOT高吞吐量 MOT高吞吐量测试结果如下。 Arm/鲲鹏2路128核 性能 下图是华为Arm/鲲鹏2路128核服务器TPC-C基准测试的结果。 一共进行了四类测试: MOT和openGauss基于磁盘的表各进行了2次测试。 其中两项测试是在单节点(无高可用性)上执行,这意味着没有向备节点执行复制。 阅读全文
posted @ 2024-04-28 10:07 奔跑的数据库 阅读(27) 评论(0) 推荐(0) 编辑
摘要:MOT隔离级别 即使MOT完全兼容ACID,openGauss 1.0并非支持所有的隔离级别。下表介绍了各隔离级别,以及MOT支持和不支持的内容。 表 1 隔离级别 隔离级别 说明 READ UNCOMMITTED MOT不支持 READ COMMITTED MOT支持 READ COMMITTED 阅读全文
posted @ 2024-04-28 10:07 奔跑的数据库 阅读(8) 评论(0) 推荐(0) 编辑
摘要:匿名块 匿名块(Anonymous Block)是存储过程的字块之一,没有名称。一般用于不频繁执行的脚本或不重复进行的活动。 语法 匿名块的语法参见图1。 图 1 anonymous_block::= 对以上语法图的解释如下: 匿名块程序实施部分,以BEGIN语句开始,以END语句停顿,以一个分号结 阅读全文
posted @ 2024-04-28 10:00 奔跑的数据库 阅读(74) 评论(0) 推荐(0) 编辑
摘要:权限 数据库对象创建后,进行对象创建的用户就是该对象的所有者。数据库安装后的默认情况下,未开启三权分立,数据库系统管理员具有与对象所有者相同的权限。也就是说对象创建后,默认只有对象所有者或者系统管理员可以查询、修改和销毁对象,以及通过GRANT将对象的权限授予其他用户。 为使其他用户能够使用对象,必 阅读全文
posted @ 2024-04-28 09:59 奔跑的数据库 阅读(89) 评论(0) 推荐(0) 编辑
摘要:批处理模式 openGauss支持从文本文件执行SQL语句。openGauss提供了gsql工具实现SQL语句的批量处理。 以下场景建议使用批处理: 如果您重复运行查询(例如,每天或每周),将其设为脚本可以让您避免每次进行重复输入。 您可以通过复制和编辑脚本文件从现有的相似查询生成新查询。 对于多行 阅读全文
posted @ 2024-04-28 09:59 奔跑的数据库 阅读(25) 评论(0) 推荐(0) 编辑
摘要:时间/日期函数和操作符 时间日期操作符 警告: 用户在使用时间和日期操作符时,对应的操作数请使用明确的类型前缀修饰,以确保数据库在解析操作数的时候能够与用户预期一致,不会产生用户非预期的结果。 比如下面示例没有明确数据类型就会出现异常错误。 SELECT date '2001-10-01' - '7 阅读全文
posted @ 2024-04-28 09:59 奔跑的数据库 阅读(190) 评论(0) 推荐(0) 编辑
摘要:事件触发器 触发器会在指定的ddl事件发生时自动执行函数。目前事件触发器仅在PG兼容模式下可用。 语法格式 创建事件触发器。 CREATE EVENT TRIGGER name ON event [ WHEN filter_variable IN (filter_value [, ... ]) [ 阅读全文
posted @ 2024-04-28 09:59 奔跑的数据库 阅读(26) 评论(0) 推荐(0) 编辑
摘要:事务 事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。openGauss数据库支持的事务控制命令有启动、设置、提交、回滚事务。openGauss数据库支持的事务隔离级别有读已提交和可重复读。 READ COMMITTED:读已提交隔离级别,事务只能读到已提交 阅读全文
posted @ 2024-04-28 09:58 奔跑的数据库 阅读(21) 评论(0) 推荐(0) 编辑
摘要:视图 视图与基本表不同,是一个虚拟的表。数据库中仅存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。若基本表中的数据发生变化,从视图中查询出的数据也随之改变。从这个意义上讲,视图就像一个窗口,透过它可以看到数据库中用户感兴趣的数据及变化。 语法格式 创建视图 CREATE [ 阅读全文
posted @ 2024-04-28 09:58 奔跑的数据库 阅读(14) 评论(0) 推荐(0) 编辑
摘要:数据类型 数值类型 表1列出了所有的可用类型。 表 1 整数类型 名称 描述 存储空间 范围 TINYINT 微整数,别名为INT1。 1字节 0 ~ 255 SMALLINT 小范围整数,别名为INT2。 2字节 -32,768 ~ +32,767 INTEGER 常用的整数,别名为INT4。 4 阅读全文
posted @ 2024-04-28 09:58 奔跑的数据库 阅读(252) 评论(0) 推荐(0) 编辑
摘要:索引 索引是一个指向表中数据的指针。一个数据库中的索引与一本书的索引目录是非常相似的。 索引可以用来提高数据库查询性能,但是不恰当的使用将导致数据库性能下降。建议仅在匹配如下某条原则时创建索引: 经常执行查询的字段。 在连接条件上创建索引,对于存在多字段连接的查询,建议在这些字段上建立组合索引。例如 阅读全文
posted @ 2024-04-28 09:57 奔跑的数据库 阅读(43) 评论(0) 推荐(0) 编辑
摘要:锁 如果需要保持数据库数据的一致性,可以使用LOCK TABLE来阻止其他用户修改表。 例如,一个应用需要保证表中的数据在事务的运行过程中不被修改。为实现这个目的,则可以对表进行锁定,这样将防止数据不被并发修改。 LOCK TABLE只在一个事务块的内部有用,在事务结束时就会被释放。 语法格式 LO 阅读全文
posted @ 2024-04-28 09:57 奔跑的数据库 阅读(44) 评论(0) 推荐(0) 编辑
摘要:物化视图 物化视图是相对普通视图而言的。普通视图是虚拟表,而物化视图实际上就是存储SQL执行语句的结果,可以直接使用数据而不用重复执行查询语句,从而提升性能。 按照刷新方式物化视图分为两种: 全量物化视图:仅支持对已创建的物化视图进行全量更新,而不支持进行增量更新。创建全量物化视图语法和CREATE 阅读全文
posted @ 2024-04-28 09:57 奔跑的数据库 阅读(23) 评论(0) 推荐(0) 编辑
摘要:游标 为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标,存储过程可以控制上下文区域的变化。 语法格式 定义游标 CURSOR cursor_name [ BINARY ] [ NO SCROLL ] [ { WITH | WITHOUT } 阅读全文
posted @ 2024-04-28 09:57 奔跑的数据库 阅读(51) 评论(0) 推荐(0) 编辑
摘要:语法 默认情况下,数据库安装成功,登录后,可以使用\help语句查看所有openGauss的SQL语法。 openGauss=# \help Available help: ABORT ALTER TABLE CREATE DATABASE CREATE TEXT SEARCH CONFIGURAT 阅读全文
posted @ 2024-04-28 09:56 奔跑的数据库 阅读(18) 评论(0) 推荐(0) 编辑
摘要:约束 约束子句用于声明约束,新行或者更新的行必须满足这些约束才能成功插入或更新。如果存在违反约束的数据行为,行为会被约束终止。 约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。 约束可以是列级或表级。列级约束仅适用于列,表级 阅读全文
posted @ 2024-04-28 09:56 奔跑的数据库 阅读(29) 评论(0) 推荐(0) 编辑
摘要:运算符 openGauss中运算符是一个保留关键字或字符,一般用在WHERE语句中,作为过滤条件。常见运算符如下。 算术运算符 + 描述:加 示例: openGauss=# SELECT 2+3 AS RESULT; result 5 (1 row) - 描述:减 示例: openGauss=# S 阅读全文
posted @ 2024-04-28 09:55 奔跑的数据库 阅读(25) 评论(0) 推荐(0) 编辑
摘要:子查询 子查询或称为内部查询,嵌套查询,指的是在数据库查询的WHERE子句中嵌入查询语句,相当于临时表。一个SELECT语句的查询结果能够作为另一个语句的输入值。 子查询可以与SELECT,INSERT,UPDATE和DELETE语句一起使用。 以下是子查询必须遵守的几个规则: 子查询必须用括号括起 阅读全文
posted @ 2024-04-28 09:54 奔跑的数据库 阅读(18) 评论(0) 推荐(0) 编辑
摘要:版本编译 openGauss轻量版的编译过程和生成安装包的过程已经写成了一个一键式的脚本build/script/cmake_package_mini.sh,可以方便的通过脚本进行编译操作。 本章节主要介绍openGauss轻量版本编译和打包流程。 编译前准备 轻量版安装包编译 阅读全文
posted @ 2024-04-28 09:54 奔跑的数据库 阅读(21) 评论(0) 推荐(0) 编辑
摘要:搭建编译环境 硬件要求 编译openGauss的硬件要求: 机器数量:1台 机器硬件规格: CPU: 4U Memory: 8G Free Disk:100G (Linux 64位) 软件要求 操作系统要求 openGauss支持的操作系统: CentOS 7.6 (x86 架构) openEule 阅读全文
posted @ 2024-04-28 09:53 奔跑的数据库 阅读(33) 评论(0) 推荐(0) 编辑
摘要:轻量版安装包编译 使用build/script/cmake_package_mini.sh脚本构建openGauss轻量版安装包。 前提条件 已按照搭建编译环境的要求准备好相关软硬件,并且已参考代码下载下载了代码。 已完成开源软件编译构建,具体请参见开源软件编译构建。 了解cmake_package 阅读全文
posted @ 2024-04-28 09:53 奔跑的数据库 阅读(60) 评论(0) 推荐(0) 编辑
摘要:如何解决“Configure error: C compiler cannot create executables”报错 问题 如何解决版本编译时出现的“Configure error: C compiler cannot create executables”报错。 回答 报错原因:binary 阅读全文
posted @ 2024-04-28 09:52 奔跑的数据库 阅读(248) 评论(0) 推荐(0) 编辑
摘要:如何解决 "g++: fatal error: Killed signal terminated program cclplus" 报错 问题 如何解决编译过程中出现的 "g++: fatal error: Killed signal terminated program cclplus" 报错。 阅读全文
posted @ 2024-04-28 09:52 奔跑的数据库 阅读(339) 评论(0) 推荐(0) 编辑
摘要:如何解决"out of memory allocating xxx bytes after a total of xxx bytes"报错 问题 如何解决编译过程中出现的“out of memory allocating xxx bytes after a total of xxx bytes”报错 阅读全文
posted @ 2024-04-28 09:52 奔跑的数据库 阅读(100) 评论(0) 推荐(0) 编辑
摘要:dblink dblink是一个可以在一个openGauss数据库会话中连接到其它openGauss数据库的工具,同libpq支持的连接参数一致,可参考链接参数。openGauss默认不编译dblink,下面依次介绍如何编译和使用dblink。 编译dblink 当前dblink的源码放在contr 阅读全文
posted @ 2024-04-28 09:47 奔跑的数据库 阅读(83) 评论(0) 推荐(0) 编辑
摘要:file_fdw file_fdw模块提供了外部数据封装器file_fdw,可以用来在服务器的文件系统中访问数据文件。数据文件必须是COPY FROM可读的格式,具体请参见COPY的介绍。使用file_fdw访问的数据文件是当前可读的,不支持对该数据文件的写入操作。 当前openGauss会默认编译 阅读全文
posted @ 2024-04-28 09:47 奔跑的数据库 阅读(10) 评论(0) 推荐(0) 编辑
摘要:Foreign Data Wrapper openGauss的FDW(Foreign Data Wrapper)可以实现各个openGauss数据库及远程服务器(包括数据库、文件系统)之间的跨库操作。目前支持的远程数据库类型包括Oracle、Mysql(MariaDB)、openGauss(post 阅读全文
posted @ 2024-04-28 09:46 奔跑的数据库 阅读(7) 评论(0) 推荐(0) 编辑
摘要:MOT SILO增强特性 SILO[对比:磁盘与MOT]凭借其基本算法流程,优于我们在研究实验中测试的许多其他符合ACID的OCC算法。然而,为了使SILO成为产品级机制,我们必须用许多在最初设计中缺失的基本功能来增强它,例如: 新增对交互式事务的支持,其中事务的SQL运行在客户端实现,而不是作为服 阅读全文
posted @ 2024-04-28 09:46 奔跑的数据库 阅读(8) 评论(0) 推荐(0) 编辑
摘要:MOT SQL覆盖和限制 MOT设计几乎能够覆盖SQL和未来特性集。例如,大多数支持标准的Postgres SQL,也支持常见的数据库特性,如存储过程、自定义函数等。 下面介绍各种SQL覆盖和限制。 不支持的特性 MOT不支持以下特性: 跨引擎操作:不支持跨引擎(磁盘+MOT)的查询、视图或事务。计 阅读全文
posted @ 2024-04-28 09:46 奔跑的数据库 阅读(9) 评论(0) 推荐(0) 编辑
摘要:MOT VACUUM清理 使用VACUUM进行垃圾收集,并有选择地分析数据库,如下所示。 【openGauss】 在openGauss中,VACUUM用于回收死元组占用的存储空间。在正常的openGauss操作中,删除的元组或因更新而作废的元组不会从表中物理删除。只能由VACUUM清理。因此,需要定 阅读全文
posted @ 2024-04-28 09:45 奔跑的数据库 阅读(50) 评论(0) 推荐(0) 编辑
摘要:ALTER TABLE语句 修改表,包括修改表的定义、重命名表、重命名表中指定的列、重命名表的约束、设置表的所属模式、添加/更新多个列、打开/关闭行访问控制开关。 语法格式 在一张已经存在的表上添加列。 ALTER TABLE table_name ADD column_name data_type 阅读全文
posted @ 2024-04-26 11:21 奔跑的数据库 阅读(73) 评论(0) 推荐(0) 编辑
摘要:简易教程 本文档进行简单的产品介绍和安装指导,支撑用户快速使用数据库,若了解详细特性以及参考类信息需查看具体单本文档。 例如, 安装指南提供有关安装要求和过程的信息,而 数据库管理指南提供有关管理的信息。 应用开发指南部分介绍了openGauss的许多重要功能。 例如, MOT内存表部分详细介绍了内 阅读全文
posted @ 2024-04-26 11:21 奔跑的数据库 阅读(6) 评论(0) 推荐(0) 编辑
摘要:DELETE语句 DELETE语句可以从指定的表里删除满足WHERE子句的行。如果WHERE子句不存在,将删除表中所有行,结果只保留表结构。 语法格式 DELETE FROM table_name [WHERE condition]; 参数说明 table_name 目标表的名称(可以有模式修饰)。 阅读全文
posted @ 2024-04-26 11:20 奔跑的数据库 阅读(13) 评论(0) 推荐(0) 编辑
摘要:DISTINCT DISTINCT关键字与SELECT语句一起使用,用于去除重复记录,只获取唯一的记录。 当一个表中有多个重复记录,当提取这样的记录时,DISTINCT关键字就显得特别有意义,它只获取唯一一次记录,而不是获取重复记录。 语法格式 SELECT DISTINCT [ ON ( expr 阅读全文
posted @ 2024-04-26 11:20 奔跑的数据库 阅读(24) 评论(0) 推荐(0) 编辑
摘要:GROUP BY子句 GROUP BY语句和SELECT语句一起使用,用来对相同的数据进行分组。您可以对一列或者多列进行分组,但是被分组的列必须存在。 语法格式 SELECT { * | [column, ...] } [ FROM from_item [, ...] ] [ WHERE condi 阅读全文
posted @ 2024-04-26 11:19 奔跑的数据库 阅读(25) 评论(0) 推荐(0) 编辑
摘要:HAVING子句 HAVING子句可以让我们筛选分组后的各组数据。 WHERE子句在所选列上设置条件,而HAVING子句则在由GROUP BY子句创建的分组上设置条件。 语法格式 SELECT { * | [column, ...] } [ FROM from_item [, ...] ] [ WH 阅读全文
posted @ 2024-04-26 11:19 奔跑的数据库 阅读(7) 评论(0) 推荐(0) 编辑
摘要:INSERT INTO语句 在创建一个表后,表中并没有数据,使用这个表之前,需要向表中插入数据。INSERT INTO语句用于向表中插入新记录。该语句可以插入一行数据也可以同时插入多行数据。 语法格式 INSERT INTO table_name [ ( column_name [, ...] ) 阅读全文
posted @ 2024-04-26 11:18 奔跑的数据库 阅读(50) 评论(0) 推荐(0) 编辑
摘要:JOIN JOIN子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。 在openGauss中,JOIN有五种连接类型: CROSS JOIN :交叉连接 INNER JOIN:内连接 LEFT OUTER JOIN:左外连接 RIGHT OUTER JOIN:右外连接 FULL OU 阅读全文
posted @ 2024-04-26 11:18 奔跑的数据库 阅读(33) 评论(0) 推荐(0) 编辑
摘要:NULL值 NULL值代表未知数据。无法比较NULL和0,因为它们是不等价的。 创建表时,可以指定列可以存放或者不能存放NULL值,详情请参见NOT NULL约束。本节介绍IS NULL和IS NOT NULL操作符。 创建表customer_t1,数据如下: openGauss=# SELECT 阅读全文
posted @ 2024-04-26 11:18 奔跑的数据库 阅读(20) 评论(0) 推荐(0) 编辑
摘要:ORDER BY子句 ORDER BY子句用于对SELECT语句检索得到的一列或者多列数据进行升序(ASC)或者降序(DESC)排列。 语法格式 SELECT { * | [column, ...] } [ FROM from_item [, ...] ] [ ORDER BY {expressio 阅读全文
posted @ 2024-04-26 11:17 奔跑的数据库 阅读(21) 评论(0) 推荐(0) 编辑
摘要:SCHEMA SCHEMA又称作模式。通过管理SCHEMA,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的SCHEMA下而不引起冲突。 每个数据库包含一个或多个SCHEMA。数据库中的每个SCHEMA包含表和其他类型的对象。数据库创建 阅读全文
posted @ 2024-04-26 11:16 奔跑的数据库 阅读(78) 评论(0) 推荐(0) 编辑
摘要:SELECT语句 SELECT语句用于从表或视图中取出数据,结果被存储在一个结果表中,称为结果集。 SELECT语句就像叠加在数据库表上的过滤器,利用SQL关键字从数据表中过滤出用户需要的数据。 语法格式 SELECT { * | [column, ...] } [ FROM from_item [ 阅读全文
posted @ 2024-04-26 11:16 奔跑的数据库 阅读(36) 评论(0) 推荐(0) 编辑
摘要:TRUNCATE TABLE语句 清理表数据,TRUNCATE TABLE用于删除表的数据,但不删除表结构。也可以用DROP TABLE删除表,但是这个命令会连表的结构一起删除,如果想插入数据,需要重新建立这张表。 它和在目标表上进行无条件的DELETE有同样的效果,但由于TRUNCATE不做表扫描 阅读全文
posted @ 2024-04-26 11:16 奔跑的数据库 阅读(22) 评论(0) 推荐(0) 编辑
摘要:UNION子句 UNION计算多个SELECT语句返回行集合的并集。UNION内部的SELECT语句必须拥有相同数量的列,列也必须拥有相似的数据类型。同时,每条SELECT语句中的列的顺序必须相同。 语法格式 UNION:结果中如果出现相同的值,仅保留一个。 SELECT column_name(s 阅读全文
posted @ 2024-04-26 11:15 奔跑的数据库 阅读(11) 评论(0) 推荐(0) 编辑
摘要:UPDATE语句 修改已经存储在数据库中数据的行为叫做更新。用户可以更新单独一行,所有行或者指定的部分行。还可以独立更新每个字段,而其他字段则不受影响。UPDATE修改满足条件的所有行中指定的字段值,WHERE子句声明条件,SET子句指定的字段会被修改,没有出现的字段则保持它们的原值。 语法格式 U 阅读全文
posted @ 2024-04-26 11:15 奔跑的数据库 阅读(37) 评论(0) 推荐(0) 编辑
摘要:WHERE子句 当我们需要根据指定条件从表中查询数据时,就可以在SELECT语句中添加WHERE子句,从而过滤掉我们不需要数据。WHERE子句构成一个行选择表达式,用于获取满足指定条件的数据,如果给定的条件满足,才返回从表中提取到的具体数值。 语法格式 SELECT { * | [column, . 阅读全文
posted @ 2024-04-26 11:15 奔跑的数据库 阅读(14) 评论(0) 推荐(0) 编辑
摘要:表达式 表达式类似一个公式,我们可以将其应用在查询语句中,用来查找数据库中指定条件的结果集。 简单表达式 逻辑表达式 逻辑表达式的操作符和运算规则,详情请参见逻辑操作符。 比较表达式 常用的比较操作符,请参见操作符。 除比较操作符外,还可以使用以下句式结构: BETWEEN操作符 a BETWEEN 阅读全文
posted @ 2024-04-26 11:15 奔跑的数据库 阅读(36) 评论(0) 推荐(0) 编辑
摘要:查看对象 gsql工具提供了若干高级特性,便于用户使用。常见用法如下: 查看命令帮助信息 \h [NAME] 例如,查询ABORT的所有语法。 openGauss=# \h ABORT Command: ABORT Description: abort the current transaction 阅读全文
posted @ 2024-04-26 11:14 奔跑的数据库 阅读(20) 评论(0) 推荐(0) 编辑
摘要:触发器 触发器会在指定的数据库事件发生时自动执行函数。 语法格式 创建触发器 CREATE TRIGGER trigger_name { BEFORE | AFTER | INSTEAD OF } { event [ OR ... ] } ON table_name [ FOR [ EACH ] { 阅读全文
posted @ 2024-04-26 11:14 奔跑的数据库 阅读(165) 评论(0) 推荐(0) 编辑
摘要:创建表 在当前数据库中创建一个新的空白表,该表由命令执行者所有。在不同的数据库中可以存放相同的表。您可以使用CREATE TABLE语句创建表。 语法格式 CREATE TABLE table_name (column_name data_type [, ... ]); 参数说明 table_nam 阅读全文
posted @ 2024-04-26 11:14 奔跑的数据库 阅读(39) 评论(0) 推荐(0) 编辑
摘要:创建数据库 数据库安装完成后,默认生成名称为postgres的数据库。您需要自己创建一个新的数据库。 语法格式 创建数据库 CREATE DATABASE database_name; 查看数据库 使用“\l”用于查看已经存在的数据库。 \l 使用 “\c + 数据库名” 进入已存在数据库。 \c 阅读全文
posted @ 2024-04-26 11:13 奔跑的数据库 阅读(61) 评论(0) 推荐(0) 编辑
摘要:存储过程 存储过程是能够完成特定功能的SQL语句集。用户可以进行反复调用,从而减少SQL语句的重复编写数量,提高工作效率。 语法格式 创建存储过程 CREATE PROCEDURE procedure_name [ ( {[ argname ] [ argmode ] argtype [ = exp 阅读全文
posted @ 2024-04-26 11:13 奔跑的数据库 阅读(261) 评论(0) 推荐(0) 编辑
摘要:分区表 一张表内的数据过多时,就会严重影响到数据的查询和操作效率。openGauss支持把一张表从逻辑上分成多个小的分片,从而避免一次处理大量数据,提高处理效率。 openGauss数据库支持这些划分类型: 范围分区表:指定一个或多个列划分为多个范围,每个范围创建一个分区,用来存储相应的数据。例如可 阅读全文
posted @ 2024-04-26 11:13 奔跑的数据库 阅读(115) 评论(0) 推荐(0) 编辑
摘要:附录:SQL语法 ABORT 退出当前事务。 ABORT [ WORK | TRANSACTION ] ; ALTER AUDIT POLICY 修改统一审计策略。 ALTER AUDIT POLICY [ IF EXISTS ] policy_name { ADD | REMOVE } { [ p 阅读全文
posted @ 2024-04-26 11:13 奔跑的数据库 阅读(150) 评论(0) 推荐(0) 编辑
摘要:高级数据管理 约束 JOIN NULL值 UNION子句 别名 索引 批处理模式 视图 SCHEMA ALTER TABLE语句 TRUNCATE TABLE语句 事务 游标 分区表 锁 匿名块 触发器 事件触发器 存储过程 物化视图 子查询 权限 函数 阅读全文
posted @ 2024-04-26 11:12 奔跑的数据库 阅读(4) 评论(0) 推荐(0) 编辑
摘要:函数 openGauss常用的函数如下: 数学函数 abs(x) 描述:绝对值。 返回值类型:和输入相同。 示例: openGauss=# SELECT abs(-17.4); abs 17.4 (1 row) cbrt(dp) 描述:立方根。 返回值类型:double precision 示例: 阅读全文
posted @ 2024-04-26 11:12 奔跑的数据库 阅读(198) 评论(0) 推荐(0) 编辑
摘要:基本概念 openGauss是一款关系型数据库管理系统(RDBMS)。关系型数据库是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据。 openGauss的数据库节点负责存储数据,其存储介质也是磁盘。逻辑视角下,可以看到数据库节点上对象包含表空间、数据库、数据文件、表、数据块。对象之间的 阅读全文
posted @ 2024-04-26 11:12 奔跑的数据库 阅读(48) 评论(0) 推荐(0) 编辑
摘要:简单数据管理 创建数据库 创建表 INSERT INTO语句 UPDATE语句 DELETE语句 查看对象 SELECT语句 运算符 表达式 WHERE子句 ORDER BY子句 DISTINCT GROUP BY子句 HAVING子句 时间/日期函数和操作符 模式匹配操作符 聚集函数 阅读全文
posted @ 2024-04-26 11:12 奔跑的数据库 阅读(2) 评论(0) 推荐(0) 编辑
摘要:聚集函数 sum(expression) 描述:所有输入行的expression总和。 返回类型: 通常情况下输入数据类型和输出数据类型是相同的,但以下情况会发生类型转换: 对于SMALLINT或INT输入,输出类型为BIGINT。 对于BIGINT输入,输出类型为NUMBER 。 对于浮点数输入, 阅读全文
posted @ 2024-04-26 11:11 奔跑的数据库 阅读(20) 评论(0) 推荐(0) 编辑
摘要:模式匹配操作符 数据库提供了三种独立的实现模式匹配的方法:SQL LIKE操作符、SIMILAR TO操作符和POSIX-风格的正则表达式。除了这些基本的操作符外,还有一些函数可用于提取或替换匹配子串并在匹配位置分离一个串。 LIKE 描述:判断字符串是否能匹配上LIKE后的模式字符串。如果字符串与 阅读全文
posted @ 2024-04-26 11:11 奔跑的数据库 阅读(20) 评论(0) 推荐(0) 编辑
摘要:PLPython Fenced模式 在fenced模式中添加plpython非安全语言。在数据库编译时需要将python集成进数据库中,在configure阶段加入--with-python选项。同时也可指定安装plpython的python路径,添加选项--with-includes='/pyth 阅读全文
posted @ 2024-04-17 20:36 奔跑的数据库 阅读(44) 评论(0) 推荐(0) 编辑
摘要:常见问题处理 提示需要用户提供--ssl-keyfile与--ssl-certfile选项: 上述exporter默认采用Https模式通信,因此需要用户指定证书及其私钥文件的路径。相反,如果用户只想采用Http模式,则需要显性给定--disable-https选项,从而禁用Https协议。 提示用 阅读全文
posted @ 2024-04-17 20:36 奔跑的数据库 阅读(14) 评论(0) 推荐(0) 编辑
摘要:环境部署 用户可以从Prometheus的官网上下载Prometheus-server和node-exporter,然后根据官方文档中的说明启动它们;也可以通过DBMind提供的快捷部署工具进行部署;如果用户自行部署,则可以跳到 部署过程中为支持部署位置正确以及后续的运行和监测...。 通过命令行进 阅读全文
posted @ 2024-04-17 20:35 奔跑的数据库 阅读(17) 评论(0) 推荐(0) 编辑
摘要:命令参考 reprocessing-exporter的使用帮助详情: gs_dbmind component reprocessing_exporter --help usage: [-h] [--disable-https] [--ssl-keyfile SSL_KEYFILE] [--ssl-c 阅读全文
posted @ 2024-04-17 20:35 奔跑的数据库 阅读(15) 评论(0) 推荐(0) 编辑
摘要:使用指导 用户可通过gs_dbmind命令启动对应的exporter。下面为用户演示一个完整的Prometheus监控平台的搭建过程。 通过命令行进行Prometheus和所有exporter的启动: gs_dbmind component deployment --run prometheus和各 阅读全文
posted @ 2024-04-17 20:35 奔跑的数据库 阅读(116) 评论(0) 推荐(0) 编辑
摘要:service子命令 该子命令可用于对配置目录进行初始化,同时也可以实现启动和停止后台任务。 配置目录初始化 用户可通过 gs_dbmind service setup 子命令进行配置目录的初始化。该配置文件中可包括DBMind的配置文件、日志等内容。该目录中的部分文件说明: dbmind.conf 阅读全文
posted @ 2024-04-17 20:34 奔跑的数据库 阅读(20) 评论(0) 推荐(0) 编辑
摘要:set子命令 该命令用于修改配置文件dbmind.conf中的参数值,与用户手动修改配置文件dbmind.conf一般无差异。例如修改配置目录confpath中的配置文件dbmind.conf中TSDB配置部分,host参数的值,并将其设置为 127.0.0.1。则可通过下述命令实现: gs_dbm 阅读全文
posted @ 2024-04-17 20:34 奔跑的数据库 阅读(13) 评论(0) 推荐(0) 编辑
摘要:常见问题处理 如果用户对没有执行过的慢SQL执行交互式诊断命令,则无法给出诊断结果。 exporter指标采集功能没有启动时运行慢SQL诊断功能,此时功能无法正常运行。 配置文件中的参数重新设置后,需要重新启动服务进程才能生效。 使用慢SQL的交互诊断功能时,工具基于RPC和数据采集服务获取必要的数 阅读全文
posted @ 2024-04-17 20:34 奔跑的数据库 阅读(14) 评论(0) 推荐(0) 编辑
摘要:命令参考 表 1 gs_dbmind component slow_query_diagnosis 命令行说明 参数 参数说明 取值范围 -h, --help 帮助命令 - action 动作参数 show:结果展示clean:清理结果diagnosis:交互诊断 -c,--conf 配置目录 - 阅读全文
posted @ 2024-04-17 20:33 奔跑的数据库 阅读(11) 评论(0) 推荐(0) 编辑
摘要:使用指导 假设用户已经初始化配置文件目录confpath,则可以通过下述命令实现本特性的功能: 仅启动慢SQL诊断功能(输出Top3根因),启动命令如下(更多用法参考对service子命令的说明): gs_dbmind service start -c confpath --only-run slo 阅读全文
posted @ 2024-04-17 20:33 奔跑的数据库 阅读(42) 评论(0) 推荐(0) 编辑
摘要:SQLdiag:慢SQL发现 SQLdiag是openGauss中SQL语句执行时长预测工具。现有的预测技术主要基于执行计划的预测方法,但这些预测方案仅适用于OLAP场景且可以获取执行计划的任务,对于OLTP或者HTAP这样的快速、简单查询是没有太多使用价值的。与上述方案不同,SQLdiag着眼于数 阅读全文
posted @ 2024-04-17 20:32 奔跑的数据库 阅读(12) 评论(0) 推荐(0) 编辑
摘要:获取帮助 使用SQLdiag工具前,您可以通过以下指令获取帮助。 gs_dbmind component sqldiag --help 显示如下帮助信息: usage: [-h] [-f CSV_FILE] [--predicted-file PREDICTED_FILE] [--model {te 阅读全文
posted @ 2024-04-17 20:32 奔跑的数据库 阅读(3) 评论(0) 推荐(0) 编辑
摘要:命令参考 表 1 命令行参数说明 参数 参数说明 取值范围 -f 训练或预测文件位置 - --predicted-file 预测结果存储位置 - --model 模型选择 template, dnn --model-path 训练模型存储位置 - 阅读全文
posted @ 2024-04-17 20:31 奔跑的数据库 阅读(5) 评论(0) 推荐(0) 编辑
摘要:使用指导 前提条件 需要保证用户提供训练数据。 如果用户通过提供的工具收集训练数据,则需要启用WDR功能,涉及到的参数为track_stmt_stat_level和log_min_duration_statement,具体情况见下面小结。 为保证预测准确率,用户提供的历史语句日志应尽可能全面并具有代 阅读全文
posted @ 2024-04-17 20:31 奔跑的数据库 阅读(53) 评论(0) 推荐(0) 编辑
摘要:workload级别索引推荐 对于workload级别的索引推荐,用户可通过运行数据库外的脚本使用此功能,本功能将包含有多条DML语句的workload作为输入,最终生成一批可对整体workload的执行表现进行优化的索引。同时,本功能提供从日志中或系统表中抽取业务数据SQL流水的功能。 前提条件 阅读全文
posted @ 2024-04-17 20:31 奔跑的数据库 阅读(24) 评论(0) 推荐(0) 编辑
摘要:常见问题处理 数据库实例连接失败:请检查数据库实例的情况,是否数据库实例出现了问题或安全权限配置(pg_hba.conf文件中的配置项)不正确。 重启失败:请检查数据库实例健康情况,确保数据库实例工作正常。 跑TPC-C作业时发现性能越来越慢:TPC-C等高并发场景下的压力测试,往往伴随着大量的数据 阅读全文
posted @ 2024-04-17 20:30 奔跑的数据库 阅读(5) 评论(0) 推荐(0) 编辑
摘要:获取帮助 启动调优程序之前,可以通过如下命令获取帮助信息: gs_dbmind component xtuner --help 输出帮助信息结果如下: usage: [-h] [--database DATABASE] [--db-user DB_USER] [--db-port DB_PORT] 阅读全文
posted @ 2024-04-17 20:30 奔跑的数据库 阅读(6) 评论(0) 推荐(0) 编辑
摘要:命令参考 表 1 命令行参数 参数 参数说明 取值范围 mode 指定调优程序运行的模式 train,tune,recommend --tuner-config-file, -x X-Tuner的核心参数配置文件路径,默认路径为安装目录下的xtuner.conf - --db-config-file 阅读全文
posted @ 2024-04-17 20:30 奔跑的数据库 阅读(32) 评论(0) 推荐(0) 编辑
摘要:使用示例 X-Tuner支持三种模式,分别是获取参数诊断报告的recommend模式、训练强化学习模型的train模式、以及使用算法进行调优的tune模式。上述三种模式可以通过命令行参数来区别,通过配置文件来指定具体的细节。 配置数据库连接信息 三种模式连接数据库的配置项是相同的,有两种方式:一种是 阅读全文
posted @ 2024-04-17 20:29 奔跑的数据库 阅读(48) 评论(0) 推荐(0) 编辑
摘要:DB4AI-Query:模型训练和推断 openGauss当前版本支持了原生DB4AI能力,通过引入原生AI算子,简化操作流程,充分利用数据库优化器、执行器的优化与执行能力,获得高性能的数据库内模型训练能力。更简化的模型训练与预测流程、更高的性能表现,让开发者在更短时间内能更专注于模型的调优与数据分 阅读全文
posted @ 2024-04-15 16:57 奔跑的数据库 阅读(14) 评论(0) 推荐(0) 编辑
摘要:DBMind模式说明 用户可通过gs_dbmind命令调用AI4DB的全部功能,该命令可实现下列基本功能: 服务功能:service子命令,包括创建并初始化配置目录、启动后台服务、关闭后台服务等; 调用组件:component子命令,AI4DB功能(如索引推荐、参数调优等)可通过该模式进行即时调用; 阅读全文
posted @ 2024-04-15 16:56 奔跑的数据库 阅读(23) 评论(0) 推荐(0) 编辑
摘要:获取帮助 模块命令行说明: gs_dbmind component forecast --help usage: forecast.py [-h] -c DIRECTORY [--metric-name METRIC_NAME] [--host HOST] [--labels LABELS] [-- 阅读全文
posted @ 2024-04-15 16:55 奔跑的数据库 阅读(2) 评论(0) 推荐(0) 编辑
摘要:命令参考 表 1 gs_dbmind component forecast 命令行说明 参数 参数说明 取值范围 -h, --help 帮助命令 - action 动作参数 show:结果展示clean:清理结果early-warning:进行报警 -c,--conf 配置目录 - --metric 阅读全文
posted @ 2024-04-15 16:54 奔跑的数据库 阅读(6) 评论(0) 推荐(0) 编辑
摘要:使用指导 假设用户已经初始化配置文件目录confpath,则可以通过下述命令实现本特性的功能: 仅启动趋势预测功能,启动命令如下(更多用法参考对service子命令的说明):: gs_dbmind service start -c confpath --only-run forecast 用户交互式 阅读全文
posted @ 2024-04-15 16:54 奔跑的数据库 阅读(8) 评论(0) 推荐(0) 编辑
摘要:资源池化多机并行 可获得性 本特性自openGauss 5.1.1 版本开始引入。 特性简介 SPQ(SharedEverything Parallel Query)是在openGauss开源数据库上的一个多机并行查询框架,该框架部署在资源池化场景内,该场景下集群部署的为一写多读架构,集群下存在一个 阅读全文
posted @ 2024-04-15 16:49 奔跑的数据库 阅读(100) 评论(0) 推荐(0) 编辑
摘要:资源池化算子卸载 可获得性 本特性自openGauss 5.1.0 版本开始引入。 特性简介 共享存储虽然带来弹性,可靠性的好处,但是和本地盘单机比较性能会下降较多,主要是网络IO和分布式存储自身带来的延迟,尤其对于大规模查询buffer pool无法缓存的场景,大量的数据需要从存储节点搬运到计算节 阅读全文
posted @ 2024-04-15 16:48 奔跑的数据库 阅读(24) 评论(0) 推荐(0) 编辑
摘要:资源池化特性说明 可获得性 本特性自openGauss 3.1.1 版本开始引入。 特性简介 本特性提供主备机共享一份存储的能力,实现基于磁阵设备的资源池化HA部署形态,解决传统HA部署下存储容量较单机翻倍的问题,同时备机支持实时一致性读。资源池化架构图如下图所示。 图 1 资源池化架构图 客户价值 阅读全文
posted @ 2024-04-15 16:48 奔跑的数据库 阅读(27) 评论(0) 推荐(0) 编辑
摘要:资源池化性能优化 可获得性 本特性自openGauss 5.1.0版本开始引入,仅适用于资源池化架构。 特性简介 本特性包含以下3个子特性: 资源池化备机可见性逻辑优化,本地缓存从主机获取到的事务xid对应的csn,减少网络开销和消息交互。 资源池化主机获取集群oldestxmin逻辑优化,主机本地 阅读全文
posted @ 2024-04-15 16:47 奔跑的数据库 阅读(21) 评论(0) 推荐(0) 编辑
摘要:子事务并发回滚流程优化 可获得性 本特性自openGauss 5.1.0版本开始引入。 特性简介 本特性利用ProcArrayGroup数据结构管理所有抢占ProcArrayLock锁失败的backends,由第一个进入group的backend作为group leader负责请求ProcArray 阅读全文
posted @ 2024-04-15 16:47 奔跑的数据库 阅读(22) 评论(0) 推荐(0) 编辑
摘要:自适应计划选择 可获得性 本特性自openGauss 3.1.0版本开始引入。 特性简介 本特性通过触发基于基表条件选择率的计划选择,以及对于使用了部分索引和offset的查询提供缓存多计划管理和自适应选择。典型场景下能够提升数倍查询吞吐。 客户价值 通过本功能,用户可以通过维护多个缓存计划实现适应 阅读全文
posted @ 2024-04-15 16:47 奔跑的数据库 阅读(13) 评论(0) 推荐(0) 编辑
摘要:自适应压缩 可获得性 本特性自openGauss 1.0.0版本开始引入。 特性简介 数据压缩是当前数据库采用的主要技术。数据类型不同,适用于它的压缩算法不同。对于相同类型的数据,其数据特征不同,采用不同的压缩算法达到的效果也不相同。自适应压缩正是从数据类型和数据特征出发,采用相应的压缩算法,实现了 阅读全文
posted @ 2024-04-15 16:42 奔跑的数据库 阅读(87) 评论(0) 推荐(0) 编辑
摘要:自治事务 可获得性 本特性自openGauss 1.1.0版本开始引入。 特性简介 子事务的提交不受主事务提交或回滚影响的一类事务。 客户价值 满足客户多样化使用场景。 特性描述 自治事务为在主事务执行过程中,以独立的事务上下文执行指定的某一类SQL语句,其commit和rollback不受主事务c 阅读全文
posted @ 2024-04-15 16:42 奔跑的数据库 阅读(26) 评论(0) 推荐(0) 编辑
摘要:作业失败自动重试 可获得性 本特性自openGauss 1.0.0版本开始引入。 特性简介 批处理作业中,在由于网络异常、锁冲突等出错情况下能够保证作业自动重试。 客户价值 网络异常、锁冲突等出错场景下无需人工干预,自动对出错查询进行重试,提高了可用性。 特性描述 openGauss数据库提供作业重 阅读全文
posted @ 2024-04-15 16:42 奔跑的数据库 阅读(20) 评论(0) 推荐(0) 编辑
摘要:AI4DB: 数据库自治运维 如上文所述,AI4DB主要用于对数据库进行自治运维和管理,从而帮助数据库运维人员减少运维工作量。在实现上,DBMind的AI4DB框架具有监控和服务化的性质,同时也提供即时AI工具包,提供开箱即用的AI运维功能(如索引推荐)。AI4DB的监控平台以开源的Promethe 阅读全文
posted @ 2024-04-15 16:41 奔跑的数据库 阅读(20) 评论(0) 推荐(0) 编辑
摘要:AI特性 人工智能技术最早可以追溯到上世纪50年代,甚至比数据库系统的发展历史还要悠久。但是,由于各种各样客观因素的制约,在很长的一段时间内,人工智能技术并没有得到大规模的应用,甚至还经历了几次明显的低谷期。到了近些年,随着信息技术的进一步发展,从前限制人工智能发展的因素已经逐渐减弱,所谓的ABC( 阅读全文
posted @ 2024-04-15 16:41 奔跑的数据库 阅读(30) 评论(0) 推荐(0) 编辑
摘要:获取帮助 模块命令行说明: gs_dbmind component anomaly_detection --help 显示如下帮助信息: usage: anomaly_analysis.py [-h] -c CONF -m METRIC -s START_TIME -e END_TIME -H HO 阅读全文
posted @ 2024-04-15 16:31 奔跑的数据库 阅读(4) 评论(0) 推荐(0) 编辑
摘要:命令参考 表 1 命令行参数说明 参数 参数说明 取值范围 -h, --help 帮助命令 - -c,--conf 配置文件目录 - -m,--metric 指定显示指标名 - -H, --host 指定数据来源地址信息,通过地址信息进行过滤 -ip地址或者ip地址加端口号 -s, --start- 阅读全文
posted @ 2024-04-15 16:31 奔跑的数据库 阅读(3) 评论(0) 推荐(0) 编辑
摘要:使用指导 假设指标采集系统运行正常,并且用户已经初始化了配置文件目录confpath,则可以通过下述命令实现本特性的功能: 对于某一指标,在特定节点上,分析其他指标与该指标从timestamps1到timestamps1时间段内的数据的相关性: gs_dbmind component anomaly 阅读全文
posted @ 2024-04-15 16:30 奔跑的数据库 阅读(4) 评论(0) 推荐(0) 编辑
摘要:获取帮助 模块命令行说明: gs_dbmind component anomaly_detection --help 显示如下帮助信息: usage: anomaly_detection.py [-h] --action {overview,plot} -c CONF -m METRIC -s ST 阅读全文
posted @ 2024-04-15 16:29 奔跑的数据库 阅读(8) 评论(0) 推荐(0) 编辑
摘要:命令参考 表 1 命令行参数说明 参数 参数说明 取值范围 -h, --help 帮助命令 - --action 动作参数 overview:概览 plot:可视化 -c,--conf 配置文件目录 - -m,--metric-name 指定显示指标名 - -H, --host 指定数据来源地址信息 阅读全文
posted @ 2024-04-15 16:29 奔跑的数据库 阅读(13) 评论(0) 推荐(0) 编辑
摘要:使用指导 假设指标采集系统运行正常,并且用户已经初始化了配置文件目录confpath,则可以通过下述命令实现本特性的功能: 仅启动异常检测功能: gs_dbmind service start --conf confpath --only-run anomaly_detection 对于某一指标,在 阅读全文
posted @ 2024-04-15 16:29 奔跑的数据库 阅读(28) 评论(0) 推荐(0) 编辑
摘要:component子命令 该子命令可以用于启动DBMind的组件,包括可用于监控指标的exporter,以及AI功能等。该命令可以将用户通过命令行传入的命令转发给对应的子组件,故不同的子组件命令需参考其功能的对应说明,详见后文各个子组件对应章节,此处不再赘述。 命令参考 用户可以通过 --help 阅读全文
posted @ 2024-04-15 16:29 奔跑的数据库 阅读(4) 评论(0) 推荐(0) 编辑
摘要:DB4AI-Query:模型训练和推断 openGauss当前版本支持了原生DB4AI能力,通过引入原生AI算子,简化操作流程,充分利用数据库优化器、执行器的优化与执行能力,获得高性能的数据库内模型训练能力。更简化的模型训练与预测流程、更高的性能表现,让开发者在更短时间内能更专注于模型的调优与数据分 阅读全文
posted @ 2024-04-15 16:28 奔跑的数据库 阅读(12) 评论(0) 推荐(0) 编辑
摘要:DB4AI-Snapshots数据版本管理 DB4AI-Snapshots是DB4AI模块用于管理数据集版本的功能。通过DB4ai-Snapshots组件,开发者可以简单、快速地进行特征筛选、类型转换等数据预处理操作,同时还可以像git一样对训练数据集进行版本控制。数据表快照创建成功后可以像视图一样 阅读全文
posted @ 2024-04-15 16:28 奔跑的数据库 阅读(20) 评论(0) 推荐(0) 编辑
摘要:DBMind安装和部署 1. 安装准备 1.1 环境信息 假设在主控节点192.168.100.4上部署DBMind,有一套端口号为19999的集群环境,环境信息如下: node node_ip state 主节点 192.168.100.1 Primary 备节点1 192.168.100.2 S 阅读全文
posted @ 2024-04-15 16:27 奔跑的数据库 阅读(106) 评论(0) 推荐(0) 编辑
摘要:资源标签机制 可获得性 本特性自openGauss 1.1.0版本开始引入。 特性简介 数据库资源是指数据库所记录的各类对象,包括数据库、模式、表、列、视图、触发器等,数据库对象越多,数据库资源的分类管理就越繁琐。资源标签机制是一种通过对具有某类相同“特征”的数据库资源进行分类标记而实现资源分类管理 阅读全文
posted @ 2024-04-09 10:07 奔跑的数据库 阅读(12) 评论(0) 推荐(0) 编辑
摘要:主备高可用能力增强 可获得性 本特性自openGauss 5.1.0版本开始引入。 特性简介 针对备机异常的场景,优化主机的业务在最大可用模式下不阻塞,并且表的垃圾回收不受影响。 客户价值 当同步备机异常时,例如磁盘故障,导致备机长时间阻塞在写盘上,而主机的synchronous_commit设置为 阅读全文
posted @ 2024-04-09 10:07 奔跑的数据库 阅读(36) 评论(0) 推荐(0) 编辑
摘要:主备机 可获得性 本特性自openGauss 1.0.0 版本开始支持DN主备。 特性简介 为了保证故障的可恢复,需要将数据写多份,设置主备多个副本,通过日志进行数据同步,可以实现节点故障、停止后重启等情况下,openGauss能够保证故障之前的数据无丢失,满足ACID特性。 客户价值 主备机功能可 阅读全文
posted @ 2024-04-09 10:06 奔跑的数据库 阅读(22) 评论(0) 推荐(0) 编辑
摘要:向量化引擎 可获得性 本特性自openGauss 1.0.0版本开始引入。 特性简介 openGauss提供向量化引擎,通常用在OLAP数据仓库类系统。主要是因为分析型系统通常是数据处理密集型,基本上都是采用顺序方式来访问表中大部分的数据,然后再进行计算,最后将计算结果输出给用户。 客户价值 通过批 阅读全文
posted @ 2024-04-09 09:56 奔跑的数据库 阅读(33) 评论(0) 推荐(0) 编辑
摘要:延迟进入最大可用模式 可获得性 本特性自openGauss 3.0.0版本开始引入。 特性简介 支持主机延迟进入最大可用模式。 客户价值 当主机与同步备机之间的网络不稳定或其他原因导致主机感知到备机退出,且主机打开最大可用模式配置时,在一定时间窗内仍维持主机在最大保护模式的状态,超出该时间窗口后,主 阅读全文
posted @ 2024-04-09 09:56 奔跑的数据库 阅读(38) 评论(0) 推荐(0) 编辑
摘要:延时回放 可获得性 本特性自openGauss 2.0.0 版本开始引入。 特性简介 支持备机延时回放。 客户价值 默认情况下,备机会尽快恢复来自于主机的XLOG记录。这个功能允许备机将回放延时一段指定的时间后进行回放。提供一份可查询一段时间之前的数据副本,可以更方便的纠正用户误操作等错误。 特性描 阅读全文
posted @ 2024-04-09 09:55 奔跑的数据库 阅读(29) 评论(0) 推荐(0) 编辑
摘要:异步备升主数据找回能力 可获得性 本特性自openGauss 6.0.0版本开始引入。 特性简介 主机发生异常后,如果仅有异步备可以升主,旧主可能存在已提交的事务未同步到备机,该功能旨在找回这部分数据,通过逻辑解码的方式提供给用户,再由用户自行处理。 客户价值 当部署方式是多中心,且只有主中心的备机 阅读全文
posted @ 2024-04-09 09:55 奔跑的数据库 阅读(16) 评论(0) 推荐(0) 编辑
摘要:用户口令强度校验机制 可获得性 本特性自openGauss 1.1.0版本开始引入。 特性简介 对用户访问数据库所设置的口令强度进行校验。 客户价值 用户无法设置过低强度的口令,加固客户数据安全。 特性描述 初始化数据库、创建用户、修改用户时需要指定密码。密码必须满足强度校验,否则会提示用户重新输入 阅读全文
posted @ 2024-04-09 09:48 奔跑的数据库 阅读(22) 评论(0) 推荐(0) 编辑
摘要:运行环境 支持的硬件平台 openGauss支持运行在ARM服务器和通用的x86服务器上: 支持ARM服务器和基于x86_64的通用PC服务器。 支持本地存储(SATA、SAS、SSD)。 支持千兆、万兆Ethernet网络。 支持的操作系统 ARM: openEuler 20.03 LTS(推荐采 阅读全文
posted @ 2024-04-09 09:48 奔跑的数据库 阅读(19) 评论(0) 推荐(0) 编辑
摘要:在线添加索引 可获得性 本特性自openGauss 1.1.0 版本开始引入。 特性简介 通过create index concurrently语法,以不阻塞DML的方式在线创建索引。 客户价值 创建索引时指定concurrently关键字,可以实现创建过程中不阻塞DML,不阻塞用户在线业务。 特性 阅读全文
posted @ 2024-04-09 09:47 奔跑的数据库 阅读(66) 评论(0) 推荐(0) 编辑
摘要:增量迁移gs_replicate 可获得性 本特性自openGauss 5.0.0版本开始引入。 特性简介 增量迁移gs_replicate是指将mysql数据迁移期间(包括全量和增量迁移)产生的增量数据迁移至openGauss端。 客户价值 通过使用gs_replicate工具,可完成增量数据从M 阅读全文
posted @ 2024-04-09 09:47 奔跑的数据库 阅读(29) 评论(0) 推荐(0) 编辑
摘要:账本数据库机制 可获得性 本特性自openGauss 2.1.0版本开始引入。 特性简介 账本数据库特性,对用户指定的防篡改表增加校验信息,并记录用户对其数据的操作历史,通过数据和操作历史的一致性校验来保证用户数据无法被恶意篡改。在用户对防篡改表执行DML操作时,系统对防篡改表增加少量额外的行级校验 阅读全文
posted @ 2024-04-09 09:47 奔跑的数据库 阅读(16) 评论(0) 推荐(0) 编辑
摘要:支持Global SysCache 可获得性 本特性自openGauss 3.0.0版本开始引入。 特性简介 全局系统缓存(Global SysCache)是系统表数据的全局缓存和本地缓存。原理如图1所示。 图 1 Global SysCache原理图 客户价值 全局系统缓存特性可以降低数据库进程的 阅读全文
posted @ 2024-04-09 09:46 奔跑的数据库 阅读(47) 评论(0) 推荐(0) 编辑
摘要:支持HyperLogLog 可获得性 本特性自openGauss 1.1.0版本开始引入。 特性简介 通过使用HyperLogLog相关函数,计算唯一值个数Count(Distinct),提升性能。 客户价值 提升AP/TP类查询的性能。 特性描述 HLL(HyperLogLog)是统计数据集中唯一 阅读全文
posted @ 2024-04-09 09:46 奔跑的数据库 阅读(6) 评论(0) 推荐(0) 编辑
摘要:支持I层高时延逃生能力 可获得性 本特性自openGauss 3.0.0版本开始引入。 特性简介 I层异常会导致数据库SQL执行时延升高,进而导致内存或者线程池出现过载问题,针对此场景openGauss支持自动逃生能力。 客户价值 当数据库由于I层异常导致SQL执行时延升高,会话堆积,内存或线程池过 阅读全文
posted @ 2024-04-09 09:46 奔跑的数据库 阅读(5) 评论(0) 推荐(0) 编辑
摘要:支持LLVM 可获得性 本特性自openGauss 1.0.0版本开始引入。 特性简介 openGauss的LLVM(Low Level Virtual Machine)技术,提供了查询动态编译执行的能力。 客户价值 通过对查询动态编译执行,大幅提高重查询性能。 特性描述 openGauss借助LL 阅读全文
posted @ 2024-04-09 09:45 奔跑的数据库 阅读(7) 评论(0) 推荐(0) 编辑
摘要:支持OLTP场景数据压缩 可获得性 本特性自openGauss 3.0.0版本开始引入。 在openGauss 3.1.0版本中将pca文件和pcd文件整合为一个文件;pca独立进行加载淘汰管理,不再依赖mmap操作;新增chunk碎片整理操作。 在openGauss 5.1.0版本支持修改行存表的 阅读全文
posted @ 2024-04-09 09:45 奔跑的数据库 阅读(32) 评论(0) 推荐(0) 编辑
摘要:支持PL/Java 可获得性 本特性自openGauss 1.0.0版本开始引入。 特性简介 支持java UDF。 客户价值 提供多种函数的开发环境。 特性描述 使用openGauss数据库的PL/Java函数,用户可以使用自己喜欢的Java IDE编写Java方法,并将包含这些方法的jar文件安 阅读全文
posted @ 2024-04-09 09:44 奔跑的数据库 阅读(33) 评论(0) 推荐(0) 编辑
摘要:支持SQL hint 可获得性 本特性自openGauss 1.1.0版本开始引入。 特性简介 支持SQL hint影响执行计划生成。 客户价值 提升SQL查询性能。 特性描述 Plan Hint为用户提供了直接影响执行计划生成的手段,用户可以通过指定join顺序,join、stream、scan方 阅读全文
posted @ 2024-04-09 09:44 奔跑的数据库 阅读(17) 评论(0) 推荐(0) 编辑
摘要:支持SQL PATCH 可获得性 本特性自openGauss 3.0.0版本开始引入。 特性简介 SQL PATCH能够在避免直接修改用户业务语句的前提下对查询执行的方式做一定调整。在发现查询语句的执行计划、执行方式未达预期的场景下,可以通过创建查询补丁的方式,使用Hint对查询计划进行调优或对特定 阅读全文
posted @ 2024-04-09 09:44 奔跑的数据库 阅读(20) 评论(0) 推荐(0) 编辑
摘要:UWAL特性 可获得性 本特性自openGauss 5.1.1版本开始引入。 特性简介 本特性将数据库和自研公共组件UWAL相结合,提高数据库的主备事务提交和流复制传输性能,实现数据库WAL的性能加速效果。 客户价值 随着数据规模和数据节点的增加,节点之间副本备份(replication)会影响性能 阅读全文
posted @ 2024-04-09 09:44 奔跑的数据库 阅读(58) 评论(0) 推荐(0) 编辑
摘要:支持WDR诊断报告 可获得性 本特性自openGauss 1.0.0 版本开始引入。 特性简介 WDR报告提供数据库性能诊断报告,该报告基于基线性能数据和增量数据两个版本,从性能变化得到性能报告。 客户价值 WDR报表是长期性能问题最主要的诊断手段。基于SNAPSHOT的性能基线,从多维度做性能分析 阅读全文
posted @ 2024-04-09 09:43 奔跑的数据库 阅读(24) 评论(0) 推荐(0) 编辑
摘要:支持备机build备机 可获得性 本特性自openGauss 3.0.0版本开始引入。 特性简介 备机build备机加快备机故障的恢复。 减小主机io和带宽压力。 客户价值 当业务压力过大时,从主机build备机会对主机的资源造成影响,导致主机性能下降、build变慢的情况。使用备机build备机不 阅读全文
posted @ 2024-04-09 09:43 奔跑的数据库 阅读(46) 评论(0) 推荐(0) 编辑
摘要:支持标准SQL 可获得性 本特性自openGauss 1.0.0版本开始引入。 特性简介 SQL是用于访问和处理数据库的标准计算机语言。SQL标准的定义分成核心特性以及可选特性,绝大部分的数据库都没有100%支撑SQL标准。 openGauss数据库支持SQL:2011大部分的核心特性,同时还支持部 阅读全文
posted @ 2024-04-09 09:43 奔跑的数据库 阅读(25) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示