自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赵渝强老师CSDN博客主页

将赵老师多年的实践教学经验进行分享!为大家提供一个大数据、数据库、NoSQL、云计算等领域的创新思维,知识分享和案例分析的知识分享平台。

  • 博客(213)
  • 收藏
  • 关注

原创 【赵渝强老师】达梦数据库的DMSQL

存储过程和存储函数在功能上相当于客户端的一段SQL批处理程序,但是在许多方面有着后者无法比拟的优点,它为用户提供了一种高效率的编程手段,成为现代数据库系统的重要特征。可以认为这种技术是执行DMSQL程序的一种机器,它可以接受任何有效的DMSQL程序,按照语言本身所规定的语义执行,并将结果返回给客户。DMSQL程序可以分为存储模块和客户端DMSQL程序两类。在DMSQL程序中,包括一整套数据类型、条件结构、循环结构和异常处理结构等,DMSQL程序中可以执行SQL语句,SQL语句中也可以使用DMSQL函数。

2025-08-04 15:56:22 317

原创 【赵渝强老师】OceanBase租户的资源管理

OceanBase数据库是多租户的数据库系统,一个集群内可包含多个相互独立的租户,每个租户提供独立的数据库服务。在OceanBase数据库中,使用资源配置(Unit Config)、资源单元(Unit)和资源池(Resource Pool)三个概念,对各租户的可用资源进行管理。【赵渝强老师】OceanBase租户的资源管理。

2025-07-31 21:29:46 443

原创 【赵渝强老师】阿里云大数据存储计算服务:MaxCompute

随着数据收集手段不断丰富,行业数据大量积累,数据规模已增长到了传统软件行业无法承载的海量数据(TB、PB、EB)级别。MaxCompute致力于批量结构化数据的存储和计算,提供海量数据仓库的解决方案及分析建模服务。云原生大数据计算服务(MaxCompute)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute向用户提供了完善的数据导入方案以及多种经典的分布式计算模型,能够更快速的解决用户海量数据计算问题,有效降低企业成本,并保障数据安全。下图展示了MaxCompute的项目空间。

2025-07-28 08:04:19 885

原创 【赵渝强老师】MySQL中的数据库对象

MySQL数据库中包含各自数据库对象,常见的数据库对象有:表、索引、视图、事件、存储过程和存储函数等等。【赵渝强老师】MySQL中的数据库对象。

2025-07-25 11:10:33 587

原创 【赵渝强老师】Kubernetes中Pod的调度策略

Pod的调度是指Kubernetes在创建Pod时,将其创建到最合适的Node节点上,然后由Node节点上kubelet来运行。在在默认情况下,调度器scheduler会根据特定的算法和策略将Pod调度到Node节点上,这可以满足绝大多数的需求。例如,调度Pod到资源满足要求的Node节点上运行;或者分散到不同Node节点以达到资源的均衡使用。但在一些特殊的场景下,scheduler的默认调度算法策略并不能满足实际的需求。

2025-07-21 09:47:20 842

原创 【赵渝强老师】Redis的主从复制集群

Redis的主从复制是指将一台Redis服务器的数据,复制到其他的Redis服务器。前者称为Master主节点,后者称为Slave从节点。数据的复制是单向的,只能由主节点到从节点。一个主节点可以有多个从节点或者没有从节点,但一个从节点只能有一个主节点。Redis主从复制的架构有两种不同的方式,即星型模型与线型模型。下面通过具体的步骤来演示如何基于三个节点来部署星型模型的Redis主从复制。(3)使用Redis的客户端登录Redis主从复制的主节点。(5)在主节点上写入数据,验证从节点上是否能够读取出数据。

2025-07-17 22:00:23 420

原创 【赵渝强老师】大数据交换引擎Sqoop

Sqoop是SQL To Hadoop的简称,它是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(Oracle、MySQL等)间进行数据的传递。通过使用Sqoop可以将一个关系型数据库中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop是基于MapReduce完成数据的交换,因此在使用Sqoop之前需要部署Hadoop环境;另一方面,由于Sqoop交换的是关系型数据库中的数据,因此底层需要JDBC驱动的支持。

2025-07-15 15:00:44 860

