摘要: 在数据库自治运维技术领域,主要分为两条技术路线。其一是以Oracle为主的老牌数据库厂商,构建运维及生命周期管理统一逃课,实现大规模的数据库智能化管理能力;对用户通过运维工具指导业务快速升级和排障,对业务通过内置的优化诊断套件和多维度报表,快速定位性能瓶颈问题和实现SQL的快速优化。这种方案在单一集 阅读全文
posted @ 2024-10-30 12:04 MySQL成长之路 阅读(22) 评论(0) 推荐(0)
摘要: 应用系统数据库设计的基本流程 应用系统数据库设计基本流程简图: 第一步:需求分析:主要包括数据、功能、性能等 第二步:数据库设计:主要包括概念结构设计、逻辑结构设计、物理结构设计等 第三步:数据库实施:选择数据库软件,并进行落地。 第四步:数据库系统运行、维护和优化。 其中数据库设计(Databas 阅读全文
posted @ 2024-10-30 12:04 MySQL成长之路 阅读(138) 评论(0) 推荐(0)
摘要: ​ 前言 随着数字经济的蓬勃发展,数据库也成为企业的关键技术生产力,也是各行各业数字化转型的必要根基。GaussDB作为新一代分布式数据库,核心代码100%自主创新,具备高可用、高安全、高性能、高弹性、高智能、易部署、易迁移的特性,是当前国内唯一能够做到软硬协同、全栈自主的数据库,目前已广泛应用于各 阅读全文
posted @ 2024-10-30 12:04 MySQL成长之路 阅读(59) 评论(0) 推荐(0)
摘要: 初次接触openGauss或GaussDB数据库的逻辑对象,被其中的表空间、数据库、schema和用户之间的关系,以及授权管理困惑住了,与熟悉的MySQL数据库的逻辑对象又有明显的不同。本文旨在简要梳理下GaussDB数据库逻辑对象之间的关系,以加深理解。 1、GaussDB数据库逻辑对象 1.1 阅读全文
posted @ 2024-10-30 12:04 MySQL成长之路 阅读(16) 评论(0) 推荐(0)
摘要: 二、GaussDB常用基础函数介绍与示例 1、数字操作函数 在GaussDB数据库中,数字操作函数是指用于执行数字操作的函数,例如加减乘除、取余、幂运算等。这些函数通常在数学、计算机科学和工程学等领域中使用,用于处理数字数据和执行数字操作。 以下是一些常见的数字操作函数: --abs(x) --描述 阅读全文
posted @ 2024-10-30 12:04 MySQL成长之路 阅读(29) 评论(0) 推荐(0)
摘要: 前言 函数是数据库中最基本的组成部分之一,它们用于定义和操作数据库中的表格、记录、索引和视图等对象。在数据库中,函数的作用非常重要,因为它们可以实现数据的复杂操作,如查询、更新、删除和排序等。 作为华为自主创新研发的分布式关系型云数据库,GaussDB也拥有强大的函数支持体系。 本文主要从:数字操作 阅读全文
posted @ 2024-10-30 12:04 MySQL成长之路 阅读(25) 评论(0) 推荐(0)
摘要: GaussDB Kernel V5版本的Catalog还是本地存储, 所以还需要考虑catalog的持久化问题.未来演进元数据解耦,Coordinator 无状态, 就不需要考虑Catalog持久化问题了。但是跨节点场景下的事务提交在Coordinator上还是要持久化的。 图14 Coordina 阅读全文
posted @ 2024-10-30 12:04 MySQL成长之路 阅读(33) 评论(0) 推荐(0)
摘要: GTM 仅处理全局时间戳请求, 64位CSN递增,几乎都是CPU ++和消息收发操作。不是每次都写ETCD, 而是采用定期持久化到ETCD 里, 每次写ETCD的CSN要加上一个backup_step (100w), 一旦GTM故障,CSN从ETCD读取出来的值保证单调递增。当前GTM 只完成CSN 阅读全文
posted @ 2024-10-30 12:04 MySQL成长之路 阅读(40) 评论(0) 推荐(0)
摘要: GaussDB Kernel V5 集群管理层关键模块如下。 图4 集群管理层组件设计图 CM 组件提供了四种服务 CM Agent, CM Server, OM Monitor, cm_ctl,与各类实例服务组件(CN, DN, GTM 等)一起构成了整个数据库集群系统。cm_ctl通过命令行执行 阅读全文
posted @ 2024-10-30 12:04 MySQL成长之路 阅读(23) 评论(0) 推荐(0)
摘要: ​ 在数据库世界里,查询重写是提升性能的关键环节。WeTune作为一款革命性工具,能自动发现新重写规则,打破现有系统依赖人工发现重写规则的局限,大幅提升数据库查询性能。 上海交通大学软件学院副院长王肇国和高斯实验室GaussDB数据库优化器专家Ethan联手开展了一场以《智能优化揭秘——GaussD 阅读全文
posted @ 2024-10-30 12:04 MySQL成长之路 阅读(22) 评论(0) 推荐(0)
摘要: ​ 最近看到一篇《我说MySQL每张表最好不要超过2000万数据,面试官让我回去等通知》的文章,非常有趣。 文中提到,他朋友在面试的过程中说,自己的工作就是把用户操作信息存到MySQL里,因为数据量超大(5000万条左右),需要每天定时生成3张表,然后将数据取模分别存到这三张表里。 下面是两人的对话 阅读全文
posted @ 2024-10-30 12:04 MySQL成长之路 阅读(24) 评论(0) 推荐(0)
摘要: ​ 背景 对数据库集群内资源管控与资源隔离一直是企业客户长久以来的诉求。华为云GaussDB作为一款企业级分布式数据库,一直致力于满足企业对大型数据库集群的管理需要。 数据库可以管理的资源有计算资源与存储资源,计算资源包括CPU、内存、IO与网络,存储资源包括数据存储空间、日志存储空间与临时文件等。 阅读全文
posted @ 2024-10-30 12:03 MySQL成长之路 阅读(22) 评论(0) 推荐(0)
摘要: ​ D-SMART高斯专版已经开发了几个月了,目前主要技术问题都已经解决,也能够初步看到大概的面貌了。有朋友问我,GaussDB不已经有了TPOPS了,为什么你们还要开发D-SMART高斯专版呢? 实际上TPOPS和D-SMART虽然都可以用于Gaussdb的运维监控,不过其分工还是十分明显的。TP 阅读全文
posted @ 2024-10-30 12:03 MySQL成长之路 阅读(19) 评论(0) 推荐(0)
摘要: 万物互联的态势下,数据量的激增使得“如何提升数据处理性能”成为各家数据库共同面临的挑战。作为编译优化技术的代表,基于LLVM的CodeGen技术,能为每个查询生成定制的机器码替代原本的通用函数,减少实际查询时冗余的条件逻辑判断、虚函数调用并提高数据局域性,从而达到提升查询整体性能的目的,成为数据库性 阅读全文
posted @ 2024-10-30 12:03 MySQL成长之路 阅读(24) 评论(0) 推荐(0)
摘要: ​ 一、引言 事务管理是数据库系统中至关重要的一部分,它确保了数据库的一致性和可靠性。在GaussDB数据库中,事务管理不仅遵循传统的ACID特性,还提供了一些高级功能。本文将深入探讨GaussDB数据库事务管理的各个方面。 二、事务的基本概念 2.1 事务的定义 事务是数据库操作的基本单元,它是一 阅读全文
posted @ 2024-10-30 12:03 MySQL成长之路 阅读(18) 评论(0) 推荐(0)
摘要: 问题描述 CPU利用率是衡量系统负载和健康度的重要指标之一,系统在运行过程中时常发生CPU利用率高的情况。在分析性能问题时,可通过火焰图查看CPU耗时,了解瓶颈在哪里。 问题现象 部分sql执行速度不符合预期。 告警 慢sql告警。 cpu使用率高告警。 数据库整体运行慢。 业务影响 业务性能差。 阅读全文
posted @ 2024-10-30 12:03 MySQL成长之路 阅读(21) 评论(0) 推荐(0)
摘要: 一、前言 行存表和列存表是数据库中两种常见的数据存储方式。随着信息技术的飞速发展,数据存储和管理以及如何高效地存储和处理大量的数据已经成为了我们的一大挑战。 为了解决这个问题,行存表与列存表应运而生,它们以其独特的优势在各个场景得到了高效的应用。GaussDB支持行、列存储,本文将简单给大家介绍一下 阅读全文
posted @ 2024-10-30 12:03 MySQL成长之路 阅读(36) 评论(0) 推荐(0)
摘要: 问题描述 CPU使用率高。 问题现象 出现CPU使用率超过阈值,CPU使用率快速上涨或短时间持续较高水平等现象。 告警 CPU使用率告警。 业务影响 CPU使用率高集群响应变慢。 原因分析 期间业务压力增大导致。 出现CPU耗时较多的SQL。 处理方法 步骤 1 查看监控是某个节点的CPU高还是集群 阅读全文
posted @ 2024-10-30 12:03 MySQL成长之路 阅读(41) 评论(0) 推荐(0)
摘要: 一 、前言 传统的数据库管理软件,不仅需要下载安装、功能还比较单一,而且已经滞后于云服务的发展模式。华为GaussDB云数据库提供了配套的生态工具数据管理服务DAS。 DAS通过与数据库内核的紧密结合,提供了数据库开发、运维、智能诊断一站式云上数据库管理平台,方便用户使用和运维华为云数据库。 二、D 阅读全文
posted @ 2024-10-30 12:03 MySQL成长之路 阅读(31) 评论(0) 推荐(0)
摘要: PageStore是一个分布式存储,对外提供SAL接口,SQL节点通过SAL接口进行日志和页面的持久化服务,PageStore对象间的映射关系如下图所示。 Page Cluster Manager Control Server(集群管理):页面集群管理控制服务负责整个存储节点的管理,VFS和Stor 阅读全文
posted @ 2024-10-30 12:03 MySQL成长之路 阅读(20) 评论(0) 推荐(0)
摘要: 云原生数据库是一个分布式系统,各个服务之间,服务与外部应用和外部用户之间,服务与内部应用和内部用户之间主要通过通信进行交互,它们的数据流图如下图所示。 从图中可以看出,云原生主要包括三个通信平面,OM_Monitor,OM_Agent,OM_Server组成的管理平面(操作维护),GaussDB M 阅读全文
posted @ 2024-10-30 12:02 MySQL成长之路 阅读(10) 评论(0) 推荐(0)
摘要: 备份和恢复PITR主要是为了应对人为失误、硬件故障和自然灾害等。 云原生数据库默认支持一级备份,一级备份是分布式存储Page Store基于append only实现的快照功能,快照数据保存在本集群,用户可以配置开始一级备份的时间段、频率以及保留时间,由OM_Server根据集群的负载等数据生成备份 阅读全文
posted @ 2024-10-30 12:02 MySQL成长之路 阅读(15) 评论(0) 推荐(0)
摘要: 安全关键技术一:密态等值查询 密态等值查询属于密态数据库第一阶段方案,但是遵从密态数据库总体架构。密态数据库的总体架构示意图如下图所示。密态数据库的完整形态包括密码学方案和软硬结合方案。 图8 密态数据库总体架构 由于密态等值查询仅涉及到软件部分,仅需集成密态数据库总体架构的软件部分,其总体实现方案 阅读全文
posted @ 2024-10-30 12:02 MySQL成长之路 阅读(28) 评论(0) 推荐(0)
摘要: GaussDB技术解读——查询处理流程查询解析器 查询解析是指将用户的SQL文本输入转换为数据库内核能够进行逻辑运算的翻译过程,SQL的解析过程主要分为以下几个阶段: (1)词法分析Lexical Analysis:将用户输入的SQL语句拆解成单词(Token)序列,并识别出关键字、标识、常量等 ( 阅读全文
posted @ 2024-10-30 12:01 MySQL成长之路 阅读(35) 评论(0) 推荐(0)
摘要: 查询优化阶段主要是SQL执行过程中在优化器SQL Optimizer中执行的部分,优化器作为数据库的大脑是SQL执行路径决策者,从全局视角出发提升查询的性能,降低用户使用数据库调优的门槛。 查询优化总体上分为逻辑优化、物理优化。查询优化从总体上可以分成两类: 1、基于规则的逻辑优化(Rule-Bas 阅读全文
posted @ 2024-10-30 12:01 MySQL成长之路 阅读(40) 评论(0) 推荐(0)
摘要: GaussDB技术解读——查询执行器 执行引擎负责查询的执行,在SQL执行栈中起到接受优化器生成的执行计划Plan、并对通过存储引擎提供的数据读写接口,实现对数据进行计算得到查询的结果集。 在分布式数据库中,执行引擎的范围还应包括节点间网络数据交换和传输的部分。 经典的执行模型:Tuple-At-A 阅读全文
posted @ 2024-10-30 12:01 MySQL成长之路 阅读(24) 评论(0) 推荐(0)
摘要: 存储引擎主要实现高效存储数据确保数据库ACID(原子性、一致性、隔离性、持久性),正确并发读写、高性能读写等问题,从查询处理的视角通常执行算子Scan层调用存储引擎的数据读取接口进行数据读写,传统的存储引擎在查询处理的位置如下图 GaussDB包含多种存储模式,按照存储格式划分可分为行存储格式、列存 阅读全文
posted @ 2024-10-30 12:01 MySQL成长之路 阅读(32) 评论(0) 推荐(0)
摘要: GaussDB技术解读——分布式优化器 分布式数据库场景下表分布在各个节点上,数据的本地性Data Locality是分布式优化器中生成执行计划时重点考虑的因素,基于Share Nothing的分布式数据库中有一个很关键概念就是“移动数据不如移动计算”,之所以有数据本地性就是因为数据在网络中传输会有 阅读全文
posted @ 2024-10-30 12:01 MySQL成长之路 阅读(17) 评论(0) 推荐(0)
摘要: 在数据库里RBO基于规则的优化一般指查询重写技术,按照一系列关系代数表达式的等价规则,对查询的关系代数表达式进行等价转换,从逻辑上减少执行的总量从而提高查询执行效率,例如,通过条件的推导得出非必要的表扫描、避免非必要的计算表示等。 查询重写RBO优化是非常重要的一种逻辑优化手段,通常应用和实施在查询 阅读全文
posted @ 2024-10-30 12:00 MySQL成长之路 阅读(34) 评论(0) 推荐(0)
摘要: GaussDB技术解读高性能——分布式优化器 分布式数据库场景下表分布在各个节点上,数据的本地性Data Locality是分布式优化器中生成执行计划时重点考虑的因素,基于Share Nothing的分布式数据库中有一个很关键概念就是“移动数据不如移动计算”,之所以有数据本地性就是因为数据在网络中传 阅读全文
posted @ 2024-10-30 12:00 MySQL成长之路 阅读(13) 评论(0) 推荐(0)
摘要: 由于GaussDB采用的是无共享Shared-nothing的架构,由众多独立且互不共享CPU、内存、存储等系统资源的逻辑节点组成。在这样的系统架构中,业务数据被分散存储在多个物理节点上,数据分析任务会被推送到数据所在位置就近执行,通过控制模块的协调,并行地完成大规模的数据处理工作,实现对数据处理的 阅读全文
posted @ 2024-10-30 12:00 MySQL成长之路 阅读(73) 评论(0) 推荐(0)
摘要: GaussDB技术解读高性能——计划缓存计划技术 数据库接收到SQL语句后通常要经过如下处理:词语法解析->优化重写->生成执行计划-> 执行,从开始解析到计划生成其实是一个比较耗时的过程,一个常用的思想就是将计划缓存下来,当执行到相似的SQL时,从而可以复用计划,跳过SQL语句生成执行计划的整个过 阅读全文
posted @ 2024-10-30 12:00 MySQL成长之路 阅读(38) 评论(0) 推荐(0)
摘要: GaussDB技术解读高性能——数据分区与分区剪枝 在数据系统中,数据分区是在一个实例内部按照用户指定的策略对数据做进一步的数据切分,将表按照指定规则划分为多个数据互不重叠的部分。从数据分区的角度来看是一种水平分区(horizontal partition)分区策略方式。分区表增强了数据库应用程序的 阅读全文
posted @ 2024-10-30 11:59 MySQL成长之路 阅读(30) 评论(0) 推荐(0)
摘要: GaussDB技术解读高性能——物理优化CBO 在优化器处理完RBO的优化以后,路径的选择往往不能通过实现制定好的规则进行变换,而是需要根据数据的分布(统计信息)情况来对查询执行路径进行评估,从可选的路径中选择一个执行代价最小的路劲进行执行,例如是否选择索引SeqScan vs. IndexScan 阅读全文
posted @ 2024-10-30 11:59 MySQL成长之路 阅读(26) 评论(0) 推荐(0)
摘要: GaussDB技术解读——高性能之查询处理流程 查询处理流程查询在经典数据库实现中需要依次进行以下4个环节, (1)查询解析:对用户输入查询进行编译,把查询从文本方式翻译成执行引擎可以识别的语句。 (2)查询优化:对查询的进行基于规则的逻辑优化RBO和基于代价CBO的物理优化 (3)查询执行:将查询 阅读全文
posted @ 2024-10-30 11:59 MySQL成长之路 阅读(28) 评论(0) 推荐(0)
摘要: GaussDB技术解读——轻量全局事务管理GTM-lite GTM,全称Global Transaction Manager,即全局事务管理器,负责全局事务号的分发,事务提交时间戳的分发以及全局事务运行状态的登记,作为事务管理中的重要模块,为支持事务一致性提供必要的保证。 事务开始和提交时与GTM进 阅读全文
posted @ 2024-10-30 11:59 MySQL成长之路 阅读(77) 评论(0) 推荐(0)