数据库:操作系统文件或磁盘数据块的集合
数据库实例: 指操作系统中一系列进程以及为这些进程分配的内存块

通常来说一个数据库实例对应着一个数据库【数据库实例是访问数据的通道】

多实例:利用多实例 可以充分利用硬件资源 让服务器性能最大化

数据库连接和会话
数据库连接: 物理层面的通信连接,指的是一个通过网络建立客户端和专有服务器或调度器的网络连接
数据库会话: 客户端和数据库之间通讯的逻辑概念 上下文:位于服务器端 记录了本次连接客户端机器的IP地址 端口 进程等用户信息

数据库连接池
建立连接是有代价的:频繁的建立和关闭连接 会降低性能 使连接资源的释放和建立成为瓶颈
连接池:数据库连接的复用 允许应用程序重复使用现有的数据库连接 而不是创建新的

Schema是数据库 对象的集合
把数据库对象组成逻辑组 ,便于管理,
允许多个用户使用一个数据库 相互间不影响
形成命名空间 避免对象名冲突
包含数据库,对象数据类型 函数 操作符等

表空间 tablespace 由一个或者多个数据文件组成
#创建表空间 表空间满128M 自动扩展
create tablespace human_resouce datafile '/data/humanspace' size 128M autoextend on next 128M ;

表空间作用:根据数据对象使用模式安排数据物理存放位置 提高性能
通过表空间指定数据占用物理磁盘空间
create table eduttion(stff_id int,grate_school varchar(64) ) tablespcae human_resource #指定表空间

表:二维数组集合
行存储 适用于OLTP便于点查询 只需要查询所需要列信息便于大量写操作
列存储 适用于OLAP 便于分析类查询

临时表:会话临时表 事务级临时表
临时表为了存储临时会话或者 一个事务中需要的数据
当会话退出的时候 数据会清空但是表结构仍然存在
create global temporary table tablename{,,,,,,} 临时表关键词
on commit preserve rows;# 会话级临时表
on commit delete rows ; # 事务级临时表

nologing表 示指nologing关键字或者nologing表空间
nologing表不记录redo日志 redo记录修改后的数据 undo记录修改前的数据
1、日志量减少提高数据写性能
2、没有redo日志 数据库重启后无法重演恢复
3、适用于可靠性不是特别高的数据

分区 改善查询 增强可用性 增强维护

数据分布
GaussDB 100 数据分布是分散在所有DN上的 所以创建表时 需要指定分布列
create table student(id int,name char(8)) distribute by hash|replicatiton|List |Range
1、Hash 通过Hash算法分布

2、replication 每个DN都有一份全量

3、list 表数据通过list方式分布DN节点上

4、Range 通过range方式分布

视图 不保存数据 虚拟表 create view as selecr * from table 安全 便于查询
索引 explain 查看是否使用索引
唯一索引 多字段索引 部分索引 表达式索引

约束
not null 非空 ,unique/primary key 主键 ,foreign key 外键 ,check 检查约束 ,default 默认

事务
失败:rollback 回滚
成功: commit 提交事务

ACID 原子性 一致性 隔离性 持久性
数据不一致 1、脏读 事务二读取到事务一未提交的数据 2、不可重复读 3、幻影读
事务隔离级别 避免数据不一致的问题
1、序列化 串行方式逐个执行 缺点:并发下降
2、可重复读 事务开始 不允许其他事务修改
3、已提交读
4、未提交读

思考