原创 【赵渝强老师】国产数据库TiDB的代理路由:TiProxy

在TiDB数据库集群中,TiProxy是PingCAP的官方代理组件,它放置在客户端和TiDB server之间,为TiDB提供负载均衡、连接保持、服务发现等功能。提示:TiProxy是可选组件,也可以使用第三方的代理组件,或者直接连接到TiDB Server。下图展示了基于TiProxy的TiDB集群架构。【赵渝强老师】TiDB的代理路由TiProxy。

2025-07-12 19:04:49 612

原创 【赵渝强老师】PostgreSQL的并行查询

PostgreSQL能设计出利用多CPU让查询更快的查询计划。这种特性被称为并行查询。对于那些可以从并行查询获益的查询来说,并行查询带来的速度提升是显著的。很多查询在使用并行查询时比之前快了超过两倍,有些查询是以前的四倍甚至更多的倍数。那些访问大量数据但只返回其中少数行给用户的查询最能从并行查询中获益。【赵渝强老师】PostgreSQL的并行查询。

2025-07-08 08:29:09 350

原创 【赵渝强老师】Oracle RMAN的目录数据库

为了更好地管理RMAN备份的元信息,Oracle可以使用一个专门的备份信息存储地来存储这些信息,这就是RMAN的目录数据库(Catalog Database)。如果RMAN备份的目标数据库已经注册到了目录数据库中,当执行备份是时Oracle就会使用目录数据库来取代控制文件存储RMAN备份时产生的元信息。在了解到了什么是目录数据库后,下面将通过具体的操作步骤来创建一个目录数据库,并完成将目标数据库注册到目录数据库中。(7)使用RMAN连接目标数据库和目录数据库,并将目标数据库注册到目录数据库中。

2025-07-05 17:27:40 503

原创 【赵渝强老师】达梦数据库的闪回技术

另一方面,通过设置undo_retention 大小,可以决定保留回滚段时间,回滚段保留的时间代表着可以闪回的时间长度。通过用户指定的时刻,查询到该时刻的事务号,结合当前记录和回滚段中的 undo 记录,就可以还原出特定事务号的记录,即指定时刻的记录状态从而完成闪回查询。达梦数据库提供的闪回技术主要是在数据库发生逻辑错误的时候,能提供快速且最小损失的恢复。闪回技术旨在快速恢复数据库的逻辑错误。下面修改UNDO_RETENTION和ENABLE_FLASHBACK的值以启用达梦数据库闪回的功能。

2025-07-02 20:47:15 376

原创 【赵渝强老师】基于PostgreSQL的分布式数据库:Citus

Citus采用shared nothing架构,节点之间无共享数据,它是一款基于PostgreSQL的开源分布式数据库。Citus不仅仅兼容PostgreSQL的客户端协议,同时也兼容PostgreSQL的服务端扩展和管理工具。相比单实例的PostgreSQL数据库来说,Citus可以使用更多的CPU内核,更多的内存数量,保存更多的数据。通过向集群添加节点,Citus可以轻松的扩展数据库。Citus的最大特点是它是一个PostgreSQL扩展而不是一个独立的代码分支。

2025-06-29 09:11:55 1332

原创 【赵渝强老师】OceanBase数据库从零开始:Oracle模式

现在你已经了解到《OceanBase数据库从零开始:MySQL模式》这门课程主要内容了,那就开始学习吧。

2025-06-29 07:55:32 579

原创 【赵渝强老师】OceanBase OBServer节点的目录结构

OceanBase OBServer节点工作目录下通常有audit、bin、etc、etc2、etc3、log、run、store等目录,但这些目录并非都是安装必须的。在启动OBServer节点前需要保证etc、log、run、store这4的目录存在,同时store下应该有clog、slog、sstable这3个目录。etc2、etc3是备份配置文件用的,由OBServer节点创建。这三个目录里的内容是完全一致的,区别是后两个目录是OBServer节点创建的,第一个目录是启动前需要准备的。

2025-06-28 15:36:02 403

原创 【赵渝强老师】OceanBase OBServer节点的接入层

