数据库存储(中)
时间:2021-10-07
本文章向大家介绍数据库存储(中),主要包括数据库存储(中)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
日志结构存储方式
直接将日志信息存储在页中:
好处:
- 便于回滚
- 相比起直接insert、update和delete更为便捷
坏处:
读数据麻烦
数据库中tuple元数据的存储形式
- int、float与C等语言中的存储形式基本一致(长度基本固定)
- varchar,string等(header表示一些例如数据长度的信息,元数据,校验和如果在数据量比较大的情况下)
- Date等时间相关数据(从Unix epoch【1970.1.1】过去的秒、毫秒)
插眼:Triple E 754:工业界中定义int、double等数据类型在CPU表示形式的一种规范
有一段距离说明decimal和real在执行sql语句上的时间差异,引出关注使用类型的问题(看的感觉不是很懂,稍微记录一下)。
一个page存不下怎么处理
使用overflow page存储过长部分的数据,在page中存放指针的引用。
还有一种方法是不适用overflow page,而是使用外部磁盘文件甚至network storage。好像还提到我们不能够直接对这些存储进行修改(由于DBMS的保护),但是还是可以通过DBMS来修改这些数据。
事务模型
OLTP
不进行复杂的数据操作,只针对自己的相关的一小部分数据进行操作。
例子:用户购物
OLAP
有些类似于数据分析,可能要从已有的数据中分析出新的数据。
举例:检测在线人数
N array存储模型
好处:
- 适用于增、改和删
- 适用于需要整个tuple条目的搜索
弊端:
- 由于搜索或会加载整个page,如果搜索不需要整个tuple条目会带来一些不必要的条目的加载损失
Decomposition Storage Model(DSM 分解存储模型)
将单独的一个列储存在一个单独的page中。
好处:
- 减少搜索中的不必要的损耗
- 拥有更好的压缩性能
缺点:
- 每个列存在不同的page中,对于update、delete和insert不友好。
确定元素位置:
- 每个属性的长度固定,这样可以直接计算偏移查找对应的属性(大部分采用策略)
- 在每个列中额外维护一个id,但是会带来存储空间的浪费
原文地址:https://www.cnblogs.com/jamesnie/p/15375594.html
- 深入理解和应用display属性(二)
- Philip S.Yu 讲的广度学习到底是什么?
- Kubernetes服务网格(第10部分):服务网格API
- 刚刚,同程与艺龙宣布合并!去你的大数据!
- 从蓝光到4K,腾讯视频高码率下载背后的技术
- 从开发者的角度比较IAAS与PAAS
- 图灵机器人郭家:以语义技术为核心驱动力,让机器更好地理解世界
- 静态条码设支付上限,500元封顶,海外支付尚未通知
- 如何自动地将代码从Git平台部署至组件容器
- 聂卫平说过人工智能不会取代人类 只会让我们生活的更加美好
- 万达裁员遭人大教授怒怼:员工如告了 王健林赔不少
- 习题3.13
- 谷歌数据显示比特币年度搜索量排名位居前列
- 初学者指南OpenStack:基础
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 突击并发编程JUC系列-JDK1.8 扩展类型 LongAdder
- 利用tensorflow训练简单的生成对抗网络GAN
- 《Java从入门到失业》第三章:基础语法及基本程序结构(3.7):运算符(基本算数运算符、原码、反码、补码)
- 《Java从入门到失业》第三章:基础语法及基本程序结构(3.6):基本数据类型及字符集编码(字符编码和char型)
- 《Java从入门到失业》第三章:基础语法及基本程序结构(3.6):基本数据类型及字符集编码(整型、浮点型、布尔型)
- 多图详解Spring框架的设计理念与设计模式
- 《Java从入门到失业》第三章:基础语法及基本程序结构(3.2-3.5):标识符、关键字、注释、变量及常量
- 《Java从入门到失业》第三章:基础语法及基本程序结构(3.1):一个简单的例子
- 详解Java解析XML的四种方法
- 《Java从入门到失业》第四章:类和对象(4.6):类路径
- 《Java从入门到失业》第四章:类和对象(4.5):包
- 《Java从入门到失业》第四章:类和对象(4.4):方法参数及传递
- 《Java从入门到失业》第四章:类和对象(4.3):一个完整的例子带你深入类和对象
- 《Java从入门到失业》第四章:类和对象(4.2):String类
- 《Java从入门到失业》第三章:基础语法及基本程序结构(3.9):数组(数组基本使用、数组的循环、数组拷贝、数组排序、多维数组)