【HCIA Gauss】学习汇总-数据库管理(数据库基本概念)-3的更多相关文章

  1. 【HCIA Gauss】学习汇总-数据库管理(数据库设计 范式 索引 分区)-7

    zsql user/pasword@ip:port -c "show databases" # 展示一条sql语句 spool file_path 指定输出文件 可以为相对路径 s ...

  2. 【HCIA Gauss】学习汇总-数据库管理-2

    数据库管理目标:稳定 安全 数据一致性 系统高性能 数据库管理员 数据库管理范围 :数据库管理对象1.物理设计工作 2.物理实现工作 对象是指 :数据库里 存储和指向数据的各种概念和结构的总称 对象管 ...

  3. 【HCIA Gauss】学习汇总-数据库管理(事务 权限 审计 OBDC JDBC)-6

    事务控制事务提交 commit事务回滚 rollback savepoint 用于事务设置保存点 ----> savepoint s1 / savepoint s2 rollback to sa ...

  4. 【HCIA Gauss】学习汇总-数据库管理(SQL语法 数据类型 函数)-4

    DDL data definition language 数据库定义语言 定义修改等DML data manipulation language 数据库操控语言 增删改 DCL data crontr ...

  5. 【HCIA Gauss】学习汇总-数据库管理(SQL语法 库表 索引操作)-5

    # 简单查询select * from table_reference # 创建表 create table TB(staff_id int primary key , course_name cha ...

  6. mysql之数据库基本概念(mysql学习笔记一)

    数据库系统   数据库管理系统(DBMS)+数据库(DATABASE)(+数据库管理员) DBS=dbms+db 定义: 大量信息进行管理的高效解决方案,按照数据结构来组织.存储和管理数据的仓库 关系 ...

  7. Symfony2学习笔记之数据库操作

    数据库和Doctrine让我们来面对这个对于任何应用程序来说最为普遍最具挑战性的任务,从数据库中读取和持久化数据信息.幸运的是,Symfony和Doctrine进行了集成,Doctrine类库全部目标 ...

  8. ABP 学习汇总

    本文背景 公司最近规划的新框架准备基于ABP来搭建,自从在阳铭博客看到ABP框架的介绍后,就一直持续关注着,但还没真正在实际项目中直接使用ABP,只是自己做了一些学习和Demo.ABP所用到的一些新技 ...

  9. mysql学习5:数据库设计

    mysql学习5:数据库设计 本文转载:https://blog.51cto.com/9291927/2087925:原创为天山老妖S 一.数据库设计简介 按照规范设计,将数据库的设计过程分为六个阶段 ...

随机推荐

  1. Win10访问共享文件夹如何取消用户名密码

    win10中,开启guest(来宾)账户的步骤是: 右击win10左下角Windows的图标->计算机管理->计算机管理(本地)->系统工具->本地用户和组->用户-&g ...

  2. 认领该应用 apk空白包签名 方法

    起因: apicloud开发的项目,上架应用宝市场,被要求做这个 解决方法: 下载签名工具,并解压缩.解压缩.解压后是两个文件夹,选择keystore签名工具. 下载地址: linux 签名工具(命令 ...

  3. 必备Docker命令

    Dockerfile常用指令 Docker常用操作指令 Docker管理指令 文章来源:https://macrozheng.github.io/mall-learning/#/reference/d ...

  4. [LeetCode] 227. Basic Calculator II 基本计算器 II

    Implement a basic calculator to evaluate a simple expression string. The expression string contains ...

  5. win7/win10 设置始终以管理员身份运行cmd窗口

    在桌面上找到cmd快捷方式图标,右键"属性" 4.选择"快捷方式",点击“高级” 5.勾选用管理员身份运行,点击"确定" 6.点击" ...

  6. 【vim小小记】vim的复制粘贴(包括系统剪贴板)

    1.vim常用复制粘贴命令 Vim的复制粘贴命令无疑是y (yank),p(paster),加上yy,P PS: vim有个很有意思的约定(我觉得是一种约定),就是某个命令的大小写都是实现某种功能,只 ...

  7. fwrite & fread 的使用

    每一次切换文件操作模式必须调用fclose关闭文件. 如果直接切换操作模式,文件将损坏(出现乱码)或操作失败. 在调用了fclose时,作为参数的文件指针将被回收,必须再次定义,因此最好将功能封装. ...

  8. Shell编程学习记录

    一.shell中单引号和双引号的区别: 1).单引号属于强引用,它会忽略所有被引起来的字符的特殊处理,被引用起来的字符会被原 封不动的使用,唯一需要注意的点是不允许引用自身: 2).双引号属于弱引用, ...

  9. 解决sublime text3运行PyQt5代码不能显示窗口的问题

    如题,在sublime中写了GUI代码,Ctrl+B能运行,但是就是不能显示窗口. 解决办法:  找到路径C:\Users\superlee\AppData\Roaming\Sublime Text ...

  10. Java线程同步类容器和并发容器(四)

    同步类容器都是线程安全的,在某些场景下,需要枷锁保护符合操作,最经典ConcurrentModifiicationException,原因是当容器迭代的过程中,被并发的修改了内容. for (Iter ...