ODP是独立的进程实例,独立于OceanBase数据库实例部署。ODP能够自动发现OceanBase集群的租户及数据分布信息,对于代理的每一条SQL语句,能尽可能识别出该语句将要访问的数据,并将该语句直接转发到数据所在服务器的OceanBase数据库实例。ODP充分考虑用户请求涉及的副本位置、用户配置的读写分离路由策略、OceanBase多地部署的最优链路,以及OceanBase各机器的状态及负载情况,将用户的请求路由到最佳的OBServer节点,最大程度地保证了OceanBase整体的高性能运转。

2025-06-27 16:30:21 324

原创 【赵渝强老师】OceanBase OBServer节点的SQL层

OceanBase OBServer节点的SQL层将用户的SQL请求转化成对一个或多个Tablet的数据访问。在标准的SQL流程之外,SQL层还有Plan Cache能力,将历史的执行计划缓存在内存中,后续的执行可以反复执行这个计划,避免了重复查询优化的过程。将用户的SQL分成一个个的"Token",并根据预先设定好的语法规则解析整个请求,转换成语法树(Syntax Tree)。根据内部的规则或代价模型,将SQL改写为与之等价的其他形式,并将其提供给后续的优化器做进一步的优化。该组件启动SQL的执行过程。

2025-06-26 07:54:39 365

原创 【赵渝强老师】OceanBase OBServer节点的存储层

Tablet的内部是分层存储的结构,总共有四层:MemTable、L0层Mini SSTable、L1层Minor SSTable以及Major SSTable。在每天配置的业务低峰期,系统会将所有的MemTable、L0层Mini SSTable和L1层Minor SSTable合并成一个Major SSTable。逻辑上看,这些组件从底层向上由多租户层、存储层、复制层、均衡层、事务层、SQL层、接入层组成。注意:每个SSTable由若干个大小为2MB的定长宏块组成,每个宏块内部由多个不定长微块组成。

2025-06-25 07:43:53 259

原创 【赵渝强老师】OceanBase云平台OCP

OCP面向有OceanBase管理需求的中小型用户,提供了基础的主机管理、OceanBase 集群和租户运维等能力。部署用户配置:使用主机操作系统的root用户以便安装程序进行自动化配置,并输入相应的密码。(5)在“部署向导”页面选择“OceanBase云平台”。(4)通过浏览器访问:http://192.168.79.14:8680,在欢迎界面上选择“开启体验之旅”。(6)在“基础配置”页面输入集群名称,如“myocp”,并确定版本信息。(11)打开OCP地址并使用管理员账号密码登录,如下图所示。

2025-06-24 08:53:21 619

原创 【赵渝强老师】使用mydumper备份MySQL

MySQL在备份方面包含了自身的mysqldump工具,但其只支持单线程工作,这就使得它无法迅速的备份数据。但一般现在的MySQL都有主从,备份也大部分在从上进行,所以锁的问题可以不用考虑。(6)查看文件/databackup/mydumper/demo1.emp.sql的内容。下面通过具体的步骤来演示如何使用mydumper进行数据库的热备份与恢复。(5)查看目录/databackup/mydumper/下的内容。(8)备份指定数据库demo1下指定的表(员工表和部门表)(7)备份指定数据库demo1。

2025-06-23 09:58:49 441

原创 【赵渝强老师】使用select...into outfile语句备份MySQL

前半部分是一个普通的select语句,通过这个select语句来查询所需要的数据;“其他选项”参数为可选参数选项,下表列举了其可能的取值。提示:FIELDS和LINES两个子句都是可选的,但是如果两个子句都被指定了,FIELDS必须位于LINES的前面。(8)查看文件/databackup/select/bk1.txt文件的内容。(1)创建备份文件存储的目录,并且将目录所属的组设置为mysql。(6)重新查看参数–secure-file-priv的值。(3)查看参数–secure-file-priv的值。

2025-06-22 09:39:02 322

原创 【赵渝强老师】使用mysqldump备份MySQL

它的备份原理是通过协议连接到MySQL数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert语句,当我们需要还原这些数据时,只要执行这些insert语句,即可将对应的数据还原。(3)查看文件/databackup/mysqldump/all.db的内容。(5)备份指定数据库指定表(多个表以空格间隔)(1)创建mysqldump备份存储的目录。(6)备份指定数据库排除某些表不进行备份。(8)执行恢复数据库demo1。(7)删除demo1数据库。(2)备份所有数据库。(4)备份指定数据库。

