开发者社区 > PolarDB开源 > PolarDB 分布式版 > 正文

polardb的 relationdata ,应该怎样去理解呢?

polardb的 relationdata ,应该怎样去理解呢 ?如果我想去读源码,尝试解析ddl dml 执行流程的话,最简单的方式是去gdb 调试看一下嘛?

展开
收起
小小鹿鹿鹿 2023-11-06 16:29:58 67 0
4 条回答
写回答
取消 提交回答
  • 如果你指的是 源码中中的RelationData 结构体,它主要指的是一个表的若干元信息,大部分都是从系统表里面读取出来,生成的内存结构。gdb 是一种方式,但可能会比较慢,因为是逐步执行的。 想有大致的了解的话,可以循环执行一条sql, 然后去perf -g 或者 pstack , 这个效率会高一些。此回答来自钉群PG|POLARDB技术进阶。

    2023-11-07 22:44:03
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    RelationData是POLARDB的数据库操作接口,它提供了基本的关系型数据库抽象层,用于访问数据库的查询、插入、更新等功能。RelationData主要包括以下几种功能:

    1. 提供了一种更加简洁的方式来访问数据库。
    2. 支持SQL和DML语句,例如SELECT、INSERT、UPDATE等。

    如果想要调试RelationData的相关代码,可以使用GDB来跟踪代码执行过程。具体步骤如下:

    1. 将代码编译成可执行文件。
    2. 打开GDB,并输入 run 开始执行程序。
    3. 使用断点设置程序中感兴趣的代码行,查看变量和函数的返回值。
    2023-11-07 13:18:20
    赞同 展开评论 打赏
  • “relationdata”是指存储在 PostgreSQL 中的关系元数据。当执行DDL或DML语句时,PostgreSQL会将每个关系的数据定义和数据项存储到其自身的元数据结构 RelationData 中。
    如果您想深入理解 RelationData 结构以及 PostgreSQL 如何执行 DDL 和 DML 语句,最好的方式就是阅读 PostgreSQL 的源代码,并对其进行调试。以下是几个简单的步骤:

    1. 下载 PostgreSQL 的源代码。
    2. 编译 PostgreSQL,并安装必要的调试工具(如 gdb 或 valgrind)。
    3. 在源代码中找到对应的部分,并通过调试工具运行代码。
    2023-11-06 21:39:41
    赞同 展开评论 打赏
  • 是个只会写bug的程序媛啊!!!

    建议最好自己手动调一遍,遇到问题或者不懂得,再查。这样记得清,而且可以锻炼实操能力。

    2023-11-06 16:57:43
    赞同 展开评论 打赏

PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,100%兼容MySQL。 2021年开源,开源历程及更多信息访问:OpenPolarDB.com/about

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载