摘要: ​对运行状态的Redis实例进行监控是运维管理中非常重要的内容,包括:监控Redis的内存、监控Redis的吞吐量、监控Redis的运行时信息和监控Redis的延时。通过Redis提供的监控命令便能非常方便地实现对各项指标的监控。 一、监控Redis的内存 点击这里查看视频讲解:【赵渝强老师】监控R 阅读全文
posted @ 2025-12-17 14:01 赵渝强老师 阅读(20) 评论(0) 推荐(0)
摘要: 随着大数据技术的兴起,NoSQL数据库得到了广泛的应用。NoSQL的全称是Not Only SQL,中文含义是不仅仅是SQL。它泛指所有的非关系型数据库,即:在NoSQL数据库中存储数据的模型可能不是二维表的行和列。NoSQL数据库不遵循关系型数据库范式的要求,因此在NoSQL数据库中可能会造成数据 阅读全文
posted @ 2025-12-17 13:59 赵渝强老师 阅读(10) 评论(0) 推荐(0)
摘要: Redis慢查询日志帮助开发和运维人员定位系统存在的慢操作。慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阀值,就将这条命令的相关信息(慢查询ID,发生时间戳,耗时,命令的详细信息)记录下来。Redis客户端的一条命令可以分为四个部分执行,如下图所示。 点击这里查看视频讲解:【赵 阅读全文
posted @ 2025-12-17 13:57 赵渝强老师 阅读(7) 评论(0) 推荐(0)
摘要: ​ ​在MongoDB数据更新时,WiredTiger存储引擎使用预写日志的机制先将数据更新写入到Journal日志文件中。然后在创建检查点操作开始时,再将日志文件中记录的操作刷新到数据文件。换句话说,通过预写日志和检查点机制可以保证将数据更新持久化到数据文件中,并实现数据的一致性。 点击这里查看视 阅读全文
posted @ 2025-12-17 13:55 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: MongoDB在执行写操作时,WiredTiger存储引擎会在文档级别进行并发控制。换句话说在同一时间点上,多个写操作能够修改同一个集合中的不同文档;而当多个写操作修改同一个文档时,必须以序列化方式执行。这意味着如果当前文档正在被修改,其他写操作必须等待该文档上的写操作完成之后才能进行修改。对于大部 阅读全文
posted @ 2025-12-17 13:53 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: 数据是MongoDB的核心,MongoDB通过使用Journal日志保证数据的安全。Journal日志用于记录上一个检查点之后发生的数据更新,并将更新的信息顺序写入Journal日志文件中。通过使用Journal日志能够将数据库从系统异常终止事件中还原到一个有效的状态。通过6.5.1.3小节的介绍了 阅读全文
posted @ 2025-12-17 13:52 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: MongoDB的逻辑存储结构是一种层次结构,主要包括了三个部分,即:数据库(Database)、集合(Collection,也可以叫做表)和文档(Document,也可以叫做记录)。MongoDB的逻辑存储结构是面向用户使用的,使用mongoshell或者应用程序操作MongoDB时,主要就是操作的 阅读全文
posted @ 2025-12-17 13:50 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: ​Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出会造成服务器中的数据库状态也会消失。所以 Redis 提供了数据持久化功能。Redis支持两种方式的持久化,一种是RDB方式;另一种是AOF(append-only-file)方式。两种持久化方式可以单独使用,也 阅读全文
posted @ 2025-12-17 13:49 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: ​Redis 是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出会造成服务器中的数据库状态也会消失。所以 Redis 提供了数据持久化功能。Redis支持两种方式的持久化,一种是RDB方式;另一种是AOF(append-only-file)方式。两种持久化方式可以单独使用,也 阅读全文
posted @ 2025-12-17 13:46 赵渝强老师 阅读(4) 评论(0) 推荐(0)
摘要: ​Memcached是一个高性能的分布式的内存对象缓存系统。通过使用Memcached可以支持高负载的网站系统,以分担数据库的压力。Memcached通过在内存里维护一个统一的巨大的Hash表来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。但是Memcached不能将数据进行持久化 阅读全文
posted @ 2025-12-17 13:44 赵渝强老师 阅读(6) 评论(0) 推荐(0)
摘要: Memcached是一个高性能的分布式的内存对象缓存系统。通过使用Memcached可以支持高负载的网站系统,以分担数据库的压力。Memcached通过在内存里维护一个统一的巨大的Hash表来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。但是Memcached不能将数据进行持久化, 阅读全文
posted @ 2025-12-17 13:43 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: Memcached是一个高性能的分布式的内存对象缓存系统。通过使用Memcached可以支持高负载的网站系统,以分担数据库的压力。Memcached通过在内存里维护一个统一的巨大的Hash表来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。但是Memcached不能将数据进行持久化, 阅读全文
posted @ 2025-12-17 13:41 赵渝强老师 阅读(7) 评论(0) 推荐(0)
摘要: ​WiredTiger提供文档级别(Document-Level)的并发控制,检查点(CheckPoint),数据压缩和本地数据加密( Native Encryption)等功能。从MongoDB 3.2 版本开始,WiredTiger成为MongDB默认的Storage Engine。 点击这里查 阅读全文
posted @ 2025-12-17 13:39 赵渝强老师 阅读(15) 评论(0) 推荐(0)
摘要: MongoDB的In-Memory存储引擎将会把数据存储在内存中。除了少量的元数据和诊断日志以外,In-Memory存储引擎不会维护任何存储在硬盘上的数据,从而避免硬盘的读写操作,以减少数据查询的延迟,从而提高性能。 提示:虽然In-Memory存储引擎不会向文件系统写入数据,但是它任然需要使用-- 阅读全文
posted @ 2025-12-17 13:37 赵渝强老师 阅读(5) 评论(0) 推荐(0)
摘要: ​在MongoDB 3.2版本以前,MongoDB使用MMAPv1作为默认的存储引擎。在MMAPv1的存储引擎中,包含以下的组成部分: Database 每个Database由一个.ns名称空间文件及若干个数据文件组成。数据文件从0开始编号,依次为.0、.1、.2等。数据文件大小从64MB起,依次倍 阅读全文
posted @ 2025-12-17 13:36 赵渝强老师 阅读(2) 评论(0) 推荐(0)
摘要: 存储引擎(Storage Engine)是MongoDB的核心组件,它负责管理数据如何存储在硬盘(Disk)和内存(Memory)上。从MongoDB 3.2 版本开始,MongoDB支持多种类型的数据存储引擎。 点击这里查看视频讲解:【赵渝强老师】MongoDB的存储引擎 从MongoDB的发展历 阅读全文
posted @ 2025-12-17 13:34 赵渝强老师 阅读(4) 评论(0) 推荐(0)
摘要: ​Redis使用的是客户端-服务器(C-S)模型和请求/响应协议的TCP服务器。这意味着通常情况下一个请求会遵循以下步骤: 第一步:客户端向服务端发送一个查询请求,并监听Socket返回,通常是以阻塞模式,等待服务端响应。 第二步:服务端处理命令,并将结果返回给客户端。 点击这里查看视频讲解:【赵渝 阅读全文
posted @ 2025-12-17 13:33 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: ​在了解到了MongoDB复制集的体系架构以后,下面将通过具体的步骤来演示如何搭建单个节点的MongoDB复制集环境。下表列举了MongoDB复制集的配置信息。​ 提示:上表在一台主机上通过监听不同的端口来搭建MongoDB复制集环境,也可以使用三台主机来搭建。 点击这里查看视频讲解:【赵渝强老师】 阅读全文
posted @ 2025-12-17 13:30 赵渝强老师 阅读(4) 评论(0) 推荐(0)
摘要: MongoDB的复制集中主要包括三个成员,即:主库、从库和仲裁者。一般情况下,MongoDB复制集集群中是一个主库和两个从库。数据库管理员也可以在复制集中添加一个MongoDB的实例,作为复制集的仲裁者。但仲裁者不是必须的。 点击这里查看视频讲解:【赵渝强老师】MongoDB复制集中的成员 主库 在 阅读全文
posted @ 2025-12-17 13:29 赵渝强老师 阅读(2) 评论(0) 推荐(0)
摘要: MongoDB的复制就是数据文档在多个MongoDB服务器节点直接进行数据同步的过程。因此MongoDB的复制集是一种集群技术。 点击这里查看视频讲解:【赵渝强老师】MongoDB复制集的体系架构 MongoDB复制集由一组MongoDB实例组成,其中包含一个Primary节点和多个Secondar 阅读全文
posted @ 2025-12-17 13:27 赵渝强老师 阅读(5) 评论(0) 推荐(0)
摘要: ​ 一般来说消息队列有两种场景,一种是发布者订阅者模式,而另一种是生产者消费者模式。这两种场景的消息队列Redis都能够实现。 该模式是利用了List能够实现队列(先进先出)和栈(先进后出)的特点。Redis List的主要操作为lpush/lpop/rpush/rpop四种,分别代表从头部和尾部的 阅读全文
posted @ 2025-12-17 12:58 赵渝强老师 阅读(6) 评论(0) 推荐(0)
摘要: 一般来说消息队列有两种场景,一种是发布者订阅者模式,而另一种是生产者消费者模式。这两种场景的消息队列Redis都能够实现。 发布者和订阅者通过channel频道进行解偶, 订阅者监听某个channel的消息,当发布者向该channel推送消息时,订阅该channel的消费者都可以收到消息。 点击这里 阅读全文
posted @ 2025-12-17 12:57 赵渝强老师 阅读(5) 评论(0) 推荐(0)
摘要: ​MongoDB是一个基于分布式文件存储的NoSQL数据库,它也是最像关系型数据库的NoSQL数据库。MongoDB官方提供了两个客户端工具:一个是命令行客户端工具mongoshell;另一个是图形化免费工具MongoDB Compass。 点击这里查看视频讲解:【赵渝强老师】MongoDB的客户端 阅读全文
posted @ 2025-12-17 12:54 赵渝强老师 阅读(19) 评论(0) 推荐(0)
摘要: Redis内部默认存在16个数据库,这是通过在redis.conf文件中的参数databases决定的。 # Set the number of databases. The default database is DB 0, you can select # a different one on 阅读全文
posted @ 2025-12-17 12:53 赵渝强老师 阅读(1) 评论(0) 推荐(0)
摘要: 在学习HBase的体系架构之前,需要先了解一下HBase中的一些术语。这些术语如下表所示。 从体系架构的角度看,HBase是一种主从架构,包含:HBase HMaster、Regionserver和ZooKeeper。 点击这里查看视频讲解:【赵渝强老师】HBase的体系架构 下图展示了这一架构。 阅读全文
posted @ 2025-12-17 12:51 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: ​在学习HBase的表结构之前,首先需要了解一下什么是Google的BigTable思想。BigTable大表的思想是Google的“第三驾马车”。正因为有了这样的思想就有了Hadoop生态圈体系中的NoSQL数据库HBase。 提示:NoSQL数据库泛指所有的非关系型数据库。NoSQL数据库有很多 阅读全文
posted @ 2025-12-17 12:48 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: MongoDB是一个基于BSON文档的NoSQL数据库,下面的步骤将在Linux的操作系统上安装和部署MongoDB。下表列举了所使用的版本信息。 点击这里查看视频讲解:【赵渝强老师】MongoDB的安装与访问 下面是具体的操作步骤: (1)安装MongoDB所需的依赖包。 yum install 阅读全文
posted @ 2025-12-17 12:46 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: 本文将基于Redis 6.2版本进行讲解,并将Redis部署在CentOS 7 64位的虚拟机环境中。下图展示了Redis官方网站提供的Redis下载信息。 提示:由于Redis基于C语言开发,因此在安装CentOS 7的时候需要安装GCC编译器。GCC(GNU Compiler Collectio 阅读全文
posted @ 2025-12-17 12:44 赵渝强老师 阅读(6) 评论(0) 推荐(0)
摘要: ​数据库允许多个客户端同时访问。当这些客户端并发访问数据库中同一部分的数据时,如果没有采取必要的隔离措施就容易造成并发一致性问题,从而破坏数据的完整性。考虑下图的场景: 在时间点1上,var的数值是100。客户端A在时间点2的时候更新了它的值为200,但没有提交事务。在时间点3的时候,客户端B读取到 阅读全文
posted @ 2025-12-17 12:42 赵渝强老师 阅读(4) 评论(0) 推荐(0)
摘要: 数据库是用来存储数据的,数据库实例是用来操作数据的。从操作系统的角度看,数据库实例表现为一个进程,对应多个线程。在非集群数据库架构中,数据库与数据库实例存在一一对应关系,在数据库集群中,可能存在多个数据库实例操作一个数据库情况,即多对一关系。MySQL允许在同一个宿主机上运行多个MySQL数据库服务 阅读全文
posted @ 2025-12-17 12:40 赵渝强老师 阅读(8) 评论(0) 推荐(0)
摘要: MySQL数据库中包含各自数据库对象,常见的数据库对象有:表、索引、视图、事件、存储过程和存储函数等等。 点击这里查看视频讲解:【赵渝强老师】MySQL中的数据库对象 一、 创建与管理表 表是一种非常重要的数据库对象,MySQL数据库的数据都是存储在表中。MySQL的表是一种二维结构,由行和列组成。 阅读全文
posted @ 2025-12-17 12:38 赵渝强老师 阅读(7) 评论(0) 推荐(0)
摘要: mysqldump 是MySQL自带的逻辑备份工具。它的备份原理是通过协议连接到MySQL数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert语句,当我们需要还原这些数据时,只要执行这些insert语句,即可将对应的数据还原。下面语句可以列出mysqldump的帮助信息。 mys 阅读全文
posted @ 2025-12-17 12:37 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: MySQL支持多种方式的备份与恢复,下面详细介绍了每种备份与恢复方式的含义以及它们之间的区别。 点击这里查看视频讲解:【赵渝强老师】MySQL的备份方案 ​ 一、 物理备份与逻辑备份 数据库从存储上看主要由数据库的物理数据文件、日志文件及配置文件等组成。数据库的物理备份是指备份时直接复制备份这些数据 阅读全文
posted @ 2025-12-17 12:35 赵渝强老师 阅读(5) 评论(0) 推荐(0)
摘要: ​在MySQL实例启动时,数据库会先去读一个配置参数文件(my.cnf),用来寻找数据库的各种文件所在位置以及指定某些初始化参数。在默认情况下,MySQL实例会按照一定的顺序在指定的位置进行读取,通过下面的语句可以查看读取参数文件的顺序。 mysql --help | grep my.cnf # 输 阅读全文
posted @ 2025-12-17 12:33 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: ​MySQL的全量日志(general log)会记录MySQL数据库所有操作的SQL语句,包含select和show。默认情况下,禁用全量日志。 点击这里查看视频讲解:【赵渝强老师】MySQL的全量日志文件 ​ 下面通过具体的步骤来演示如何使用全量日志。 (1)查看是否启用全量日志 mysql> 阅读全文
posted @ 2025-12-17 12:31 赵渝强老师 阅读(8) 评论(0) 推荐(0)
摘要: ​MySQL的慢查询日志可以把超过参数long_query_time时间的所有SQL语句记录进来,帮助DBA人员优化所有有问题的SQL语句。通过mysqldumpslow工具可以查看慢查询日志。 点击这里查看视频讲解:【赵渝强老师】MySQL的慢查询日志文件 ​下面通过具体的演示来说明如何使用MyS 阅读全文
posted @ 2025-12-17 12:30 赵渝强老师 阅读(1) 评论(0) 推荐(0)
摘要: ​MySQL的binlog日志文件(也叫做:二进制日志文件)记录了对MySQL数据库执行更改的所有操作,但是不包括SELECT和SHOW这类操作,因为这类操作对数据本身并没有修改。若操作本身并没有导致数据库发生变化,那么该操作不会被写入binlog。binlog日志文件的主要作用: 可以完成主从复制 阅读全文
posted @ 2025-12-17 12:28 赵渝强老师 阅读(6) 评论(0) 推荐(0)
摘要: ​MySQL与Oracle一样都是通过逻辑存储结构来管理物理存储结构,即管理硬盘上存储的各种文件。下面将详细介绍InnoDB存储引擎中的撤销日志文件和错误日志文件。 一、MySQL的撤销日志文件(undo log) undo log中记录的是旧版本的数据,当我们对记录做了变更操作时就会产生undo记 阅读全文
posted @ 2025-12-17 12:26 赵渝强老师 阅读(5) 评论(0) 推荐(0)
摘要: ​MySQL与Oracle一样都是通过逻辑存储结构来管理物理存储结构,即管理硬盘上存储的各种文件。下面将详细介绍InnoDB存储引擎中的数据文件和重做日志文件。 一、数据文件 “.ibd”文件和ibdata文件 这两种文件都是存放Innodb数据的文件,之所以有两种文件来存放Innodb的数据(包括 阅读全文
posted @ 2025-12-17 12:24 赵渝强老师 阅读(4) 评论(0) 推荐(0)
摘要: MySQL的InnoDB存储引擎的逻辑存储结构和Oracle大致相同,所有数据都被逻辑地存放在一个空间中,我们称之为表空间(tablespace)。表空间又由段(segment)、区(extent)、页(page)组成。InnoDB存储引擎的逻辑存储结构大致如下图所示。 ​ 下面重点到了一下MySQ 阅读全文
posted @ 2025-12-17 11:52 赵渝强老师 阅读(5) 评论(0) 推荐(0)
摘要: ​InnoDB存储引擎目前是MySQL默认的存储引擎,它主要由三部分组成,分别是:存储结构、内存结构和线程结构。InnoDB的存储结构又可以分为逻辑存储结构和物理存储结构。InnoDB存储引擎的逻辑存储结构和Oracle大致相同,所有数据都被逻辑地存放在一个空间中,我们称之为表空间(tablespa 阅读全文
posted @ 2025-12-17 11:52 赵渝强老师 阅读(7) 评论(0) 推荐(0)
摘要: ​对数据库进行基准测试,以掌握数据库的性能情况是非常必要的。因此对数据库的性能指标进行定量的、可复现的、可对比的测试就显得非常的重要。 一、MySQL的基准测试与sysbench MySQL的基准测试可以理解为是对数据库运行时的一种压力测试。但这样的测试不关心业务逻辑,更加简单、直接、易于测试。测试 阅读全文
posted @ 2025-12-17 11:51 赵渝强老师 阅读(12) 评论(0) 推荐(0)
摘要: 冷备份是指发生在数据库已经正常关闭的情况下进行的备份。由于此时数据库已经关闭,通过冷备份可以将数据库的关键性文件拷贝到另外存储位置。冷备份因为只是拷贝文件,因此备份的速度非常快。在执行恢复时,只需将文件再拷贝回去就可以很容易恢复到某个时间点上。冷备份的最大缺点在于在冷备份过程中,数据库必须是关闭状态 阅读全文
posted @ 2025-12-17 11:51 赵渝强老师 阅读(5) 评论(0) 推荐(0)
摘要: 在MySQL数据库中,用户信息、用户的密码、删除用户及分配权限等就是存储在MySQL数据库的"mysql.user"表中。下面展示了该表的部分字段信息: 数据库安装配置成功后,MySQL就创建了几个默认的用户。下表列举了这些用户以及他们的作用。 点击这里查看视频讲解:【赵渝强老师】管理MySQL的用 阅读全文
posted @ 2025-12-17 11:50 赵渝强老师 阅读(8) 评论(0) 推荐(0)
摘要: ​在早期的MySQL数据库中,用户的密码是保存在“mysql.user”表中的“password”字段中。但是从MySQL 5.7版本开始“password”字段改成“authentication_string”字段。例如,下面的语句将查询MySQL中用户的密码。 mysql> select hos 阅读全文
posted @ 2025-12-17 11:50 赵渝强老师 阅读(5) 评论(0) 推荐(0)
摘要: MySQL访问控制实际上由两个功能模块共同完成的:一个模块是用户管理模块;而另一个是访问控制模块。用户管理模块主要是验证用户的合法性,是否能够访问MySQL数据库;而访问控制模块则需要根据权限系统表中存储的权限信息来决定用户用户什么样的权限。 点击这里查看视频讲解:【赵渝强老师】MySQL访问控制的 阅读全文
posted @ 2025-12-17 11:50 赵渝强老师 阅读(1) 评论(0) 推荐(0)
摘要: ​InnoDB是当前MySQL的默认的存储引擎,也是互联网等公司数据库存储引擎的不二选择。InnoDB的特性如下: 支持数据库事务。在可重复读的隔离级别下,解决了不可重复读的问题。并且通过间隙锁的引入解决了幻读的问题。 支持行级锁和表级锁。默认是行级锁,因此具备更高的并发度。 支持外键。 为处理巨大 阅读全文
posted @ 2025-12-17 11:49 赵渝强老师 阅读(7) 评论(0) 推荐(0)
摘要: ​在MySQL5.1版本之前,默认的存储引擎是MyISAM。该存储引擎管理非事务表,是ISAM 的扩展格式。除了提供ISAM里所没有的索引的字段管理的功能外,MyISAM 还使用一种表格锁定的机制来优化多个并发的读写操作。 点击这里查看视频讲解:【赵渝强老师】MySQL的MyISAM存储引擎 MyI 阅读全文
posted @ 2025-12-17 11:49 赵渝强老师 阅读(9) 评论(0) 推荐(0)
摘要: ​MySQL的存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。现在最常用的存储引擎是 InnoDB,它从 MySQL 5.5.5 版本开始成为了默认存储引擎。 提示:通过“show create table”可以看出创建表时使用的 阅读全文
posted @ 2025-12-17 11:48 赵渝强老师 阅读(2) 评论(0) 推荐(0)
摘要: ​MySQL数据库安装成功后,就可以通过MySQL提供的命令脚本来启动MySQL数据库服务器了。 点击这里查看视频讲解:【赵渝强老师】启动与关闭MySQL数据库实例 下面是具体的操作步骤。 (1)启动MySQL数据库。 cd /usr/local/mysql support-files/mysql. 阅读全文
posted @ 2025-12-17 11:48 赵渝强老师 阅读(5) 评论(0) 推荐(0)
摘要: ​MySQL数据库服务器成功启动后,可以通过多种不同的方式进行连接。连接方式主要有:本地连接、远程连接和安全连接。下面通过具体的步骤来演示如何使用它们。 点击这里查看视频讲解:【赵渝强老师】MySQL客户端的连接方式 一、本地连接 (1)在CentOS的命令终端中直接输入下面的命令,并使用root用 阅读全文
posted @ 2025-12-17 11:47 赵渝强老师 阅读(4) 评论(0) 推荐(0)
摘要: MongoDB是一个可移植的NoSQL数据库,它几乎可以运行在所有的操作系统之上,从而实现了跨平台性。尽管在不同的操作系统上虽然略有差别,但是从整体上来看,MongoDB在不同的操作系统平台上的体系架构(如数据逻辑结构和数据存储等等)都是一样的。一个运行着的MongoDB数据库就可以看成是一个Mon 阅读全文
posted @ 2025-12-17 11:47 赵渝强老师 阅读(4) 评论(0) 推荐(0)
摘要: 下图展示了引入缓存后系统的架构。通过使用缓存可以提升访问性能、降低网络拥堵、减轻服务负载和增强可扩展性。 点击这里查看视频讲解:【赵渝强老师】基于Redis的旁路缓存架构 一般情况下数据存在数据库中,应用程序直接操作数据库。当应用程序访问量上万,数据库压力突然增大,如果需要减轻数据库服务器的压力,有 阅读全文
posted @ 2025-12-17 11:46 赵渝强老师 阅读(5) 评论(0) 推荐(0)
摘要: PostgreSQL的内存结构分为两种不同的类型,它们分别是本地内存和共享内存。它们的关系如下图所示: 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的内存结构 一、 本地内存 PostgreSQL的本地内存是指每个后台进程(backend process)自己使用的内存区域,下面列举了P 阅读全文
posted @ 2025-12-17 11:46 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: ​Greenplum本质上是一个基于PostgreSQL的关系型数据库集群,实际上是由多个独立的数据库服务组合而成的一个逻辑数据库。与Oracle的RAC不同,这种数据库集群采取的是MPP(Massively Parallel Processing,大规模并行处理)架构。Greenplum最大的特点 阅读全文
posted @ 2025-12-17 11:45 赵渝强老师 阅读(12) 评论(0) 推荐(0)
摘要: ​PostgreSQL中的WAL是Write Ahead Logging的缩写,即预写日志,它是保证数据完整性的一种标准方法。简单来说就是在PostgreSQL数据库中要对数据文件进行修改时必须先写入WAL日志信息,即当WAL日志记录完成了持久化,刷新到永久储存之后才能更改数据文件。根据这个原则就不 阅读全文
posted @ 2025-12-17 11:45 赵渝强老师 阅读(9) 评论(0) 推荐(0)
摘要: ​PostgreSQL数据库能设计出利用多CPU让查询更快的查询计划。这种特性被称为并行查询。对于那些可以从并行查询获益的查询来说,并行查询带来的速度提升是显著的。很多查询在使用并行查询时比之前快了超过两倍,有些查询是以前的四倍甚至更多的倍数。那些访问大量数据但只返回其中少数行给用户的查询最能从并行 阅读全文
posted @ 2025-12-17 11:44 赵渝强老师 阅读(5) 评论(0) 推荐(0)
摘要: ​由于PostgreSQL具有强大的功能和良好的可扩展性,因此基于PostgreSQL很容易就可以实现分布式架构。Citus便是具体的一种实现方式。它以扩展的插件形式与PostgreSQL进行集成,且独立于PostgreSQL内核,部署也比较简单。Citus是现在非常流行的基于PostgreSQL的 阅读全文
posted @ 2025-12-17 11:44 赵渝强老师 阅读(6) 评论(0) 推荐(0)
摘要: 在PostgreSQL数据库中,oracle_fdw是PostgreSQL数据库支持的外部扩展。通过使用oracle_fdw扩展可以读取到Oracle数据库中的数据。它是一种非常方便且常见的PostgreSQL与Oracle的同步数据的方法。使用oracle_fdw扩展需要依赖Oracle的Inst 阅读全文
posted @ 2025-12-17 11:43 赵渝强老师 阅读(7) 评论(0) 推荐(0)
摘要: 通过使用file_fdw扩展使得PostgreSQL能够访问外部文件系统中的数据文件,同样通过使用postgres_fdw扩展可以使得PostgreSQL能够访问外部远端的PostgreSQL数据库中的数据。 点击这里查看视频讲解:【赵渝强老师】使用postgre_fdw访问外部PostgreSQL 阅读全文
posted @ 2025-12-17 11:43 赵渝强老师 阅读(7) 评论(0) 推荐(0)
摘要: PostgreSQL的file_fdw扩展允许直接从数据库中来访问服务器的文件系统中的文件,而文件的格式要求为text、csv或者 binary。下面通过具体的操作来演示如何使用file_fdw扩展。 点击这里查看视频讲解:【赵渝强老师】在PostgreSQL中使用file_fdw访问外部文件系统 阅读全文
posted @ 2025-12-17 11:42 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: 在PostgreSQL中,创建数据库主要通过SQL命令“create database”完成。 点击这里查看视频讲解:【赵渝强老师】创建PostgreSQL的数据库 下面是具体的操作步骤。 (1)查询现有数据库的集合,可以检查系统目录pg_database。 postgres=# select da 阅读全文
posted @ 2025-12-17 11:42 赵渝强老师 阅读(4) 评论(0) 推荐(0)
摘要: 在PostgreSQL中,创建数据库时实际上通过拷贝一个已有数据库进行工作的。在默认情况下,将拷贝名为template1的标准系统数据库。所以该数据库是创建新数据库的“模板”。如果为template1数据库增加对象,这些对象将被拷贝到后续创建的用户数据库中。这种行为允许对数据库中标准对象集合的进行修 阅读全文
posted @ 2025-12-17 11:41 赵渝强老师 阅读(4) 评论(0) 推荐(0)
摘要: 在PostgreSQL数据库服务器端安装配置完成以后,便可以使用客户端工具连接到服务器端进行数据库操作了。PostgreSQL支持多种客户端的连接,这里重点介绍psql和pgAdmin这两款PostgreSQL客户端工具的使用方法。 点击这里查看视频讲解:【赵渝强老师】PostgreSQL客户端工具 阅读全文
posted @ 2025-12-17 11:40 赵渝强老师 阅读(14) 评论(0) 推荐(0)
摘要: PostgreSQL数据库的参数文件主要包括四个,它们分别是postgresql.conf、pg_hba.conf、pg_ident.conf和postgresql.auto.conf。下面将详细介绍这四个参数文件。 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的参数文件 1、postg 阅读全文
posted @ 2025-12-17 11:40 赵渝强老师 阅读(4) 评论(0) 推荐(0)
摘要: PostgreSQL数据库的物理存储结构主要是指硬盘上存储的文件,包括:数据文件、日志文件、参数文件、控制文件、WAL预写日志文件等等。 下面重点讨论一下PostgreSQL的控制文件。 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的控制文件 ​控制文件记录了数据库运行时的一些信息,比如 阅读全文
posted @ 2025-12-17 11:39 赵渝强老师 阅读(2) 评论(0) 推荐(0)
摘要: PostgreSQL数据库的物理存储结构主要是指硬盘上存储的文件,包括:数据文件、日志文件、参数文件、控制文件、WAL预写日志文件等等。下面重点讨论一下PostgreSQL的服务器日志文件。 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的服务器日志文件 通过使用pg_ctl命令启动Pos 阅读全文
posted @ 2025-12-17 11:39 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: ​PostgreSQL数据库的物理存储结构主要是指硬盘上存储的文件,包括:数据文件、日志文件、参数文件、控制文件、WAL预写日志文件等等。下面重点讨论一下PostgreSQL的WAL预写日志文件。 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的WAL预写日志文件 WAL是Write Ah 阅读全文
posted @ 2025-12-17 11:38 赵渝强老师 阅读(7) 评论(0) 推荐(0)
摘要: ​PostgreSQL数据库的物理存储结构主要是指硬盘上存储的文件,包括:数据文件、日志文件、参数文件、控制文件、WAL预写日志文件等等。而PostgreSQL的日志文件又分为运行日志、WAL预写日志、事务日志和服务器日志。 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的运行日志文件 在 阅读全文
posted @ 2025-12-17 11:37 赵渝强老师 阅读(8) 评论(0) 推荐(0)
摘要: ​PostgreSQL数据库的物理存储结构主要是指硬盘上存储的文件,包括:数据文件、日志文件、参数文件、控制文件、WAL预写日志文件等等。下面重点讨论一下PostgreSQL的数据文件。 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的数据文件 顾名思义,数据文件用于存储数据,文件名以oi 阅读全文
posted @ 2025-12-17 11:37 赵渝强老师 阅读(4) 评论(0) 推荐(0)
摘要: 对于MySQL来说,虽然经历了多个版本迭代,并且也存在不同的分支。但是MySQL数据库的基础架构基本都是一致的。下图展示了MySQL的体系架构。 点击这里查看视频讲解:【赵渝强老师】MySQL的体系架构 一、MySQL Server层 MySQL的Server层主要有以下7个组件:MySQL向外提供 阅读全文
posted @ 2025-12-17 11:36 赵渝强老师 阅读(6) 评论(0) 推荐(0)
摘要: PostgreSQL在执行initdb的数据库集群初始化时会指定一个目录。该目录通过环境变量$PGDATA来表示。当数据库集群初始化完成后,会在这个目录生成相关的子目录以及一些文件。这些生成的文件就是PostgreSQL的物理存储结构中的文件。如下图所示。 如上图所示,环境变量$PGDATA指向的目 阅读全文
posted @ 2025-12-17 11:35 赵渝强老师 阅读(5) 评论(0) 推荐(0)
摘要: ​PostgreSQL的逻辑存储结构主要是指数据库集群、数据库、表空间、段、区、块等;同时PostgreSQL的逻辑存储结构也包括数据库中的各种数据库对象,如:表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的 阅读全文
posted @ 2025-12-17 11:34 赵渝强老师 阅读(5) 评论(0) 推荐(0)
摘要: ​在PostgreSQL中,所有的数据库对象都是属于模式中的对象。这里的数据库对象包括:表、索引、视图、存储过程、触发器等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和 阅读全文
posted @ 2025-12-17 11:34 赵渝强老师 阅读(3) 评论(0) 推荐(0)
摘要: 在PostgreSQL中,数据库在逻辑上分成多个存储单元,该单元称作表空间。表空间用作把逻辑上相关的数据结构放在一起。数据库逻辑上是由一个或多个表空间组成。在数据库初始化的时候,会自动创建pg_default和pg_global两个表空间。其中: pg_global:该表空间用于存放系统表。 pg_ 阅读全文
posted @ 2025-12-17 11:33 赵渝强老师 阅读(5) 评论(0) 推荐(0)
摘要: ​PostgreSQL的逻辑存储结构主要是指数据库中的各种数据库对象,包括:数据库集群、数据库、表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和表的oid 阅读全文
posted @ 2025-12-17 11:33 赵渝强老师 阅读(6) 评论(0) 推荐(0)
摘要: ​PostgreSQL的逻辑存储结构主要是指数据库中的各种数据库对象,包括:数据库集群、数据库、表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和表的oid 阅读全文
posted @ 2025-12-17 11:32 赵渝强老师 阅读(6) 评论(0) 推荐(0)
摘要: ​PostgreSQL的逻辑存储结构主要是指数据库中的各种数据库对象,包括:数据库集群、数据库、表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和表的oid 阅读全文
posted @ 2025-12-17 11:32 赵渝强老师 阅读(13) 评论(0) 推荐(0)
摘要: PostgreSQL是最像Oracle的开源数据库,我们可以拿Oracle来比较学习它的体系结构,比较容易理解。PostgreSQL的主要结构如下: 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的体系架构 一、存储结构 PG数据存储结构分为:逻辑存储结构和物理存储存储。其中:逻辑存储结构 阅读全文
posted @ 2025-12-17 11:31 赵渝强老师 阅读(10) 评论(0) 推荐(0)