2025-06-21 15:17:26 274

原创 【赵渝强老师】Kubernetes的安全框架

Kubernetes集群的安全框架主要由以下认证、鉴权和准入控制三个阶段组成。这三个阶段的关系如下图所示。【赵渝强老师】Kubernetes的安全框架。

2025-06-20 17:25:42 917

原创 【赵渝强老师】使用obd快速体验OceanBase

obd全称为OceanBase Deployer,是OceanBase安装部署工具,通过命令行部署或白屏界面部署的方式,将复杂配置流程标准化,降低集群部署难度。命令行支持编辑配置文件,可以更加灵活的进行配置调整,适用于需要深度了解OceanBase的用户,有一定的使用门槛;白屏界面配置简单,通过页面的引导配置即可完成集群部署,适用于需要快速体验,构建标准环境的用户。在集群部署之外,obd还提供了包管理器、压测软件、集群管理等常用的运维能力,更好的支持用户体验使用OceanBase分布式数据库。

2025-06-07 10:36:36 365

原创 【赵渝强老师】Docker的图形化管理工具

Docker提供了命令行工具来管理Docker的镜像和运行Docker的容器。为了进行Docker的可视化操作,也可以使用图形化的工具来管理Docker。目前,主流的Docker图形化工具有Docker UI、Portainer和Shipyard。【赵渝强老师】Docker的图形化管理工具。

2025-06-05 21:24:55 611

原创 【赵渝强老师】OceanBase中的租户

租户是一个逻辑概念。在OceanBase数据库中,租户是资源分配的单位,是数据库对象管理和资源管理的基础,对于系统运维,尤其是对于云数据库的运维有着重要的影响。租户在一定程度上相当于传统数据库的"实例"概念。租户之间是完全隔离的。在数据安全方面,OceanBase数据库不允许跨租户的数据访问,以确保用户的数据资产没有被其他租户窃取的风险。在资源使用方面,OceanBase数据库表现为租户"独占"其资源配额。

2025-06-04 09:48:49 833

原创 【赵渝强老师】OceanBase部署工具

OceanBase是一款开源的国产分布式关系型数据库。通过使用OceanBase提供的obd和OCP均可以部署OceanBase数据库集群。【赵渝强老师】OceanBase部署工具下面分别进行介绍。

2025-06-01 09:36:48 773

原创 【赵渝强老师】数据库不适合Docker容器化部署的原因

在Docker的容器中可以部署运行一个MySQL数据库,并通过数据卷将运行在容器中的MySQL数据库的数据进行持久化。如果这时候运行MySQL的容器被销毁了,数据也将会发生丢失。因此在Docker中部署数据库服务时,一定要考虑数据持久化的问题。但数据库并不适合Docker容器化部署。【赵渝强老师】数据库不适合容器化部署的原因。

2025-05-31 09:47:26 910

原创 【赵渝强老师】HBase的物理存储结构

HBase的存储结构分为逻辑存储结构与物理存储结构,并且HBase通过逻辑存储结构来管理物理存储结构。而最终物理存储对应的文件又是存储在HDFS之上。而HBase的物理存储结构主要包括StoreFile、HFile和HLog日志。【赵渝强老师】HBase的存储结构。

2025-05-30 10:59:20 812

原创 【赵渝强老师】HBase的逻辑存储结构

HBase的逻辑存储结构主要包括:命名空间(NameSpace)、表(Table)和列族(Column Family)。【赵渝强老师】HBase的存储结构下面分别进行介绍。

2025-05-29 10:17:04 817

原创 【赵渝强老师】OceanBase的部署架构

OceanBase数据库支持无共享(Shared-Nothing,SN)模式和共享存储(Shared-Storage,SS)模式两种部署架构。

2025-05-28 10:27:23 723

原创 【赵渝强老师】HBase的体系架构

HBase是大表(BigTable)思想的一个具体实现。它是一个列式存储的NoSQL数据库,适合执行数据的分析和处理。简单来说,就是适合执行查询操作。从体系架构的角度看,HBase是一种主从架构,包含:HBase HMaster、Region Server和ZooKeeper,下图展示了这一架构。【赵渝强老师】HBase的体系架构下面详细讨论HBase体系架构中每一个组成部分的作用。

