数据库的保存文件格式有哪些?

发布网友

我来回答

3个回答

懂视网

调研的几种数据库的行格式,代码没看,查的文档,可能具体实现并不一致。 几种格式的优缺点,还有待分析。 在oceanbase0.5中,实现的格式太简单,在一些场景下性能差,或是不太方便。 在oceanbase1.0中,现在我打算是写成一个通用的接口,可以以表为单位选择

调研的几种数据库的行格式,代码没看,查的文档,可能具体实现并不一致。

几种格式的优缺点,还有待分析。

在oceanbase0.5中,实现的格式太简单,在一些场景下性能差,或是不太方便。

在oceanbase1.0中,现在我打算是写成一个通用的接口,可以以表为单位选择需要的格式,这个有待讨论。

1.oracle

https://docs.oracle.com/cd/B28359_01/server.111/b28318/schema.htm#CNCPT1135

1

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

2

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

3

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) + 。。。

热心网友

数据保存下来的文件都是sql文件格式。
  sql是一种高级的非过程化的编程语言,sql文件其实和office
access文件差不多,sql是数据库服务器和客户端的连接重要工具,而access本机上用的比较多。
  sql文件作为数据库脚本文件,如果想要打开的话,需要现在电脑中安装sql
server,这个是专业的数据库软件,体积非常大!所以小编建议大家可以用数据库的查询分析器打开;也可以用最普通的记事本,方法就是鼠标右键点击sql文件图标,在打开方式中选择记事本就可以了。如果是老鸟的话,有特殊要求的话可以下载ultraedit、editplus等专业的文本编辑器支持编辑文本、十六进制、ascii
码,可以深入编辑sql文件。

热心网友

如果是自行开发的软件,其实可以随意使用任何扩展名的(当然也数据库结构也可以完全行自开发的),这要看作者意愿了,MER搜索到的解释是 电子表格/数据库数据交换格式;FileMaker、Excel及其他软件能识别,当然这个不一定准,说不定你看到的MER只是普通的MDB也说不定。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com