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

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

原创 《Docker+Kubernetes容器实战派》新书上市

《Docker+Kubernetes容器实战派》新书上市本书分为上下两篇,共20章。

2022-06-08 11:19:14 1398 2

原创 【赵渝强】《大数据原理与实战》新书上市

经过近一年的等待,《大数据原理与实战》新书上市!!先睹为快!!!

2022-02-15 21:04:26 848

原创 【赵渝强】使用二进制包部署Kubernetes集群

在一些企业的私有环境中可能无法连接外部的网络。如果要在这样的环境中部署Kubernetes集群,可以采集Kubernetes离线安装的方式进行部署。即:使用二进制安装包部署Kubernetes集群,采用的版本是Kubernetes v1.18.20。下面通过具体的步骤来演示如何使用二进制包部署三个节点的Kubernetes集群。1. 部署ETCD(1)从GitHub上下载ETCD的二进制安装包“etcd-v3.3.27-linux-amd64.tar.gz”。(2)从cfssl官方网站上下载所需.

2022-02-13 22:15:51 697

原创 【赵渝强老师】利用Python完成数据分布特征的分析

在对数据的质量进行分析后,接下来就可以对数据的特征进行分析和计算,也可以通过绘制图表对数据的特征进行展示。数据的特征分析通过有以下几种方式:分布分析、对比分析、统计量分析、周期性分析、贡献度分析(帕累托分析)、相关性分析、正态性检验。分布分析能揭示数据的分布特征和分布类型。对于定量数据,想要了解其分布形式是对称的还是非对称的,发现某些特大或特小的可以值,可以通过绘制频率分布直方图、茎叶图进行直观分析;对于定性数据,可用饼图和条形图直观的显示分布情况。下面我们通过具体的示例来演示如何对数据 进行.

2021-11-23 10:55:45 3309

原创 【赵渝强老师】史上最详细的PostgreSQL体系架构介绍

PostgreSQL是最像Oracle的开源数据库,我们可以拿Oracle来比较学习它的体系结构,比较容易理解。PostgreSQL的主要结构如下:一、存储结构PG数据存储结构分为:逻辑存储结构和物理存储存储。其中:逻辑存储结构是内部的组织和管理数据的方式;物理存储结构是操作系统中组织和管理数据的方式。1、逻辑存储结构所有数据库对象都有各自的oid(object identifiers),oid是一个无符号的四字节整数,相关对象的oid都存放在相关的system catalog表中,比如数据库.

2021-09-07 12:21:49 1711

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

一、什么是HBase?HBase是一个基于HDFS之上的分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“BigTable大表”,即:把所有的数据存入一张表中。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HB.

2021-08-02 11:00:40 518

原创 【赵渝强老师】使用Oracle的跟踪文件

一、什么是跟踪文件?跟踪文件中包含了大量而详细的诊断和调试信息。通过对跟踪文件的解读和分析,我们可以定位问题、分析问题和解决问题。从跟踪文件的产生的来源来看,跟踪文件又可以分为两类:一类是数据库的操作人员有意生成的;另一类则是由于出现了异常错误,由数据库自动生成的。对于后一类,只对Oracle内部的技术支持人员是有用的,但对于我们,则多半看不懂。前一类,则是我们经常用到的,帮助我们分析、调整和优化应用性能,处理并解决问题。 那么在哪里可以找到跟踪文件呢?通过查询...

2021-06-28 10:43:45 936 1

原创 【赵渝强老师】Kafka的消息持久化

1、Kafka消息持久性概述Kakfa依赖文件系统来存储和缓存消息。对于硬盘的传统观念是硬盘总是很慢,基于文件系统的架构能否提供优异的性能?实际上硬盘的快慢完全取决于使用方式。同时 Kafka 基于 JVM 内存有以下缺点:对象的内存开销非常高,通常是要存储的数据的两倍甚至更高随着堆内数据的增加,GC的速度越来越慢实际上磁盘线性写入的性能远远大于任意位置写的性能,线性读写由操作系统进行了大量优化(read-ahead、write-behind 等技术),甚至比随机的内存读写更快。所以与.

2021-04-30 09:06:45 1786

原创 【赵渝强老师】Kubernetes的探针

