自定义博客皮肤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、云计算等领域的创新思维,知识分享和案例分析的知识分享平台。

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

原创 【赵渝强老师】大数据交换引擎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 593

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

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

2025-07-12 19:04:49 596

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

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

2025-07-08 08:29:09 338

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

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

2025-07-05 17:27:40 494

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

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

2025-07-02 20:47:15 359

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

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

2025-06-29 09:11:55 1290

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

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

2025-06-29 07:55:32 554

原创 【赵渝强老师】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 391

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

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

2025-06-27 16:30:21 310

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

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

2025-06-26 07:54:39 355

原创 【赵渝强老师】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 249

原创 【赵渝强老师】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 604

原创 【赵渝强老师】使用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 430

原创 【赵渝强老师】使用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 308

原创 【赵渝强老师】使用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 268

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

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

2025-06-20 17:25:42 910

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

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

2025-06-07 10:36:36 354

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

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

2025-06-05 21:24:55 603

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

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

2025-06-04 09:48:49 807

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

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

2025-06-01 09:36:48 751

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

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

2025-05-31 09:47:26 885

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

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

2025-05-30 10:59:20 802

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

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

2025-05-29 10:17:04 800

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

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

2025-05-28 10:27:23 705

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

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

2025-05-27 12:19:05 1087

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

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

2025-05-25 14:12:58 396

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

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

2025-05-24 10:27:17 503

原创 【赵渝强老师】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 254

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

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

2025-05-18 10:56:17 973

原创 【赵渝强老师】在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 652

原创 【赵渝强老师】使用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 419

原创 【赵渝强老师】在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 478

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

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

2025-05-10 11:10:37 384

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

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

2025-05-07 17:36:40 299

原创 【赵渝强老师】TiDB的MVCC机制

有了MVCC,只要客户端B执行的读操作的逻辑时间早于客户端A,那么客户端B就可以在客户端A写入的同时正确地读原有的值。对于同一个Key的多个版本,版本号较大的会被放在前面,版本号小的会被放在后面,这样当用户通过一个Key+Version来获取Value的时候,可以通过Key和Version构造出MVCC的Key,也就是Key_Version。然后可以直接通过RocksDB的SeekPrefix(Key_Version)API,定位到第一个大于等于这个Key_Version的位置。

2025-05-04 17:00:46 452

原创 【赵渝强老师】TiDB生态圈组件

TiDB是一款开源的国产分布式关系型数据库。在TiDB的生态圈中提供了各种组件。【赵渝强老师】TiDB生态圈组件。

2025-05-03 12:35:51 327

原创 【赵渝强老师】使用TiDB的审计日志

随着数据库在企业应用系统和互联网上的广泛使用,为了保护数据库中存储数据的安全,数据库应提供相应的审计功能以减少对隐私政策和做法的担忧。TiDB数据库提供了相应的审计功能,让系统管理员能够实施增强的保护措施,及时发现可疑活动,做出精心优化的安全应对。在默认的情况下,TiDB的审计日志保存到了/root/.tiup/storage/cluster/audit目录下。当TiDB集群启动成功后,通过使用命令tiup cluster audit可以查看历史上对数据库集群执行了什么命令,以及每个命令的执行日志。

2025-04-30 14:24:44 336

原创 【赵渝强老师】TiDB的数据存储模型

TiKV将整个Key-Value空间分成很多段,每一段是由一系列连续的Key组成。这里的段就叫做Region。每个Region中保存的数据量默认维持在256M左右,可以通过配置进行修改。TiDB作为数据保存系统,首先要决定数据的存储模型,即数据的保存形式。TiKV选择使用Key-Value模型,并提供有序遍历方法。TiKV的KV存储模型与SQL中的表无关。SQL表中的一行数据会被转换成Key-Value的键值对形式存储在RocksDB中。【赵渝强老师】TiDB的数据存储模型。

2025-04-27 11:24:14 412

原创 【赵渝强老师】快速上手TiDB数据库

组件是一个可以运行的程序或脚本,通过tiup 运行组件时,TiUP会添加一组环境变量,并为该程序创建好对应的数据目录,然后运行该程序。(14)为了方便操作TiDB,可以修改MySQL客户端的提示符。(5)执行命令运行最新版本的TiDB集群,其中TiDB、TiKV、PD和TiFlash实例各1个。(16)在TiUP的启动窗口中按下Control+C键停掉上述启用的TiDB数据库服务。(11)执行命令查看TiDB中已存在的数据库信息。(6)TiDB集群启动后,将输出下面的信息。(1)下载并安装TiUP。

2025-04-26 11:06:22 300

原创 【赵渝强老师】创建PostgreSQL的数据库

在PostgreSQL中,创建数据库主要通过SQL命令“create database”完成。(3)创建一个新的数据库,实际上是在$PDATA/base目录下创建了一个目录,如下图所示。(1)查询现有数据库的集合,可以检查系统目录pg_database。(2)使用SQL命令“create databas”创建数据库。【赵渝强老师】创建PostgreSQL的数据库。(4)重新查询现有数据库的集合。下面是具体的操作步骤。

2025-04-23 10:33:28 288

空空如也

空空如也

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

TA关注的人

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