2025-05-27 12:19:05 1108

原创 【赵渝强老师】MySQL的备份方案

MySQL支持多种方式的备份与恢复,下面详细介绍了每种备份与恢复方式的含义以及它们之间的区别。【赵渝强老师】MySQL的备份方案。

2025-05-25 14:12:58 409

原创 【赵渝强老师】OceanBase数据库从零开始:MySQL模式

现在你已经了解到《OceanBase数据库从零开始:MySQL模式》这门课程主要内容了,那就开始学习吧。

2025-05-24 10:27:17 514

原创 【赵渝强老师】Scala编程语言

Scala是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机)之上,并兼容现有的Java程序。因此,要安装Scala环境之前,首先需要安装Java的JDK。学习Scala编程语言,将为后续学习Spark和Flink奠定基础。在Flink中也可以使用Scala编程语言,下面的代码也将在Flink中执行一个WordCount程序。下面的代码展示了在Spark中如何使用Scala开发一个WordCount程序。

2025-05-21 08:05:49 262

原创 【赵渝强老师】Memcached的路由算法

Memcached支持两种不同方式的客户端路由算法,即:求余数Hash算法和一致性Hash算法。下面分别进行介绍。

2025-05-18 10:56:17 979

原创 【赵渝强老师】在PostgreSQL中访问Oracle

在PostgreSQL数据库中,oracle_fdw是PostgreSQL数据库支持的外部扩展。(8)启动PostgreSQL数据库服务器,并登录PostgreSQL数据库实例创建oracle_fdw扩展。(1)从Oracle官方网站下载以下3个Oracle Instance Client安装包,如下图所示。(15)现在可以在本地数据库中通过外部表访问Oracle数据库中对应的远程表。(14)在PostgreSQL数据库中创建外部表访问Oracle中的数据。(11)查看当前数据库中移创建的外部服务。

2025-05-17 18:10:49 667

原创 【赵渝强老师】使用postgre_fdw访问外部PostgreSQL

通过使用file_fdw扩展使得PostgreSQL能够访问外部文件系统中的数据文件,同样通过使用postgres_fdw扩展可以使得PostgreSQL能够访问外部远端的PostgreSQL数据库中的数据。(1)进入PostgreSQL源码目录下的contrib/postgres_fdw目录,编译并安装postgres扩展。(6)基于postgres_fdw创建外部PostgreSQL数据库服务器对象foreign_server。(10)现在可以在本地数据库中通过外部表访问对应的远程表。

2025-05-14 08:53:48 425

原创 【赵渝强老师】在PostgreSQL中使用file_fdw访问外部文件系统

PostgreSQL的file_fdw扩展允许直接从数据库中来访问服务器的文件系统中的文件,而文件的格式要求为text、csv或者 binary。(1)进入PostgreSQL源码目录下的contrib/file_fdw目录,编译并安装file_fdw扩展。(2)修改postgresql.conf文件中的shared_preload_libraries参数。(6)基于file_fdw创建外部文件服务service_file。(8)创建基于file_fdw的外部表。(4)创建file_fdw扩展。

2025-05-11 09:06:07 486

原创 【赵渝强老师】TiDB SQL层的工作机制

TiDB节点的SQL层,即TiDB Server,它负责将SQL翻译成Key-Value操作,将其转发给共用的分布式Key-Value存储层TiKV,然后组装TiKV返回的结果,最终将查询结果返回给客户端。这一层的节点都是无状态的,节点本身并不存储数据,节点之间完全对等。因此很容易实现失败迁移,从而支持容错。下图详细说明了TiDB SQL层的工作机制。【赵渝强老师】TiDB SQL层的工作机制。

2025-05-10 11:10:37 398

原创 【赵渝强老师】TiDB的备份恢复策略

数据库在运行过程中会出现各种故障,因此对数据库进行必要的备份是非常重要的。有了数据库的备份就可以在数据库出现错误时保证数据的安全。因此TiDB数据库提供了强大的数据库备份与恢复机制。【赵渝强老师】TiDB的备份恢复策略。

2025-05-07 17:36:40 312

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除