- 博客(191)
- 收藏
- 关注
原创 【赵渝强老师】使用obd快速体验OceanBase
obd全称为OceanBase Deployer,是OceanBase安装部署工具,通过命令行部署或白屏界面部署的方式,将复杂配置流程标准化,降低集群部署难度。命令行支持编辑配置文件,可以更加灵活的进行配置调整,适用于需要深度了解OceanBase的用户,有一定的使用门槛;白屏界面配置简单,通过页面的引导配置即可完成集群部署,适用于需要快速体验,构建标准环境的用户。在集群部署之外,obd还提供了包管理器、压测软件、集群管理等常用的运维能力,更好的支持用户体验使用OceanBase分布式数据库。
2025-06-07 10:36:36
333
原创 【赵渝强老师】Docker的图形化管理工具
Docker提供了命令行工具来管理Docker的镜像和运行Docker的容器。为了进行Docker的可视化操作,也可以使用图形化的工具来管理Docker。目前,主流的Docker图形化工具有Docker UI、Portainer和Shipyard。【赵渝强老师】Docker的图形化管理工具。
2025-06-05 21:24:55
583
原创 【赵渝强老师】OceanBase中的租户
租户是一个逻辑概念。在OceanBase数据库中,租户是资源分配的单位,是数据库对象管理和资源管理的基础,对于系统运维,尤其是对于云数据库的运维有着重要的影响。租户在一定程度上相当于传统数据库的"实例"概念。租户之间是完全隔离的。在数据安全方面,OceanBase数据库不允许跨租户的数据访问,以确保用户的数据资产没有被其他租户窃取的风险。在资源使用方面,OceanBase数据库表现为租户"独占"其资源配额。
2025-06-04 09:48:49
780
原创 【赵渝强老师】OceanBase部署工具
OceanBase是一款开源的国产分布式关系型数据库。通过使用OceanBase提供的obd和OCP均可以部署OceanBase数据库集群。【赵渝强老师】OceanBase部署工具下面分别进行介绍。
2025-06-01 09:36:48
717
原创 【赵渝强老师】数据库不适合Docker容器化部署的原因
在Docker的容器中可以部署运行一个MySQL数据库,并通过数据卷将运行在容器中的MySQL数据库的数据进行持久化。如果这时候运行MySQL的容器被销毁了,数据也将会发生丢失。因此在Docker中部署数据库服务时,一定要考虑数据持久化的问题。但数据库并不适合Docker容器化部署。【赵渝强老师】数据库不适合容器化部署的原因。
2025-05-31 09:47:26
845
原创 【赵渝强老师】HBase的物理存储结构
HBase的存储结构分为逻辑存储结构与物理存储结构,并且HBase通过逻辑存储结构来管理物理存储结构。而最终物理存储对应的文件又是存储在HDFS之上。而HBase的物理存储结构主要包括StoreFile、HFile和HLog日志。【赵渝强老师】HBase的存储结构。
2025-05-30 10:59:20
780
原创 【赵渝强老师】HBase的逻辑存储结构
HBase的逻辑存储结构主要包括:命名空间(NameSpace)、表(Table)和列族(Column Family)。【赵渝强老师】HBase的存储结构下面分别进行介绍。
2025-05-29 10:17:04
774
原创 【赵渝强老师】OceanBase的部署架构
OceanBase数据库支持无共享(Shared-Nothing,SN)模式和共享存储(Shared-Storage,SS)模式两种部署架构。
2025-05-28 10:27:23
683
原创 【赵渝强老师】HBase的体系架构
HBase是大表(BigTable)思想的一个具体实现。它是一个列式存储的NoSQL数据库,适合执行数据的分析和处理。简单来说,就是适合执行查询操作。从体系架构的角度看,HBase是一种主从架构,包含:HBase HMaster、Region Server和ZooKeeper,下图展示了这一架构。【赵渝强老师】HBase的体系架构下面详细讨论HBase体系架构中每一个组成部分的作用。
2025-05-27 12:19:05
1052
原创 【赵渝强老师】MySQL的备份方案
MySQL支持多种方式的备份与恢复,下面详细介绍了每种备份与恢复方式的含义以及它们之间的区别。【赵渝强老师】MySQL的备份方案。
2025-05-25 14:12:58
387
原创 【赵渝强老师】OceanBase数据库从零开始:MySQL模式
现在你已经了解到《OceanBase数据库从零开始:MySQL模式》这门课程主要内容了,那就开始学习吧。
2025-05-24 10:27:17
476
原创 【赵渝强老师】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
248
原创 【赵渝强老师】Memcached的路由算法
Memcached支持两种不同方式的客户端路由算法,即:求余数Hash算法和一致性Hash算法。下面分别进行介绍。
2025-05-18 10:56:17
963
原创 【赵渝强老师】在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
632
原创 【赵渝强老师】使用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
396
原创 【赵渝强老师】在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
471
原创 【赵渝强老师】TiDB SQL层的工作机制
TiDB节点的SQL层,即TiDB Server,它负责将SQL翻译成Key-Value操作,将其转发给共用的分布式Key-Value存储层TiKV,然后组装TiKV返回的结果,最终将查询结果返回给客户端。这一层的节点都是无状态的,节点本身并不存储数据,节点之间完全对等。因此很容易实现失败迁移,从而支持容错。下图详细说明了TiDB SQL层的工作机制。【赵渝强老师】TiDB SQL层的工作机制。
2025-05-10 11:10:37
368
原创 【赵渝强老师】TiDB的备份恢复策略
数据库在运行过程中会出现各种故障,因此对数据库进行必要的备份是非常重要的。有了数据库的备份就可以在数据库出现错误时保证数据的安全。因此TiDB数据库提供了强大的数据库备份与恢复机制。【赵渝强老师】TiDB的备份恢复策略。
2025-05-07 17:36:40
279
原创 【赵渝强老师】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
443
原创 【赵渝强老师】TiDB生态圈组件
TiDB是一款开源的国产分布式关系型数据库。在TiDB的生态圈中提供了各种组件。【赵渝强老师】TiDB生态圈组件。
2025-05-03 12:35:51
319
原创 【赵渝强老师】使用TiDB的审计日志
随着数据库在企业应用系统和互联网上的广泛使用,为了保护数据库中存储数据的安全,数据库应提供相应的审计功能以减少对隐私政策和做法的担忧。TiDB数据库提供了相应的审计功能,让系统管理员能够实施增强的保护措施,及时发现可疑活动,做出精心优化的安全应对。在默认的情况下,TiDB的审计日志保存到了/root/.tiup/storage/cluster/audit目录下。当TiDB集群启动成功后,通过使用命令tiup cluster audit可以查看历史上对数据库集群执行了什么命令,以及每个命令的执行日志。
2025-04-30 14:24:44
307
原创 【赵渝强老师】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
403
原创 【赵渝强老师】快速上手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
289
原创 【赵渝强老师】创建PostgreSQL的数据库
在PostgreSQL中,创建数据库主要通过SQL命令“create database”完成。(3)创建一个新的数据库,实际上是在$PDATA/base目录下创建了一个目录,如下图所示。(1)查询现有数据库的集合,可以检查系统目录pg_database。(2)使用SQL命令“create databas”创建数据库。【赵渝强老师】创建PostgreSQL的数据库。(4)重新查询现有数据库的集合。下面是具体的操作步骤。
2025-04-23 10:33:28
275
原创 【赵渝强老师】TiDB的配置文件
TiDB集群的配置文件主要包括:TiKV、TiDB、PD和TIFlash的配置文件,执行下面的命令可以查看到所有相关的配置文件。输入y后,再执行下面的命令重新加载配置信息。【赵渝强老师】TiDB的配置文件。
2025-04-20 08:32:53
241
原创 【赵渝强老师】TiDB提供的命令行工具
TiDB数据库提供了以下几款命令行工具,用于操作和管理TiDB集群中的节点。【赵渝强老师】TiDB提供的命令行工具下面分别进行介绍。
2025-04-19 15:20:32
925
原创 【赵渝强老师】TiDB的列存引擎:TiFlash
TiFlash以低消耗不阻塞TiKV写入的方式,实时复制TiKV集群中的数据,并同时提供与TiKV一样的一致性读取,且可以保证读取到最新的数据。且只要TiKV中数据不丢失,就可以随时恢复TiFlash的副本。可以使用TiDB或者TiSpark读取TiFlash,其中:TiDB适合用于中等规模的OLAP计算,而TiSpark适合大规模的OLAP计算。每次收到读取请求,TiFlash中的Region副本会向Leader副本发起进度校对,只有当进度确保至少所包含读取请求时间戳所覆盖的数据一致后才响应读取。
2025-04-16 11:27:55
693
原创 【赵渝强老师】TiDB的行存引擎:TiKV
TiKV的API在KV键值对层面提供对分布式事务的原生支持,默认提供了SI(Snapshot Isolation)的隔离级别,这也是TiDB在SQL层面支持分布式事务的核心。在这3个Region的副本中,其中一个的角色是Leader,另外两个的角色是Follower。TiKV通过PD对这些Region以及副本进行调度,以保证数据和读写负载都均匀地分散在各个TiKV上,这样的设计保证了整个集群资源的充分利用并且可以随着机器数量的增加水平扩展。下面重点讨论一下TiDB的行存引擎:TiKV。
2025-04-12 11:30:43
252
原创 【赵渝强老师】TiDB的体系架构
TiDB是PingCAP公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理(Hybrid Transactional and Analytical Processing,HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时HTAP、云原生的分布式数据库、兼容MySQL协议和MySQL生态等重要特性。
2025-04-09 10:38:49
753
原创 【赵渝强老师】TiDB的功能特性
TiDB是PingCAP公司自主设计、研发的开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理(Hybrid Transactional and Analytical Processing,HTAP)的融合型分布式数据库产品,具备水平扩容或者缩容、金融级高可用、实时HTAP、云原生的分布式数据库、兼容MySQL协议和MySQL生态等重要特性。
2025-04-06 11:32:07
262
原创 【赵渝强老师】Oracle的闪回数据归档
闪回数据归档可以将表中的还原数据进行归档,从而提供全面的历史数据查询。因此这便引入一个新的概念:Oracle Total Recall,即Oracle全面回忆。闪回数据归档与归档日志是两个不同的概念。闪回数据归档是将还原数据的历史记录进行归档,可以用于对数据进行闪回和追溯查询;而归档日志是将重做日志的历史记录进行归档,可以用于保证恢复的连续性。
2025-04-05 18:37:24
935
原创 【赵渝强老师】Oracle的闪回事务查询
闪回事务处理查询是一种诊断工具,可以用来查看在事务处理级对数据库所做的更改。通过这样的方式,可以诊断数据库中的问题并对事务处理执行分析和审计,甚至撤销一个已经提交了的事务。闪回事务查询的核心是使用flashback_transaction_query视图来确定所有必要的SQL 语句。这些语句可以用来还原特定事务处理或特定时间段内所做的修改。通过下面的语句可以查看flashback_transaction_query视图的结构。# 输出的信息如下:Type。
2025-04-03 12:45:44
417
原创 【赵渝强老师】Oracle的闪回删除
回收站是所有被删除对象及其相依对象的逻辑存储容器,例如当一个表被删除时,该表及其依赖的对象并不会马上被数据库彻底删除,而是被保存到回收站中。使用闪回删除功能,可以撤消drop table语句产生的影响,而不需要借助于传统的时间点恢复。通过使用闪回删除可以直接从Oracle的回收站中将删除的表恢复到删除之前的状态。视频讲解如下【赵渝强老师】Oracle的闪回删除。
2025-04-02 13:51:50
547
原创 【赵渝强老师】Oracle的闪回数据库
使用闪回数据库时,通过还原自先前某个时间点以来发生的所有更改,可快速将数据库恢复到较早的时间点。这个操作速度很快,因为不需要还原备份。使用这个功能可撤消导致逻辑数据损坏的更改。如果数据库发生介质丢失或物理损坏,则必须使用传统恢复方法。要使用闪回数据库的功能,Oracle数据库必须是归档模式。
2025-04-01 11:13:06
382
原创 【赵渝强老师】Oracle数据库的闪回表
闪回表可以将一张或多张表恢复到特定的时间点,并且整个恢复的过程是不需要有备份的。使用闪回表的时候,同时还会还原表及其关联的对象(如索引、约束条件、触发器等)中的数据。闪回表在执行的过程中国,会在还原数据中检索到用于满足闪回表请求的数据。因此,闪回表为用户提供了可快速容易地恢复意外的修改,而不需要数据库管理员的干预的方法。使用闪回表需要有flashback table或flashback any table的系统权限。flashback table [schema.]<表名> to。
2025-03-30 09:46:33
379
原创 【赵渝强老师】Oracle的闪回版本查询
使用闪回版本查询可以获取在给定的时间区间中,指定的行的不同版本。当commit语句被执行时,一个新的行版本将被创建。闪回版本查询使用了select语句的versions between子句来指定时间区间。select 列1,列2,.....from 表名versions between [scn|timestamp] [表达式|minvalue]and [表达式|maxvalue] as of [scn|timestamp] 表达式;# 其中:# between...and:用于指定时间区间。
2025-03-29 09:36:14
412
原创 【赵渝强老师】Oracle数据库的闪回查询
使用闪回查询可以用于查询在特定时间点存在的所有历史数据。使用闪回查询功能,可以完成截止到特定时间的查询。在使用select语句的as of子句,可以指定要查看对应数据的时间点。这在分析数据差异时非常有用。下图说明了闪回查询的基本执行过程。在查询时通过制度时间戳或者系统的SCN号,闪回查询即可查询出过去时间点上的历史数据。SCN(System Change Number)代表系统改变号,它与时间戳是一一对应的。通过下面的语句可以得到当前时间所对应的SCN号。
2025-03-28 09:20:52
255
原创 【赵渝强老师】Oracle数据库的闪回技术
在传统意义上,当发生数据丢失、数据错误问题时,解决的主要办法是数据的导入导出或者使用备份恢复技术。通过使用Oracle数据库的闪回技术,可以访问过去某一时间的数据并从人为错误中进行恢复。使用闪回的特性,可以查询以前的数据版本、可以执行更改分析和自助式修复,以便在保持数据库联机的同时从逻辑损坏中恢复。在Oracle数据库的操作过程中,会不可避免地出现操作失误或者用户失误,例如不小心删除了一个表或者提交了一个错误的事务等。Oracle的闪回技术是以还原(undo)数据中的内容为基础的。
2025-03-27 15:02:11
904
原创 【赵渝强老师】Oracle数据库的客户端工具
安装并成功创建Oracle数据库后,便可以使用客户端工具来连接Oracle数据库。Oracle官方提供的客户端工具有:SQL*Plus、Oracle Enterprise Manager Database Express和SQL Developer。
2025-03-26 12:32:17
1301
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人