数据库系统模式的介绍

oracle 数据库、表空间、实例、服务究竟有什么区别联系?

2 02 2 年,我负责一个城市和一个公司的大数据项目。
那天我接到一个任务,要在Oracle数据库中创建一个用户并授予他权限。
我当时也很困惑。
Oracle数据库非常复杂。
我之前只接触过SQL Server。

我打开电脑并开始使用它。
首先,您必须安装数据库并创建实例。
我按照网上的教程一步步操作,终于完成了。
然后,我使用 sysdba 用户创建了 TABLESPACE,添加了 USER 并设置了 TABLESPACE。

之后,我授予该用户读取表空间的权限。
我以为就这样结束了,但事实证明我仍然需要用这个用户登录来创建表。
这个Oracle数据库我运行起来确实很复杂。

辛苦了半天,终于创建了一张表。
然后你想打开 SQL Plus 并测试它。
启动Oracle实例后;突然我发现会有很多进程提供不同的服务。
我当时就一头雾水,这是什么?
后来我意识到这可能是Oracle数据库为了保证数据安全和服务稳定性而刻意的设计。
虽然我觉得这很复杂。
这是数据库确保稳定性和安全性。
我就这样度过了大半天,终于完成了这个任务。

MySQL中的实例、数据库关系简介

你好,2 02 2 年我在某个城市,我的公司正在做一个项目,需要使用MySQL数据库。
当时我真的很困惑这个MySQL实例和数据库的关系。
当我们谈论实例时,它就像数据库管理系统的核心。
负责管理和操作数据库文件。
您需要从配置文件开始。
如果没有配置文件,则以默认参数启动。
当时很困惑。
这个配置文件是什么?
后来慢慢体会到MySQL实例和服务进程一样,采用单进程多线程架构,多线程处理客户端请求,效率高,可靠性好。
管理数据库文件。
这些文件均以 frm、MYD、MYI 和 ibd 结尾。
实例解析并执行SQL语句来访问和修改数据。

说到数据库,它是MySQL中的逻辑集合,包含表、视图、存储过程等,是实例的基本操作单位。
从物理上来说,数据库是一系列文件。
数据文件、索引文件、日志文件都存储在服务器磁盘上。

实例和数据库的关系是,一个实例操作一个数据库,每个实例可以管理一个或多个数据库。
会话不直接连接到数据库,而是与实例建立会话。
一个会话可以使用不同的用户 ID 访问实例上的多个数据库。

Connection和Session,Connection是物理连接,网络连接,Session是逻辑连接,处理客户端请求。
一个连接可以有多个会话,会话之间互不影响。

会话和事务,一个会话可以创建多个事务,事务是数据库操作的最小处理单元,要么全部成功,要么全部失败。
线程和事务,一个事务可以产生多个线程,但一个线程只能同时执行一个事务。

总体关系是,实例是操作数据库的实体,数据库是基本操作单元,会话是交互通道,连接是物理连接,会话是逻辑处理单元,事务保证数据的一致性和完整性。
这些概念相互关联,构成了MySQL数据库管理系统的核心架构。