【HCIA Gauss】学习汇总-数据库管理(数据库基本概念)-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、未提交读
思考
最新文章
- android studio 控制台中文乱码
- C#调用C和C++函数的一点区别
- android Gui系统之SurfaceFlinger(5)---Vsync(2)
- git config命令使用
- vc6命令行编译工程方法
- Sort List (使用归并排序的链表排序)
- Even Tree
- 由chkconfig 引发的联想——怎么查看程序是否已经安装/成功安装
- cocos2dx android运行Luac编译后的lua代码
- 愚蠢的遗留BUG
- bzoj 2959: 长跑
- 为多维数组添加一列以及reshape用法注意
- 微信硬件平台(八) 3-0ESP8266向微信服务器请求设备绑定的用户
- opencv2\core\cuda.hpp(106): error C2059: 语法错误:“常量”
- Eclipse使用之将Git项目转为Maven项目, ( 注意: 最后没有pom.xml文件的, 要转化下 )
- Java基础(2)面向对象和封装,对象的创建和使用、java对象的内存图
- 05_ssm基础(四)之Spring基础二
- UVA12888 【Count LCM】(莫比乌斯反演)
- SqlCommand和SqlDataAdapter的区别
- 【CS231N】4、神经网络
热门文章
- WebAPI.请求(Request)的参数(Parameter)里包含特殊字符(#等)的正确处理方式 从客户端xx中检测到有潜在危险的Request.Form值
- .Net Core控制台应用程序使用依赖注入、配置文件等
- docker+nginx部署静态网页(html)
- Influx Sql系列教程五:insert 添加数据
- 【转帖】从原理到应用,Elasticsearch详解
- typedefine 用法
- 【转】用chrome滚动截屏
- 图解javascript的this指向
- 后台传带引号(";)的数据需要注意
- 【转载】 C#中使用CopyTo方法将List集合元素拷贝到数组Array中