- 博客(293)
- 收藏
- 关注
原创 【赵渝强老师】Hadoop HDFS的回收站和快照
Hadoop的HDFS除了最基本的上传数据和下载数据的功能以外,还提供了很多高级特性用于方便使用和操作,主要有:回收站、快照、配额管理、安全模式、权限管理,同时从Hadoop 3.x开始还提供了纠删码技术。【赵渝强老师】Hadoop HDFS的回收站和快照下面分别介绍HDFS提供的回收站和快照。
2026-07-15 10:06:28
309
原创 【赵渝强老师】使用Oracle可传输的表空间迁移数据
在导出/导入时都需要解析数据内容,如果需要传输的数据比较大,那么这是一个非常耗时的过程。Oracle可传输的表空间的思想就是通过绕过这个数据处理过程来提速。通过数据定义(元数据)和数据内容(业务数据)分离的方式,将数据内容通过文件拷贝(物理移动)来达到快速移动的目的。(9)导入后再次查询dba_data_files表,确定表空间指向的是新数据文件,确定导入成功。(10)导入后的表空间是只读的。(1)使用管理员登录,创建测试表空间和测试用户。(6)拷贝表空间的数据文件。(5)导出表空间的元数据。
2026-07-14 09:08:51
223
原创 【赵渝强老师】OceanBase的租户回收站
为防止恶意或误操作导致的数据不可恢复性丢失,OceanBase数据库提供了回收站功能,从而支持租户级的数据的快速恢复功能。(7)创建一个新的租户后,并使用drop tenant语句删除该租户。(9)通过flashback tenant语句,恢复回收站中的租户。(11)回收站不仅仅可以针对租户,也可以针对其他的数据库对象。(3)针对整个租户(Global)开启或关闭回收站。(4)退出当前会话并重新登录,再查看回收站的状态。(6)开启回收站后,查看回收站中的信息。(8)查看回收站中的信息。
2026-07-08 10:06:33
299
原创 【赵渝强老师】达梦数据库的回滚数据
达梦数据库的回滚数据也可以叫做还原数据,它保存的是数据库表中的历史记录。换句话说,当某个SQL语句更改了数据库中的数据时,DM数据库会保存旧值。这个旧值就是还原数据。DM数据库在保存还原数据时会按照数据修改前的原样存储数据。因此通过使用还原数据,可以回退未提交的数据。还原数据还可以用于支持读取一致性和闪回操作。【赵渝强老师】达梦数据库的回滚数据。
2026-07-07 17:07:25
208
原创 【赵渝强老师】高斯数据库(openGauss)的模式
openGauss的逻辑存储结构主要是指数据库中的各种数据库对象,包括:数据库集群、数据库、表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和表的oid分别存放在pg_database,pg_class表中。模式Schema是数据库中的命名空间,在数据库中创建的所有对象都是在Schema中创建。下面的步骤将创建一个新的模式,并在该模式下创建一张表。
2026-07-03 18:26:58
303
原创 【赵渝强老师】崖山数据库的数据文件
一个数据库由多个表空间组成,而表空间可以由多个数据文件组成的,数据文件是真正存放数据库数据的。当查询表中数据的时候,如果内存中没有该表的数据,那么YashanDB数据库的服务器进程将读取该表所在的数据文件,然后把数据存放到内存中。YashanDB的物理存储结构就是指的YashanDB数据库在硬盘上存储的各种文件,包括:数据文件、联机日志文件、控制文件、归档日志文件、参数文件、告警日志文件、跟踪文件和备份文件等。当表空间中的数据文件写满时,可以通过下面的语句往表空间中添加新的数据文件。
2026-07-03 11:44:21
278
原创 【赵渝强老师】高斯数据库(openGauss)的表空间
表空间是一个目录,在一个数据库集群中可以存在多个表空间。在数据库集群初始化的时候,会自动创建pg_default和pg_global两个表空间。openGauss的体系架构中最重要的就是数据的存储结构,而数据存储结构分为逻辑存储结构和物理存储存储。下面通过具体的操作来演示如何查看OpenGauss中已有的表空间和如何创建自己的表空间。(5)再次查看openGauss中已有的表空间。(2)查看PostgreSQL中已有的表空间。(6)将该表空间设置为默认的表空间。(3)创建自己的表空间。
2026-06-24 19:17:09
281
原创 【赵渝强老师】崖山数据库的物理存储结构
崖山数据库的物理存储结构就是指的YashanDB数据库在硬盘上存储的各种文件,包括:数据文件、联机日志文件、控制文件、归档日志文件、参数文件、告警日志文件、跟踪文件和备份文件等。下面分别介绍这些文件以及它们的作用。【赵渝强老师】崖山数据库的物理存储结构。
2026-06-23 11:01:58
297
原创 【赵渝强老师】MySQL Cluster
MySQL Cluster是一个高可用、高性能的分布式数据库解决方案,采用NDB存储引擎,支持实时处理、自动分区和动态扩展。其体系架构包括SQL节点、管理节点和数据节点,适用于电信、金融等高可靠性场景。部署步骤包括关闭防火墙、配置主机名映射、安装各节点组件、启动管理节点和数据节点等关键操作。通过多节点冗余和分布式存储,MySQL Cluster能够提供低延迟、高吞吐量的数据服务,并支持ACID事务和并行查询。
2026-06-18 10:08:54
263
原创 【赵渝强老师】openGauss的数据库
所以该数据库是创建新数据库的“模板”。如果为template1数据库增加对象,这些对象将被拷贝到后续创建的用户数据库中。例如,如果把过程语言PL/Perl安装到template1中,那么在创建用户数据库后不需要额外的操作就可以使用该语言。在创建数据库时通过指示使用template0取代template1进行拷贝,可以创建一个“纯净的”用户数据库,它不会包含任何template1中的站点本地附加物。不同的数据库在逻辑上彼此分离,除数据库之外的其他数据库对象(例如:表、索引等等)都属于它们各自的数据库。
2026-06-16 11:14:47
277
原创 【赵渝强老师】崖山数据库的逻辑存储结构
从逻辑组成上来看,一个YashanDB数据库是由一个或者多个表空间等组成;一个表空间(tablespace)由一组段组成;一个段(segment)由一组区组成;一个区(extent)由一批数据库块组成;一个数据库块(block)对应一个或多个物理块。如下图所示。【赵渝强老师】崖山数据库的逻辑存储结构下面分别对这些逻辑单元进行介绍。
2026-06-11 19:32:22
280
原创 【赵渝强老师】Kubernetes(K8s)中的金丝雀升级
如果新版本在升级过程中没有发生问题,那么逐步扩大新版本的用户使用范围,直到使用旧版本的用户都迁移到新的新版本上面来。通过使用金丝雀部署可以最大程度地保证系统整体的稳定性,并在部署升级过程的早期就可以发现和解决问题,以保证项目部署升级的进度。(10)将v2.0.0版本的实例扩容到5个,v1.0.0版本的实例缩容到5个。(1)创建“canary-demo-v1.yaml”文件,并输入下面的内容。(12)停止v1.0.0的版本,并把v2.0.0版本的实例扩容到10个。(7)执行应用的升级。
2026-06-08 12:07:17
309
原创 【赵渝强老师】MongoDB的视图
MongoDB视图是一个可查询的对象,它的内容由其他集合或视图上的聚合管道定义。MongoDB不会将视图的内容持久化到磁盘。当客户端通过视图查询数据时,视图的内容按需计算。MongoDB可以要求客户端具有查询视图的权限。MongoDB不支持对视图进行写操作。下面通过一个具体的示例来演示如何使用MongoDB的视图。【赵渝强老师】MongoDB的视图。(3)从视图view1中获取数据。(5)从视图view2中获取数据。(2)单个集合创建视图。(4)多个集合创建视图。(1)准备订单数据。
2026-06-04 18:11:46
298
原创 【赵渝强老师】崖山数据库的数据字典
YashanDB数据字典是存储数据库元数据的核心组件,包含用户、对象和存储结构等信息,由系统自动维护且对普通用户只读。数据字典分为四类:user_(当前用户对象)、all_(当前用户可访问对象)、dba_(管理员视图)和v$(动态性能视图)。通过示例展示了如何查询默认表空间、用户角色、表空间使用情况以及用户表信息,例如使用user_users查看默认表空间、dba_objects查询特定用户的表对象等。这些视图为数据库管理和性能监控提供了重要支持。
2026-05-30 09:15:29
307
原创 【赵渝强老师】高斯数据库(openGauss)的数据库集群
openGauss数据库的逻辑存储结构解析 openGauss采用多层次的逻辑存储结构,核心包括数据库集群、数据库及各类数据库对象。所有对象都通过唯一标识符oid(4字节无符号整数)进行管理,这些oid存储在对应的系统目录表中。数据库集群是核心管理单元,包含多个数据库、用户及所有数据库对象,共享相同的配置、端口和内存结构。在文件系统中,数据库集群表现为单一数据目录,其位置可通过-D参数或PGDATA变量指定。这种结构设计实现了资源的集中管理和高效利用,为openGauss提供了灵活的数据组织方式。
2026-05-25 09:45:57
159
原创 【赵渝强老师】TiDB的调度集群PD实例
Placement Driver(简称PD)是TiDB里面全局中心总控节点,是整个集群的管理模块,负责整个集群的调度。TiDB作为一个分布式高可用存储系统,系统需要具备多副本容错,动态扩容、缩容,容忍节点掉线以及自动错误恢复的功能。为了满足这些功能,TiDB就需要收集足够的信息,比如每个节点的状态、每个Raft Group的信息等。PD根据这些信息以及调度的策略,制定出尽量满足这些需求的调度计划,并提供基本操作来完成这个计划。提示:PD本身也是一个集群,通过Raft协议保证数据的安全性和一致性。
2026-05-15 09:40:26
492
原创 【赵渝强老师】金仓数据库的运行日志文件
运行时日志一般是记录数据库服务器与数据库的状态,比如各种错误信息、定位慢查询SQL、数据库的启动关闭信息、发生检查点过于频繁等的告警信息等等。金仓数据库的物理存储结构主要是指硬盘上存储的文件,包括:数据文件、日志文件、参数文件、控制文件、WAL预写日志文件等等。下面重点介绍一下金仓数据库的运行日志文件。金仓数据库实例初始化的时候会创建一个目录,通常都会在系统配置相关的环境变量$KINGBASEDATA来表示。通过查看主kingbase.conf文件的配置可以看到相关的参数设置,开启后会自动生成该日志文件。
2026-05-11 12:38:03
326
原创 【赵渝强老师】PostgreSQL的数据预热扩展pg_prewarm
PostgreSQL从开始就设计成可以扩展的。因此,加载到数据库的扩展可以像它们被打包在数据库里一样。PostgreSQL源代码的contrib/目录里面有大量这种扩展。该目录下的README文件包含PostgreSQL扩展的相应帮助信息。它们包含转换工具、全文索引、XML工具、额外的数据类型和索引方法等等。PostgreSQL也支持单独开发额外的扩展。这里重点介绍一下数据预热扩展pg_prewarm。
2026-05-10 13:12:57
563
原创 【赵渝强老师】Hadoop的伪分布部署模式
Hadoop的安装和部署是大数据生态圈体系中最麻烦的一个。Hadoop部署完成后,进一步地部署Spark和Flink就非常容易了。Hadoop的部署模式分为本地模式、伪分布模式和全分布模式。在学习完成了ZooKeeper的相关内容后,还将进一步地学习Hadoop HA的部署。这里重点讨论一下Hadoop的伪分布部署模式。【赵渝强老师】Hadoop的伪分布部署模式。
2026-05-06 11:23:00
452
原创 【赵渝强老师】Oracle数据库的用户认证方式
Oracle数据库支持多种用户认证的方式,例如:密码认证、生物统计学验证、证书验证和标记验证,而在认证管理员用户和普通用户时又有一定区别。【赵渝强老师】Oracle数据库的用户认证方式下面分别进行介绍。
2026-04-30 13:24:07
458
原创 【赵渝强老师】达梦数据库的DEM工具
(6)将/home/dmdba/dmdbms/web/dem.war文件解压,并修改WEB-INF目录下的db.xml,如下所示。(18)点击“资源监控”选项卡中的“配置网络”,在弹出的对话框中配置主机1的内网IP并保存,如下图所示。(20)在“资源控制”中点击下方的“数据库”选项卡,并添加一个单实例的数据库连接。(17)在DEM页面上选择“资源监控”,此时在“主机”列表中便可以观察到主机1,如下图所示。(26)选择“表空间分析”,即可监控目标数据库实例的表空间状态,如下图所示。
2026-04-27 16:00:58
452
原创 【赵渝强老师】MySQL数据库的分库与分表
Mycat是一个开源的分布式数据库系统,对于数据库用户而言可以把它看作是一个数据库代理。它的后端可以支持MySQL、SQL Server、Oracle、DB2、PostgreSQL 等主流的关系型数据库,同时也支持MongoDB等NoSQL数据库。Mycat的核心功能是实现数据库的分表分库。MyCat支持标准的SQL语句进行数据的操作,在降低了开发难度的同时提升了开发速度。
2026-04-14 16:19:13
443
原创 【赵渝强老师】Docker容器的跨节点通信
Overlay网络是在不改变现有网络的前提下,对IP报文上进行数据格式的封装,从而利用IP路由协议实现了数据的转发功能。Docker原生的Overlay网络则是这样的一个解决方案,它也是目前实现容器跨节点通信的主流的数据传输和路由方案。(9)在master节点上,使用my_multi_hosts的overlay网络启动一个容器,并确定容器的IP地址,如下图所示。(10)在node1节点上,使用my_multi_hosts的overlay网络启动一个容器,并确定容器的IP地址,如下图所示。
2026-04-10 15:04:55
461
原创 【赵渝强老师】崖山数据库的体系架构
YashanDB数据库中有数据库和数据库实例这两个基本的概念,并且从体系架构的组成上看,YashanDB数据库又分为了存储结构、进程线程结构和内存结构。因此,要掌握YashanDB的体系架构就需要从数据库与数据库实例入手,并进一步深入到其内部核心的结构中。【赵渝强老师】崖山数据库的还原数据。
2026-04-08 09:49:26
530
原创 【赵渝强老师】崖山数据库的还原数据
YashanDB的还原数据也可以叫做回滚数据,它保存的是YashanDB数据库表中的历史记录。换句话说,当某个SQL语句更改了数据库中的数据时,YashanDB数据库会保存旧值。这个旧值就是还原数据。YashanDB数据库在保存还原数据时会按照数据修改前的原样存储数据。因此通过使用还原数据,可以回退未提交的数据。还原数据还可以用于支持读取一致性和闪回操作。【赵渝强老师】崖山数据库的还原数据。
2026-04-04 08:17:36
492
原创 【赵渝强老师】Redis中的字符串
因为开发时,偶尔需要在结构体中存放长度可变的数组,一般情况下会定义一个数组指针,在需要时分配内存使用,这样有个缺点就是,内存利用的效率很低,所以柔性数组作用就像动态数组一样,可以在结构体中存放一个长度动态的字符串。Redis的优势之一在于提供了丰富的数据类型,它不仅仅支持基本的Key-Value类型数据,还提供list、set、zset和hash等数据结构的存储。Redis没有直接使用C语言传统的字符串表示方式,而是自己构建了一种名为简单动态字符串的抽象类型,并将该类型用作Redis的默认字符串表示。
2026-03-26 15:31:16
400
原创 【赵渝强老师】高斯数据库(openGauss)的逻辑存储结构
openGauss的逻辑存储结构主要是指数据库中的各种数据库对象,包括:数据库集群、数据库、表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和表的oid分别存放在pg_database,pg_class表中。【赵渝强老师】高斯数据库(openGauss)的逻辑存储结构下面对openGauss数据库中的各种逻辑存储结构进行说明。
2026-03-20 16:05:06
643
原创 【赵渝强老师】高斯数据库(openGauss)的体系架构
openGauss是基于PostgreSQL开发的,因此这里可以拿PostgreSQL来比较学习它的体系结构,这样比较容易理解。openGauss的体系架构中最重要的就是数据的存储结构,而数据存储结构分为逻辑存储结构和物理存储存储。其中,逻辑存储结构是数据库内部的组织和管理数据的方式;而物理存储结构是操作系统中组织和管理数据的方式。openGauss的主要结构如下图所示。【赵渝强老师】高斯数据库(openGauss)的体系架构。
2026-03-19 18:08:52
596
原创 【赵渝强老师】使用TiSpark在Spark中访问TiDB
下面的示例将两张表:一张表是部门表dept,该表存储在文件系统中,如:本地文件系统或者Hadoop HDFS中;它借助Spark平台,同时融合TiKV分布式集群的优势,和TiDB一起为用户一站式解决HTAP的需求。(5)启动Spark交互式命令行工具spark-shell,并同时加载TiSpark的包。(1)进入Spark的conf目录,生成spark-defaults.conf文件。(5)通过TiSpark关联TiDB数据库中的员工表emp,执行多表查询。(6)通过TiSpark执行一个多表连接查询。
2026-03-11 11:33:20
269
原创 【赵渝强老师】金仓数据库的数据文件
在金仓数据库中,数据库实例初始化的时候会创建一个目录,通常都会在系统配置相关的环境变量$KINGBASEDATA来表示。当数据库初始化完成后,会在这个目录生成相关的子目录以及一些文件。对于超出1G的数据文件,金仓数据库会自动将其拆分为多个文件来存储,而拆分的文件名将由sys_class中的relfilenode字段来决定。(3)查看表空间mydemotbs对应的目录,如下图所示。通过下面的步骤可以确定表所对应的数据文件。(2)查询testtable1表的OID。(1)查看数据库的OID。
2026-03-07 13:51:38
190
原创 【赵渝强老师】PostgreSQL中表的碎片
PostgreSQL中删除或更新数据会产生存储碎片,因为被删除的行只是标记为"dead"而未被物理删除。本文演示了如何清理表碎片:创建测试表并插入5000万条数据,删除数据后发现表空间未释放;通过VACUUM命令手动清理后,碎片空间被成功回收。PostgreSQL使用VACUUM机制来回收存储空间,避免因数据碎片导致存储空间浪费和性能下降。
2026-03-03 15:42:41
481
原创 【赵渝强老师】国产金仓数据库的物理存储结构
数据库实例初始化的时候会创建一个目录,通常都会在系统配置相关的环境变量$KINGBASE_DATA来表示。当数据库初始化完成后,会在这个目录生成相关的子目录以及一些文件。【赵渝强老师】国产金仓数据库的物理存储结构下表说明了其中的每个目录的功能与作用。金仓数据库的物理存储结构主要是指硬盘上存储的文件,包括:数据文件、日志文件、参数文件、控制文件、WAL预写日志文件等等。下面分别进行介绍。
2026-02-04 20:53:01
1056
1
原创 【赵渝强老师】基于Hudi的大数据湖仓一体架构
Apache Hudi(Hadoop Upserts Delete and Incremental)是下一代流数据湖平台。Apache Hudi将核心仓库和数据库功能直接引入数据湖。Hudi提供了表、事务、高效的upserts/delete、高级索引、流摄取服务、数据集群/压缩优化和并发,同时保持数据的开源文件格式。Apache Hudi不仅非常适合于流工作负载,而且还允许创建高效的增量批处理管道。Apache Hudi可以轻松地在任何云存储平台上使用。
2026-01-27 11:28:08
787
原创 【赵渝强老师】国产金仓数据库的数据库对象
金仓数据库中包含各种数据库对象,常见的KingBase对象有:数据库、模式、表、索引、视图、存储过程、存储函数和触发器等等。这里将介绍金仓数据库中常见的数据库对象以及如何使用它们。【赵渝强老师】国产金仓数据库的数据库对象。
2026-01-22 19:17:12
641
原创 【赵渝强老师】Oracle多租户容器数据库
它指的是可以容纳一个或者多个可插拔数据库(Pluggable Database,简称PDB)的数据库,这个特性允许在CDB容器数据库中的体系架构创建并且维护多个数据库。当创建的数据库比较多的时候,就需要更多的数据库服务器。从Oracle数据库 12c R2版本开始,Oracle对多租户容器数据库的功能进行了增强,在CDB root容器中可以创建一个叫做Application Root的容器,可在其内创建多个依赖于Application root的Application PDB。
2026-01-20 13:31:55
645
原创 【赵渝强老师】国产金仓数据库的段、区、块
KingBaseES的逻辑存储结构主要是指数据库中的各种数据库对象,包括:数据库集群、数据库、表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和表的oid分别存放在sys_database,sys_class表中。下面重点讨论一下金仓数据库的段、区和块。【赵渝强老师】国产金仓数据库的段、区、块。
2026-01-17 11:01:55
411
原创 【赵渝强老师】达梦数据库的数据迁移工具DTS
达梦数据迁移工具DTS(Data Transformation Service)提供了主流大型数据库迁移到DM、DM到DM、文件迁移到DM以及DM迁移到文件等功能。得益于DM数据库对目前主流大型关系型数据库系统有着业界领先的兼容性,在存储层面、语法层面、接口层面和它们保持高度兼容,借助于DM图形界面且采用向导方式引导各个迁移步骤的DTS工具,移植工作可以变得非常的简单。(6)在“选择迁移方式”中,选中“Oracle ==> DM”(11)在“选择迁移对象”中,选中要迁移的表。
2026-01-13 09:38:45
577
原创 【赵渝强老师】国产金仓数据库的模式
金仓数据库的逻辑存储结构主要是指数据库中的各种数据库对象,包括:数据库集群、数据库、表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和表的oid分别存放在sys_database,sys_class表中。Schema是数据库中的命名空间,在数据库中创建的所有对象都是在Schema中创建。可以通过下面的方式来查看当前数据库的Schema。(5)创建一个新的模式。
2026-01-09 17:03:17
598
原创 【赵渝强老师】OceanBase的配置文件与配置项
在OceanBase集群中,OBServer节点工作目录下通常有audit、bin、etc、etc2、etc3、log、run、store等目录,但这些目录并非都是安装必须的。这三个目录里的内容是完全一致的,区别是后两个目录是OBServer节点创建的,第一个目录是启动前需要准备的。OBServer节点会将所有的配置项序列化后保存到工作目录下的配置文件etc/observer.config.bin中,之后在这个工作目录下启动OBServer节点都会读取这个配置文件。
2026-01-06 21:57:50
462
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