数据库行存储格式
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了数据库行存储格式,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2344字,纯文字阅读大概需要4分钟。
内容图文
![数据库行存储格式](/upload/InfoBanner/zyjiaocheng/556/5be9bb422efb47729a1f83bed9d8789f.jpg)
调研的几种数据库的行格式,代码没看,查的文档,可能具体实现并不一致。 几种格式的优缺点,还有待分析。 在oceanbase0.5中,实现的格式太简单,在一些场景下性能差,或是不太方便。 在oceanbase1.0中,现在我打算是写成一个通用的接口,可以以表为单位选择
调研的几种数据库的行格式,代码没看,查的文档,可能具体实现并不一致。
几种格式的优缺点,还有待分析。
在oceanbase0.5中,实现的格式太简单,在一些场景下性能差,或是不太方便。
在oceanbase1.0中,现在我打算是写成一个通用的接口,可以以表为单位选择需要的格式,这个有待讨论。
1.oracle
https://docs.oracle.com/cd/B28359_01/server.111/b28318/schema.htm#CNCPT1135
rowheader至少3个字节
column length 1个字节,column 可以存储<=250个字节
column length 3个字节,column 可以存储>250个字节
如果不是行尾部的NULL,只有column length,没有column value
如是行尾部的NULL,column length, column value都不存
新加的列放在row的尾部
2.mysql innodb格式
http://hedengcheng.com/?p=127
null bitmap + column value
column value根据类型由定长和不定长的区别,如果是不定长,则格式为(size + value),size表示数据的长度,可以为1,2,3,4个字节。
3.PostgreSQL格式
http://sydney.edu.au/engineering/it/~info3404/lectures/02adv_RowFormats.pdf
null bit map: (|columns| + 7)/8 个字节
OID:4个字节,用来表示PSQL支持的objects
RowData=FixColumns + VarColumns:
FixColumns:直接存储+补齐
VarColumns:varattrib+userdata+aligned
varattrib:4字节长度(2个位表示压缩或TOAST flags)
4.SQL server 2005
http://sydney.edu.au/engineering/it/~info3404/lectures/02adv_RowFormats.pdf
rowheader:4个字节
2个表示record metadata
2个指向后面的BitMap
fixed-length data
null bit mpa: 2+((|columns| + 7)/8)个字节 (2个字节表示列数)
variable-length column data: 2+(Num_variable_cols * 2) + max_var_size (2个字节表示列数,每个列用2上字节表示colun value的offset)
versioning tag: (可选的)
5.oceanbase当前memtable的格式
SPARSE
Row Data + 行结束符
RowData = (TypeAttr + Value + column id) + 。。。
6.oceanbase当前cs sstable当前使用的格式
DENSE_DENSE
rowkey data + 行结束符 + row value + 行结束符
rowkey data = (TypeAttr + value) + …
rowvalue data = (TypeAttr + value) + …
7.oceanbase当前ups sstable当前使用的格式
DENSE_SPARSE
rowkey data + 行结束符 + row value + 行结束符
rowkey data = (TypeAttr + value) + …
rowvalue data = (TypeAttr + Value + column id) + 。。。
原文地址:数据库行存储格式, 感谢原作者分享。
内容总结
以上是互联网集市为您收集整理的数据库行存储格式全部内容,希望文章能够帮你解决数据库行存储格式所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。