<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ppddtddtddt的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ppddtddtddt</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ppddtddtddt]]></copyright><item><title><![CDATA[openGauss DB4AI框架揭秘]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/128003158</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/128003158</guid><author>ppddtddtddt</author><pubDate>Wed, 23 Nov 2022 16:36:27 +0800</pubDate><description><![CDATA[DB4AI这个方向中，数据库通过集成AI能力，在用户进行AI计算时就可以避免数据搬运的问题。不同于其他的DB4AI框架，本次openGauss开源的原生框架是通过添加AI算子的方式完成数据库中的AI计算。]]></description><category></category></item><item><title><![CDATA[MySQL数据库使用pg_chameleon迁移至openGauss]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127983079</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127983079</guid><author>ppddtddtddt</author><pubDate>Tue, 22 Nov 2022 15:03:43 +0800</pubDate><description><![CDATA[pg_chameleon是一个用Python3编写的实时复制工具，经过内部适配，目前支持MySQL迁移到openGauss。]]></description><category></category></item><item><title><![CDATA[MySQL数据库使用pgloader迁移至openGauss]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127957711</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127957711</guid><author>ppddtddtddt</author><pubDate>Mon, 21 Nov 2022 09:19:38 +0800</pubDate><description><![CDATA[pgloader是一个数据导入工具，使用COPY命令将数据导入到PostgreSQL。pgloader有两种工作模式，一种是从文件导入，一种是迁移数据库。pgloader在两种情况下都使用PostgreSQL的COPY协议高效的传输数据。]]></description><category></category></item><item><title><![CDATA[使用 HeidiSQL 连接 openGauss 服务]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127940915</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127940915</guid><author>ppddtddtddt</author><pubDate>Sat, 19 Nov 2022 19:46:26 +0800</pubDate><description><![CDATA[使用 HeidiSQL 连接 openGauss 服务]]></description><category></category></item><item><title><![CDATA[如何将PostgreSQL插件移植到openGauss]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127924809</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127924809</guid><author>ppddtddtddt</author><pubDate>Fri, 18 Nov 2022 16:13:26 +0800</pubDate><description><![CDATA[本文档主要对Postgresql插件移植到openGauss的过程提供指导说明，旨在让开发人员对PG插件所需要的修改有一个具体的了解，基于该文档，可基本实现PG插件移植到openGauss。]]></description><category></category></item><item><title><![CDATA[如何使用Ora2Pg迁移Oracle数据库到openGauss]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127897318</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127897318</guid><author>ppddtddtddt</author><pubDate>Thu, 17 Nov 2022 09:21:45 +0800</pubDate><description><![CDATA[Ora2Pg是一个将Oracle迁移至PostgreSQL的开源工具，通过连接Oracle数据库，自动扫描并提取其中的对象结构及数据，产生SQL脚本，通过手动或自动的方式将其应用到PostgreSQL]]></description><category></category></item><item><title><![CDATA[openGauss功能介绍--动态数据脱敏]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127892901</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127892901</guid><author>ppddtddtddt</author><pubDate>Wed, 16 Nov 2022 20:42:59 +0800</pubDate><description><![CDATA[在其他数据库上的动态数据脱敏特性一般是基于单个列或单张表的，脱敏策略与数据库资源是一一对应的，即使想要采用相同的脱敏方式，不同的数据库资源也要配置多个对应的脱敏策略，这无疑是提高了策略配置成本，增加了后期运维、批量资源策略管理的难度。分别适用于不同的脱敏场景。脱敏对象，是指脱敏策略生效时作用的对象集合（LABEL），若查询目标字段存在于LABEL中，则该字段将会根据脱敏策略进行敏感数据脱敏，需要注意的是，openGauss动态数据脱敏特性支持对仅包含数据列的LABEL进行脱敏。]]></description><category></category></item><item><title><![CDATA[openGauss数据库基础--视图]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127891833</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127891833</guid><author>ppddtddtddt</author><pubDate>Wed, 16 Nov 2022 19:42:24 +0800</pubDate><description><![CDATA[视图与基本表不同，是一个虚拟的表。数据库中仅存放视图的定义，而不存放视图对应的数据，这些数据仍存放在原来的基本表中。若基本表中的数据发生变化，从视图中查询出的数据也随之改变。从这个意义上讲，视图就像一个窗口，透过它可以看到数据库中用户感兴趣的数据及变化。]]></description><category></category></item><item><title><![CDATA[openGauss内核分析（九）：数据库表的创建过程]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127872533</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127872533</guid><author>ppddtddtddt</author><pubDate>Tue, 15 Nov 2022 19:53:51 +0800</pubDate><description><![CDATA[heap_create_with_catalog主要完成表物理文件的创建和表元信息注册到系统表中，涉及系统包包括pg_class，pg_attribute，pg_depend，pg_object，pg_type，pg_index和pg_partition。核心函数是PortalRun函数下层调用的standard_ProcessUtility函数，该函数通过switch case语句处理了各种类型的查询语句，包括事务相关查询、游标相关查询、schema相关操作、表空间相关操作、表定义相关操作等。]]></description><category></category></item><item><title><![CDATA[openGauss内核分析（八）：执行算子探究]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127865284</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127865284</guid><author>ppddtddtddt</author><pubDate>Tue, 15 Nov 2022 14:25:40 +0800</pubDate><description><![CDATA[执行引擎位于优化器和存储引擎之间，负责将数据从存储引擎读取出来，根据计划将数据处理加工返回给客户端。执行器接收到的指令就是优化器应对SQL查询而翻译出来的关系代数运算符所组成的执行树。]]></description><category></category></item><item><title><![CDATA[openGauss内核分析（七）：SQL by pass & 经典执行器]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127816328</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127816328</guid><author>ppddtddtddt</author><pubDate>Sat, 12 Nov 2022 09:24:36 +0800</pubDate><description><![CDATA[执行引擎一般负责查询的执行，执行引擎在SQL执行栈中起到接收优化器生成的执行计划Plan、并对通过存储引擎提供的数据读写接口，实现对数据进行计算得到查询的结果集。在典型的OLTP场景中，简单查询占了很大一部分比例。]]></description><category></category></item><item><title><![CDATA[openGauss内核分析（六） 执行计划生成]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127800190</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127800190</guid><author>ppddtddtddt</author><pubDate>Fri, 11 Nov 2022 09:26:47 +0800</pubDate><description><![CDATA[介绍执行计划的处理过程。]]></description><category></category></item><item><title><![CDATA[openGauss内核分析（五）：统计信息与行数估计]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127795113</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127795113</guid><author>ppddtddtddt</author><pubDate>Thu, 10 Nov 2022 19:45:53 +0800</pubDate><description><![CDATA[SQL引擎执行查询主要经历了词法语法解析、查询重写、查询规划和计划执行等步骤。其中，在查询规划过程中，为了生成可执行的最优计划，首先要生成路径，而由于路径存在多样性，因此需要对路径进行淘汰选择。目前优化器进行路径的选择主要是基于估算的代价，因此这种优化器也被称为基于代价的优化器（Cost Based Optimization， CBO）。]]></description><category></category></item><item><title><![CDATA[openGauss内核分析（四）：查询重写]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127777450</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127777450</guid><author>ppddtddtddt</author><pubDate>Wed, 09 Nov 2022 20:47:05 +0800</pubDate><description><![CDATA[SQL语言是丰富多样的，非常的灵活，不同的开发人员依据经验的不同，手写的SQL语句也是各式各样，另外还可以通过工具自动生成。SQL语言是一种描述性语言，数据库的使用者只是描述了想要的结果，而不关心数据的具体获取方式，输入数据库的SQL语言很难做到是以最优形式表示的，往往隐含了一些冗余信息，这些信息可以被挖掘用来生成更加高效的SQL语句。查询重写就是把用户输入的SQL语句转换为更高效的等价SQL，查询重写遵循两个基本原则。]]></description><category></category></item><item><title><![CDATA[openGauss内核分析（三)：SQL解析]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127760049</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127760049</guid><author>ppddtddtddt</author><pubDate>Tue, 08 Nov 2022 22:09:56 +0800</pubDate><description><![CDATA[在传统数据库中SQL引擎一般指对用户输入的SQL语句进行解析、优化的软件模块。openGauss在pg_parse_query中调用raw_parser函数对用户输入的SQL命令进行词法分析和语法分析，生成语法树添加到链表parsetree_list中。完成语法分析后，对于parsetree_list中的每一颗语法树parsetree，会调用parse_analyze函数进行语义分析，根据SQL命令的不同，执行对应的入口函数，最终生成查询树。]]></description><category></category></item><item><title><![CDATA[openGauss内核分析（二）：简单查询的执行]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127733868</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127733868</guid><author>ppddtddtddt</author><pubDate>Mon, 07 Nov 2022 16:35:12 +0800</pubDate><description><![CDATA[本文主要分析简单查询语句在业务处理线程Postgres上的执行流程，并介绍如何利用gdb梳理代码逻辑。]]></description><category></category></item><item><title><![CDATA[openGauss内核分析（1）：多线程架构启动过程详解]]></title><link>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127687821</link><guid>https://blog.youkuaiyun.com/ppddtddtddt/article/details/127687821</guid><author>ppddtddtddt</author><pubDate>Fri, 04 Nov 2022 14:09:25 +0800</pubDate><description><![CDATA[openGauss数据库自2020年6月30日开源以来，吸引了众多内核开发者的关注。那么openGauss的多线程是如何启动的，一条SQL语句在 SQL引擎，执行引擎和存储引擎的执行过程是怎样的，酷哥做了一些总结，第一期内容主要分析openGauss 多线程架构启动过程。openGauss数据库是一个单进程多线程的数据库，客户端可以使用JDBC/ODBC/Libpq/Psycopg等驱动程序，向openGauss的主线程（Postmaster）发起连接请求。正在上传…重新上传取消。]]></description><category></category></item></channel></rss>