Kubernetes提供了探针(Probe)对容器的健康性进行检测。实际上我们不仅仅要对容器进行健康检测,还要对容器内布置的应用进行健康性检测。Probe有以下两种类型:livenessProbe:存活探针,如果检查失败,将杀死容器,根据Pod的restartPolicy重启策略操作。readinessProbe:就绪探针,如果检查失败,Kubernetes会把Pod从service endpoints中剔除。Probe支持以下三种检查方法:httpGet:发送HTTP请求,返回200-4.

2021-04-18 16:07:55 226

原创 【赵渝强老师】使用Oracle的目录数据库Catalog DataBase

一、什么是目录数据库?你可能从其他人或书上听过RMAN恢复目录(也有可能是其他名字,RMAN Recovery Catalog的翻译较多较杂,以下简称恢复目录),旁人的表达或书中模糊不清的描述,导致很多朋友一直对其实际意义和作用感到疑惑。在我看来,可以将其视作存储RMAN备份恢复相关信息的数据库(在物理形式上可以对应成Oracle中的一个SCHEMA)。 当没有恢复目录时,RMAN相关的备份信息,比如归档文件路径、备份集路径等均存储在目标数据库的控制文件中,不过考虑到控制文件并不能无限增长,而且控制.

2021-03-21 19:14:02 399 1

原创 【赵渝强老师】阿里云大数据ACP认证之阿里大数据产品体系

阿里大数据产品体系是基于阿里云飞天平台上的数据处理服务。主要分为阿里云大数据基础产品和阿里云数加平台,其产品架构图如下所示:一、阿里云大数据基础产品1、云数据库——RDS(ApsaraDB for RDS的简称)稳定可靠、可弹性伸缩的在线数据库服务即开即用,DMS可视化界面兼容MySQL,SQL server,PG等关系型数据库提供数据库在线扩容,备份回滚,性能监控及分析等功能只读实例和临时实例优势:双机热备——秒级切换,服务可用性达99.5%安全防护——防DDOS攻击,SQL.

2021-02-23 09:33:14 1178 1

原创 【赵渝强老师】NoSQL数据库之Cassandra基础

一、Cassandra简介Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynamo (分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型)。Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算方面理想的数据库.

2021-02-05 10:34:31 781

原创 【赵渝强老师】使用Weblogic的WLST工具

一、什么是Weblogic WLST?WebLogic 脚本工具 (WebLogic Scripting Tool , WLST) 是一种命令行脚本界面,系统管理员和操作员用它来监视和管理 WebLogic Server 实例以及域。WLST提供以下功能:新建WLS域检查和更新WLS域配置部署应用程序获取运行时服务器的统计信息二、WLST的工作模式和启动(一)联机模式特点:连接到正在运行的服务器可访问所有WLS配置和运行时属性创建和激活更改会话(类似于使用控制台)(二)脱机.

2021-01-22 11:12:25 1474

原创 【赵渝强老师】MongoDB中的索引(下)

