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

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

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

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

思考

最新文章

  1. android studio 控制台中文乱码
  2. C#调用C和C++函数的一点区别
  3. android Gui系统之SurfaceFlinger(5)---Vsync(2)
  4. git config命令使用
  5. vc6命令行编译工程方法
  6. Sort List (使用归并排序的链表排序)
  7. Even Tree
  8. 由chkconfig 引发的联想——怎么查看程序是否已经安装/成功安装
  9. cocos2dx android运行Luac编译后的lua代码
  10. 愚蠢的遗留BUG
  11. bzoj 2959: 长跑
  12. 为多维数组添加一列以及reshape用法注意
  13. 微信硬件平台(八) 3-0ESP8266向微信服务器请求设备绑定的用户
  14. opencv2\core\cuda.hpp(106): error C2059: 语法错误:“常量”
  15. Eclipse使用之将Git项目转为Maven项目, ( 注意: 最后没有pom.xml文件的, 要转化下 )
  16. Java基础(2)面向对象和封装,对象的创建和使用、java对象的内存图
  17. 05_ssm基础(四)之Spring基础二
  18. UVA12888 【Count LCM】(莫比乌斯反演)
  19. SqlCommand和SqlDataAdapter的区别
  20. 【CS231N】4、神经网络

热门文章

  1. WebAPI.请求(Request)的参数(Parameter)里包含特殊字符(#等)的正确处理方式 从客户端xx中检测到有潜在危险的Request.Form值
  2. .Net Core控制台应用程序使用依赖注入、配置文件等
  3. docker+nginx部署静态网页(html)
  4. Influx Sql系列教程五:insert 添加数据
  5. 【转帖】从原理到应用,Elasticsearch详解
  6. typedefine 用法
  7. 【转】用chrome滚动截屏
  8. 图解javascript的this指向
  9. 后台传带引号(")的数据需要注意
  10. 【转载】 C#中使用CopyTo方法将List集合元素拷贝到数组Array中