• 【HCIA Gaussdb】学习汇总-数据库管理(数据库基本概念)-3


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

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

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

    数据库连接和会话
    数据库连接: 物理层面的通信连接,指的是一个通过网络建立客户端和专有服务器或调度器的网络连接
    数据库会话: 客户端和数据库之间通讯的逻辑概念 上下文:位于服务器端 记录了本次连接客户端机器的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、未提交读

    思考

     

     

  • 相关阅读:
    浅谈PHP7新特性
    TP5与TP3.X对比
    深入源码理解Spark RDD的数据分区原理
    OpenGL的一些基础概念
    关于Spark RDD 的认识
    Ubuntu安装Cloudera Manager以及CDH5.15.2
    小甲鱼零基础汇编语言学习笔记第六章之包含多个段的程序
    小甲鱼零基础汇编语言学习笔记第五章之[BX]和loop指令
    机器学习入门之决策树算法
    机器学习的基本概念
  • 原文地址:https://www.cnblogs.com/oscarli/p/12053080.html
Copyright © 2020-2023  润新知