(四)索引的类型三:复合索引(Compound Index)MongoDB支持复合索引,即将多个键组合到一起创建索引。该方式称为复合索引,或者也叫组合索引,该方式能够满足多键值匹配查询使用索引的情形。其次复合索引在使用的时候,也可以通过前缀法来使用索引。MongoDB中的复合索引与关系型数据库基本上一致。在关系型数据库中复合索引使用的一些原则同样适用于MongoDB。在前面的内容中,我们已经在emp集合上创建了一个复合索引,如下:db.emp.createIndex({"deptno":1,"sa.

2020-12-19 11:28:38 198 1

原创 【赵渝强老师】MongoDB中的索引(上)

索引是提高查询查询效率最有效的手段。索引是一种特殊的数据结构,索引以易于遍历的形式存储了数据的部分内容(如:一个特定的字段或一组字段值),索引会按一定规则对存储值进行排序,而且索引的存储位置在内存中,所在从索引中检索数据会非常快。如果没有索引,MongoDB必须扫描集合中的每一个文档,这种扫描的效率非常低,尤其是在数据量较大时。一、索引的基础知识下面以关系型数据库Oracle为例,介绍索引的基本原理,如下图所示:从上图可以看成,索引的本质其实就相当于是一本书的目录。当查询表中数据的时候,先查询目录.

2020-11-29 19:09:14 306

原创 【赵渝强老师】Flink的DataSet算子

Flink为了能够处理有边界的数据集和无边界的数据集,提供了对应的DataSet API和DataStream API。我们可以开发对应的Java程序或者Scala程序来完成相应的功能。下面举例了一些DataSet API中的基本的算子。下面我们通过具体的代码来为大家演示每个算子的作用。1、Map、FlatMap与MapPartition//获取运行环境ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(.

2020-10-09 11:15:25 1002

原创 【赵渝强老师】MySQL的闪回

MySQL DBA或开发人员,有时会误删或者误更新数据,如果是线上环境并且影响较大,就需要能快速回滚。传统恢复方法是利用备份重搭实例,再应用去除错误sql后的binlog来恢复数据。此法费时费力,甚至需要停机维护,并不适合快速回滚。也有团队利用LVM快照来缩短恢复时间,但快照的缺点是会影响mysql的性能。MySQL闪回(flashback)利用binlog直接进行回滚,能快速恢复且不用停机。闪回的原理MySQL binlog以event的形式,记录了MySQL server从启用binlog以来所有.

2020-09-27 16:42:22 2282

原创 【赵渝强老师】在MongoDB中使用MapReduce方式计算聚合

MapReduce 能够计算非常复杂的聚合逻辑,非常灵活,但是,MapReduce非常慢,不应该用于实时的数据分析中。MapReduce能够在多台Server上并行执行,每台Server只负责完成一部分wordload,最后将wordload发送到Master Server上合并,计算出最终的结果集,返回客户端。MapReduce的基本思想,如下图所示:在这个例子中,我们以一个求和为例。首先执行Map阶段,把一个大任务拆分成若干个小任务,每个小任务运行在不同的节点上,从而支持分布式计算,这个阶段叫做.

2020-09-13 19:07:15 738

原创 【赵渝强老师】Redis的慢查询日志

Redis慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来。Redis客户端一条命令分为如下四部分执行:需要注意的是,慢查询日志只是统计步骤3)执行命令的时间,所以慢查询并不代表客户端没有超时问题。需要注意的是,慢查询日志只是统计步骤3)执行命令的时间,所以慢查询并不代表客户端没有超时问题。一、慢查询的配置参数:慢查询的预设阀值 s...

2020-08-27 21:28:32 265

原创 【赵渝强老师】Redis的RDB持久化

Redis 提供了多种不同级别的持久化方式:RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。AOF (Append-only file)持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis 还可以在后台对 AOF 文件进行重写(rewrite),使得 AOF 文件的体积不会超出保存数据集状态所需的实际大小.

2020-08-10 10:40:01 520 1

原创 【赵渝强老师】MySQL高可用架构:MHA

MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover 功能。MHA 在监控到 master 节点故障时,会提升其中拥有最新数据的 slave 节点成为新的master 节点,在此期间,MHA 会通过于其它从节点获取额外信息来避免一致性方面的问题。MHA 还提供了 master 节点的在线切换功能,即按需切换 master/slave 节点。MHA 是由日本人 yoshinorim(原就职于DeNA现.

2020-07-23 13:21:39 478

原创 【赵渝强老师】Flink的Watermark机制(基于Flink 1.11.0实现)

在使用eventTime的时候如何处理乱序数据?我们知道,流处理从事件产生,到流经source,再到operator,中间是有一个过程和时间的。虽然大部分情况下,流到operator的数据都是按照事件产生的时间顺序来的,但是也不排除由于网络延迟等原因,导致乱序的产生,特别是使用kafka的话,多个分区的数据无法保证有序。所以在进行window计算的时候,我们又不能无限期的等下去,必须要有个机制来保证一个特定的时间后,必须触发window去进行计算了。这个特别的机制,就是watermark。Watermar.

2020-07-19 22:53:37 2306 3

原创 【赵强老师】什么是Oracle的数据字典?

数据字典是oracle存放有关数据库信息的地方,几乎所有的系统信息和对象信息都可在数据字典中进行查询。数据字典是oracle数据库系统的信息核心,它是一组提供有关数据库信息的表和视图的集合,这些表和视图是只读的。它是随着数据库的建立而建立的,当数据库执行特定动作时数据字典也会自动更新。数据一览与数据字典来记录、校验和管理正在进行的操作。Oracle中,sys用户是数据字典的拥有者,数据字典保证在所有数据库的系统表空间system内,任何用户都无权更改sys模式下的模式对象或数据字典中的行。也就是说数据字.

2020-07-17 10:47:35 390

原创 【赵强老师】第一个Oracle的手工备份和恢复

一、什么是手工管理的备份与恢复?尽管在Oracle中,已经有了RMAN的备份与恢复。但是作为Oracle备份恢复的一种方式,我们将在本文中通过一个例子来为大家介绍如何使用手工的方式来完成Oracle的备份与恢复。**手工方式的本质是通过操作系统的cp命令完成,**但是在备份与恢复的时候,需要把数据块置为正确的状态。手工方式下也存在一些缺点,例如:需要手工管理备份内容,容易丢失,不利于管理二、第一个手工管理的备份与恢复这里我们以一个表空间的备份与恢复为例。准备测试数据create table.

2020-07-07 08:43:57 271

原创 【赵强老师】什么是Spark SQL?

一、Spark SQL简介Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。为什么要学习Spark SQL?我们已经学习了Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所以Spark SQL的应运而生,它是将Spark SQL转换成RDD,然后提交到集群执行,执行效率非常快!同时Spar.

2020-07-02 16:00:23 479

原创 【赵强老师】大数据工作流引擎Oozie

一、什么是工作流?工作流(WorkFlow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递。下面我们以“员工请假的流程”为例,来为大家介绍什么是工作流。这个例子包含了一个完整的员工请假流程。从“请假流程开始”,到“员工填写请假条”,再到“部门经理审批”,如果审批不通过,流程回到“员工填写请假条”;如果部门经理审批通过,则流程进入下.

2020-06-28 13:09:37 317

原创 【赵强老师】Kafka的持久化

一、Kafka持久化概述Kakfa 依赖文件系统来存储和缓存消息。对于硬盘的传统观念是硬盘总是很慢,基于文件系统的架构能否提供优异的性能?实际上硬盘的快慢完全取决于使用方式。同时 Kafka 基于 JVM 内存有以下缺点:对象的内存开销非常高,通常是要存储的数据的两倍甚至更高随着堆内数据的增加,GC的速度越来越慢实际上磁盘线性写入的性能远远大于任意位置写的性能,线性读写由操作系统进行了大量优化(read-ahead、write-behind 等技术),甚至比随机的内存读写更快。所以与常见的数据.

2020-06-22 18:20:10 390

原创 【赵强老师】Docker的日志

Docker的日志分两类,一类是 Docker引擎的日志;另一类是容器日志。下面我们分别进行介绍。一、Docker引擎的日志Docker 引擎日志 一般是交给了 Upstart(Ubuntu 14.04) 或者 systemd (CentOS 7, Ubuntu 16.04)。前者一般位于 /var/log/upstart/docker.log 下,后者一般通过 jounarlctl -u docker 来读取。不同系统的位置都不一样,如下所示:二、Docker容器的日志容器的日志 则可以通过 .

2020-06-15 09:43:27 308

原创 【赵强老师】MongoDB管理用户的认证机制

一、MongoDB用户认证机制简介为了认证客户端,你必须要添加一个对应的用户到MongoDB。基本的步骤分为以下几步:用户管理接口:db.createUser()方法可以创建一个用户,添加完成后可以分配角色给用户,第一个用户必须是管理员,用来管理其他用户。你也可以更新存在的用户,必须修改密码和权限。认证数据库:当添加一个用户后,你在某个指定的数据库中添加该用户,那么这个数据库对于该用户就是个认证数据库。一个用户可以有权限访问多个数据库,通过分配角色权限来做到。认证用户:为了认证用户,可以通过db.

2020-06-12 10:57:10 289

原创 【赵强老师】使用Docker Compose进行服务编排

一、什么是Docker Compose?Docker Compose是一个用来定义和运行复杂应用的Docker工具。一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose不再需要使用shell脚本来启动容器,而使用服务编排的方式来管理容器。Docker Compose 通过一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合.

2020-06-11 08:35:34 288

原创 【赵强老师】Weblogic域和域的组成

一、什么是WeblogicWebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于Java EE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。要学习Weblogic,首先需要了解什么是分布式系统和J2EE标准。在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整.

2020-05-29 10:33:22 581

原创 【赵强老师】管理Docker镜像

一、什么是Docker的镜像Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。一个完整的Docker有以下几个部分组成:Docker Client客户端Docker Daemon守护进程Docker Image镜像Docker Container容器镜像是一个模板,是一个包含程序运行必要依赖环境和代码的只读文件,它采用分层的文件系统,将每一.

2020-05-27 08:32:59 266

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

一、什么是Kafka?数据工程中最具挑战性的部分之一是如何从不同点收集和传输大量数据到分布式系统进行处理和分析。需要通过消息队列正确地分离大量数据,因为如果一部分数据无法传送,则可以在系统恢复时传输和分析其他数据。有两种消息排队,对于上述目的,它们都是可靠的和异步的。点对点(Point to point)和发布者——订阅者(publisher-subscriber)。下图展示了一个典型的消息系统,其中:消息的生产者负责产生消息;消息的消费者负责处理消息。Kafka是一个分布式发布——订阅消息传递系统.

2020-05-25 10:17:31 268

原创 【赵强老师】在Hive中使用Load语句加载数据

一、Hive中load语句的语法说明Hive Load语句不会在加载数据的时候做任何转换工作,而是纯粹的把数据文件复制/移动到Hive表对应的地址。语法格式如下:LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename \[PARTITION (partcol1=val1, partcol2=val2 ...)]LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO .

2020-05-22 11:28:07 1399

原创 【赵强老师】什么是PL/SQL?

一、什么是PL/SQL?PL/SQL(Procedure Language/SQL)是oracle在标准的sql语言上的扩展。ql/sql不仅允许嵌入sql语言,还可以定义变量和常量,允许私用条件语句和循环语句,允许使用例外处理各种错误,这使得它的功能变得更加强大。PL/SQL开发工具主要有:SQL*PLUS开发工具。SQL*PLUS是oracle公司提供的一个命令行工具,我们可以直接在里面书写SQL和PL/SQL程序。Oracle SQL Developer 是一个免费的集成开发环境,简化了传.

2020-05-20 10:35:51 492

原创 【赵强老师】如何在MongoDB中使用游标查询数据

一、什么是游标?游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力。游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标可以被看作是一个查询结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成的一个临时文件,提供了在查询结果集中向前或向后浏览数据、处理结果集中数据的能力。有了游标,用户就可以访问结果集中任意一行数据,在将游标放置到某行之后,可以在该行或从.

2020-05-15 11:13:38 994

原创 【赵强老师】使用HeapDump分析Java的内存溢出问题

一、什么是内存溢出?内存溢出(OOM:out of memory)通俗理解就是内存不够,通常在运行大型软件或游戏时,软件或游戏所需要的内存远远超出了你主机内安装的内存所承受大小,就叫内存溢出。在Java中,将会产生java.lang.OutOfMemoryError。看下关于的官方说明: Thrown when the Java Virtual Machine cannot allocate an object because it is out of memory, and no more memo.

2020-05-13 10:53:51 3211

原创 【赵强老师】Kubernetes平台中日志收集方案

一、K8s整体日志收集方案整体的日志收集方案,如下图所示:Filebeat是本地文件的日志数据采集器,可监控日志目录或特定日志文件(tail file),并将它们转发给Elasticsearch或Logstatsh进行索引、kafka等。带有内部模块(auditd,Apache,Nginx,System和MySQL),可通过一个指定命令来简化通用日志格式的收集,解析和可视化。ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。_Elast.

2020-05-11 10:59:38 484

原创 【赵强老师-博文】Redis的消息发布与订阅

Redis 作为一个publish/subscribe server,起到了消息路由的功能。订阅者可以通过subscribe和psubscribe命令向Redis server订阅自己感兴趣的消息类型,当发布者通过publish命令向Redis server发送特定类型的消息时。订阅该消息类型的全部client都会收到此消息。这里消息的传递是多对多的。一个client可以订阅多个channel,...

2020-05-08 13:00:06 451

原创 【赵强老师-博文】数据库的事务

一、什么是事务?数据库事务(Transaction)是访问并可能操作各种数据项的一个数据库操作序列,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单位。事务由事务开始与事务结束之间执行的全部数据库操作组成。例如:从A账号给B账号转帐,对应于如下两条sql语句update from account set money=money+100 where name=‘b’;updat...

2020-05-06 10:29:54 303

空空如也

空空如也

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

TA关注的人

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