- 博客(36)
- 收藏
- 关注
原创 介绍exadata中的smart Scan技术
Smart Scan是Oracle Exadata的核心特性之一,也是Exadata实现高性能的关键黑科技。它的核心理念是:让存储层主动参与SQL处理,将数据过滤、投影等工作下推到存储服务器执行,从而大幅减少需要传输到数据库节点的数据量,提升性能。传统存储数据全部传输到数据库服务器只传输过滤后数据数据过滤在数据库服务器执行数据过滤下推到存储服务器高I/O和高CPU消耗低I/O和低CPU消耗存储设备是无智能设备存储设备参与SQL执行。
2025-03-07 11:54:03
917
原创 什么是二叉树的前序、中序和后序遍历顺序
前序遍历:根节点 -> 左子树 -> 右子树中序遍历:左子树 -> 根节点 -> 右子树后序遍历:左子树 -> 右子树 -> 根节点这些遍历方法在树的算法中非常有用,例如在表达式树的计算、文件系统的目录遍历等场景中。
2025-02-19 09:49:48
248
原创 postgresql FSM页面怎么组织
PostgreSQL 的空闲空间映射(Free Space Map,FSM)是用于跟踪堆和索引关系中可用空间的数据结构。FSM 的设计目标是快速定位到有足够空间容纳新元组的页面,或者决定是否需要扩展新的页面。
2025-02-18 17:09:14
427
原创 跳表的C语言实现
跳表(Skip List)是一种基于链表的动态数据结构,用于实现高效的查找、插入和删除操作。它通过引入多级索引来加速查找过程,类似于多级索引的有序链表。跳表的平均时间复杂度为 O(logn),在某些场景下可以替代平衡树。以下是跳表的基本实现思路和一个简单的 C 语言实现示例。
2025-02-18 17:04:56
295
原创 redistributed table中的数据放在临时文件么?
In Greenplum, when data is redistributed during a Redistribute Motion, the data is not stored in temporary files on disk in the traditional sense. Instead, the data is sent directly to the target segments over the network and processed in memory. Here’s ho
2025-02-18 09:42:00
889
原创 Redistribute Motion的执行细节,hash计算后,如果row不属于当前segment,会被发送到相应的segment。接受segement收到row,不会再计算hash了么
【代码】Redistribute Motion的执行细节,hash计算后,如果row不属于当前segment,会被发送到相应的segment。接受segement收到row,不会再计算hash了么。
2025-02-18 09:40:48
699
原创 Redistribute Motion 4:4,这里的4:4是什么意思
【代码】Redistribute Motion 4:4,这里的4:4是什么意思。
2025-02-18 09:39:05
779
原创 sales表的redistribute是怎么实现的?给出实现的细节
In Greenplum, the redistribution of the table based on the column involves several steps to ensure that the data is efficiently moved and processed across the segments. Here’s a detailed breakdown of how this redistribution is implemented:Query Parsing a
2025-02-18 09:37:39
813
原创 ReDistribution plan细节
In a Greenplum cluster with 4 segments, when you perform a join between two tables ( and ) that are distributed differently, the query plan will involve redistributing data to ensure that related rows are on the same segment. Here’s a detailed breakdown of
2025-02-18 09:35:25
821
原创 给出一个可扩展哈希表的例子,且用C语言演示增加、查询和扩展的代码。
实现一个可扩展哈希表(Extendible Hashing)的完整代码在C语言中会比较复杂,因为需要手动管理内存和数据结构。以下是一个简化版本的可扩展哈希表实现,包括插入、查询和扩展操作。这个实现假设键是整数类型,并且每个桶的大小固定。
2025-02-17 16:07:27
316
原创 什么是一个数的对数,怎么表示,为什么有些算法的执行时间与输入规模的对数成正比。历史上,怎么发现对数的。
对数:求幂。对数是一个重要的数学概念,它表示一个数是另一个数的多少次幂。对数在算法分析、信息论、物理学等领域有广泛的应用。对数的发现简化了复杂的乘法和除法运算,为后来的数学和科学计算提供了重要的工具。
2025-02-17 11:30:53
231
原创 什么是算法的空间复杂度和时间复杂度,分别怎么衡量。
时间复杂度:衡量算法的运行时间,通常用大O记号表示。空间复杂度:衡量算法运行过程中占用的额外内存空间,也用大O记号表示。在实际开发中,时间和空间复杂度需要综合考虑,以选择最适合问题的算法。
2025-02-17 10:27:41
664
原创 Data motion operators在segment节点还是master节点执行
In Greenplum, data motion operators are executed on the segment nodes, not the master node. Here’s why:Role of Data Motion Operators: These operators are responsible for moving data between segments. They are essential for operations like joins, aggregatio
2025-02-16 16:21:32
321
原创 greenplum中query plan怎么切分出slice的?
In Greenplum, the query plan is divided into slices to achieve maximum parallelism during query runtime. The process of dividing the query plan into slices involves the following steps:Query Planning: The query dispatcher (QD) on the master node generates
2025-02-16 16:20:08
305
原创 介绍cherrypick
是 Git 中的一个强大命令,用于将一个或多个提交(commit)从一个分支应用到另一个分支。它允许你选择性地将特定的变更引入到当前分支,而无需合并整个分支。以下是对。
2025-02-15 19:11:23
647
原创 git cherry-pick,需要git commit、git push么?
在使用时,是否需要执行git commit和git push取决于你的具体操作和目标。
2025-02-15 19:07:41
454
原创 伟大的剖妈(postMaster进程)之搭建窝棚,准备生孩子-100
初始化进程全局变量和信号处理。解析命令行参数并设置配置选项。检查数据目录和控制文件。创建数据目录锁文件。初始化共享内存和信号量。建立监听套接字。启动后台工作进程(如检查点进程、后台写进程等)。进入主循环以处理客户端连接。函数通过一系列的初始化步骤,确保postmaster进程能够正确地启动和运行。它处理命令行参数、检查配置和数据目录、创建共享资源、建立监听套接字,并启动必要的后台工作进程,最后进入主循环等待客户端连接。
2025-02-11 10:54:33
481
原创 futexes是什么
Futexes(Fast Userspace Mutexes,快速用户空间互斥锁)是一种用于实现同步机制的系统调用和编程概念,在现代操作系统中被广泛应用,尤其在多线程和多进程编程场景下,用于高效地处理并发访问资源的问题。
2025-02-11 10:34:28
330
原创 nginx怎么配置https协议?
这个命令会提示你输入一些信息,如国家、州 / 省、城市、组织、组织单位、通用名称(通常是你的域名)等。这样,你的 Nginx 服务器就配置好了 HTTPS 协议,用户可以通过。来访问你的网站,并且数据传输是加密的。
2025-01-05 20:13:08
1140
原创 mysql 5.7怎么创建数据库和用户,并且授权该新建用户在新建数据库上的权限?
不过需要注意,在生产环境中不建议随意这样调整密码策略,因为这会降低数据库的安全性,正常做法还是设置符合要求的强密码。MySQL 5.7 默认的密码策略要求密码有一定长度(通常不少于 8 个字符),且要有一定的复杂度(包含大小写字母、数字、特殊字符等),还可能限制不能使用常见简单密码等。使用 MySQL 的命令行客户端或者图形化管理工具,如 phpMyAdmin 等,连接到 MySQL 服务器,登录具有足够权限的用户账号,如。你可以重新设置一个满足当前密码策略要求的密码,例如将密码设置为。
2024-12-25 11:24:43
446
原创 centos 7.9上怎么安装rabbitmq
则需要通过systemctl restart rabbitmq-server,之后检查beam.smp进程,当检查发现5672/15672/25672三个端口都监听时,就说明rabbitmp运行成功了。进入 RabbitMQ 的管理界面,使用之前创建的用户进行登录并管理。安装完成后,可以通过浏览器访问。
2024-12-25 09:56:02
417
原创 ruoyi框架用到了rabbitMQ了么?
若依(RuoYi)框架本身并没有强制要求使用 RabbitMQ,但它提供了对消息队列的支持,其中包括 RabbitMQ,主要用于实现系统中的异步处理、解耦和削峰填谷等功能。
2024-12-24 14:27:17
2632
原创 CentOS 7.9怎样安装samba服务
vim /etc/sysconfig/selinux 修改SELINUX为disabled。其实应该修改/etc/selinux/config。7.服务化smb和nmb。3.添加samba用户。5.关闭SELINUX。6.重启samba服务。
2024-12-24 10:29:59
156
原创 在centos 7.9上怎么安装nginx?
如果在安装过程中需要进行特定的配置修改,如更改监听端口、设置虚拟主机等,可以在安装完成后编辑 Nginx 的配置文件。或相应的虚拟主机配置文件来实现。
2024-12-23 15:13:55
424
原创 在centos 7.9上怎么安装MySQL 5.7
则可以修改/etc/yum.repos.d/mysql-community.repo,关掉gpgcheck,然后重新执行yum install。如果出现下面的错误,直接执行,没有输出。直接执行,没有输出。
2024-12-23 14:11:33
230
原创 n2n 2.8使用记录
启动命令/usr/sbin/supernode /etc/n2n/supernode.conf。vim /etc/systemd/system/edge.service,按照如下的内容填写。
2024-12-21 11:20:02
1675
原创 从pg_ctl启动postgres进程
postgreSQL的启动是从pg_ctl utility开始的,为了探究postgreSQL的启动过程,得从pg_ctl utility程序的main函数开始。我们找到pg_ctl,先给main函数打上短点,再开始启动。详见下面。
2024-12-10 16:38:20
377
原创 记录最近一个事件:代码编译方式升级glibc、cxx以及因为glibc升级导致系统崩溃
,其实应该还有使用yum方式更加安全,升级后,先是发现启动我的postgres程序,因为无法设置LANG/LC_ALL/LC_CTYPE启动失败,于是又想把软连接/lib64/libc.so.6由指向libc-2.28改回libc-2.17,这下闯大祸了,直接导致libc.so.6的GLIBC_PRIVATE错误,如下。因为node.js底层对C/C++的依赖,需要对centos 7的陈旧的glibc 2.17和CXX 2.19进行升级,但是我不幸的选择了代码方式升级 (用到了以下博文的帮助。
2024-12-06 11:45:28
204
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人