`
mmdev
  • 浏览: 12927360 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

列数据库的文件结构设计(笔记)

 
阅读更多

之前的毕业设计做了一个关于列数据库文件设计的课题,最近抽空回头看了一下那论文,当时觉得浪费了时间,现在想来这课题还是蛮有意义的。最终也通过代码实现了数据的列式存储,虽然大部分代码不是我写的,但至少把他弄懂了。以下内容仅用作学习笔记,可以看做是自己的功课温习,嘿嘿。

----------------------------------------------------------------------------------------------------

(1)列数据文件总体结构

列数据库的数据一般以文件的形式存储在磁盘中,每个表的每个字段的记录会存在不同的文件中,在进行数据的增删查改操作时需要进行文件的IO操作。在列数据库存储数据时,关系表中的数据将会按字段来分别存储,同一字段的数据段被存在同一个文件中,不同字段的数据段被存在不同文件中,如下图所示。


这样的存储方式的一个好处是:由于每个数据文件中的数据都是同一个表中的同一个字段,那么在进行向量化数据查改操作时只需要打开相关的数据文件进行数据读取,这样的话可以避免打开整个表的遍历,相对的减少了IO操作(IO操作在海量复杂数据中限制了查询效率的提升)。而传统关系数据库的查询则牵涉到打开整个表的操作,因此在进行海量数据的查询时IO消耗的时间将会相当明显,这也是抑制了数据查询性能的一个重要因素。

(2)列数据文件头结构

数据文件主要是以4K为单位进行分页,文件头占据了开头的一页,在页号一项中记录为0。也就是文件头是占据了4K空间的数据块,如下图所示是文件头的主要内容项布局。


对于定长字段和不定长字段,各自的存储方式是不一样的。对于定长字段,记录是按先后插入的顺序在数据页中有序往后存储;程序可以读取文件头中的字段实际大小,存储空间大小,数据项数量等信息来快速查询数据。而对于不定长字段,数据页中多了一个关于字段的偏移地址信息;程序将需要通过文件头的信息和偏移地址来有序读取数据页中的数据。




分享到:
评论

相关推荐

    列数据库的文件结构设计

    之前的毕业设计做了一个关于列数据库文件设计的课题,近抽空回头看了一下那论文,当时觉得浪费了时间,现在想来这课题还是蛮有意义的。终也通过代码实现了数据的列式存储,虽然大部分代码不是我写的,但至少把他弄懂...

    数据库系统工程师学习笔记

    后者接收数据库存储结构和存取方法定义,在存储设备上创建相关的数据库文件,建立物理数据库。  数据操纵子语言,通常有这样几种操作:查询、插入、删除、修改。后三种应该可以都纳入更新的范畴。

    数据库笔记.docx

    数据库笔记.docx2017上半年 在设计软件的模块结构时,(26)不能改进设计质量。 (26)A.尽量减少高扇出结构 B.模块的大小适中 C.将具有相似功能的模块合并 D.完善摸块的功能 在面向对象方法中,多态指的是(27) (27)...

    互联网数据库 笔记(自考)

    其缺陷是:(数据冗余性 数据不一致性 数据联系弱)3、数据库阶段的特点:采用复杂的数据模型表示数据结构,有较高的数据独立性(数据结构分成用户的逻辑结构、整体逻辑结构和物理结构三级),数据库系统为用户提供方便的...

    库存物资管理系统数据库设计.doc

    为了充分地了解用户可能提出的要求,在调查研究 之前,要做好充分的准备工作,要明确调查的目的、调查的内容和调查的方式 想要把收集到的信息(如文件、图表、票据、笔记等)转化为下一设计阶段可用形式 的信息,...

    里面node以及mongodb数据库学习的一些笔记和练习.zip

    数据库和传统的关系型数据库差不多的概念,每个数据库含有多个集合,每个数据库最后会作为文件储存至服务器中,另外还有一些特殊的数据库进行了保留 (2)集合(table): 在MongoDB中,数据是以文档的形式存储的,...

    自考 数据结构笔记及各章要点及自学方法

    数据结构笔记及各章要点及自学方法 压缩文件中包括以下内容: 自考《数据结构》各章要点.doc 《数据结构》复习指导.doc 数据结构”自学方法指导

    数据库系统概念知识点笔记1

    第1章 数据库基本概念第2章 关系数据库第4章 中级SQL第6章 形式化关系查询第7章 数据库设计和E-R模型第8章 关系数据库设计第10章 存储和文件结构第1

    数据库笔记,包括mysql,mongodb,redis数据库.zip

    数据库和传统的关系型数据库差不多的概念,每个数据库含有多个集合,每个数据库最后会作为文件储存至服务器中,另外还有一些特殊的数据库进行了保留 (2)集合(table): 在MongoDB中,数据是以文档的形式存储的,...

    oracle数据库笔记

    第二讲 Oacle数据库体系结构 14 一. 物理存储结构——(数据库载体) 14 1.数据文件(.DBF) 14 2.日志文件 (.Log) 14 1) 日志文件 15 2) 数据库工作模式 15 3.控制文件(.ctl) 15 4.参数文件 (.ora) 16 二. ...

    Oracle 12c体系结构学习实验笔记

    Oracle 12c数据库实例启动和关闭详解.pdf Oracle 12c利用Create database手工创建数据库.pdf Oracle 12c体系结构(一).pdf Oracle 12c体系结构(二).pdf Oracle 12c实验-段和高水位线.pdf Oracle 12c实验-管理表...

    MySQL笔记整理.doc

    数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。由于资料集中管理,电脑的资源便可由使用者共享,而且资料的保密及处理的一致性更容易达成...

    Java面向对象程序设计笔记

    Java面向对象程序设计笔记: 目录----非原创,上课的时候老师给的资料哦 第一章 Java 前凑 3 1. Java前凑 3 Java产生的目的 3 Java的诞生的历史 3 2.Java语言的特点 3 简单性 3 面向对象 3 网络技能 3 3....

    数据库原理有答案.doc

    " " " " " "参考答案: " " "数据抽象:即是将数据抽象化、逻辑化,使用户不必了解数据库文件的物理存 " " "储 " " "结构、存储位置和存取方法等细节,即可存取数据库。在数据库系统中,有三 " " "种级 " " "别的...

    JSP教育在线学习系统myeclipse开发mysql数据库web结构java编程

    JSP现代教育在线学习系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 二、功能介绍 (1)管理员权限具有以下功能: ①学生管理:对...

    数据库原理学习笔记(一)

    文章目录数据库系统的基本概念(一)数据库系统的目的(二)*数据的存储方式在文件处理系统中存储组织信息的主要弊端(三)数据库与数据库管理系统定义(四)*数据库管理系统(DBMS)的主要特性(五)常见的数据库...

    Oracle 10g 学习笔记

    │ 为什么oracle 10G以后数据库文件不能够装在同一目录下?.mht │ 关系型数据库范式 - lvhuiqing的专栏 - CSDN博客.mht │ 关系型数据库范式 - lvhuiqing的专栏 - CSDN博客.mht.lnk │ 删除ORACLE用户后,空间不...

    Oracle 认证学习笔记

    oracle使用共享内存区和后台进程来管理其内存和文件结构。 1.1.1 系统全局区(sga) 一、系统全局区的大小可以通过如下语句查询: sql> select * from v$sga; name value -------------------- ---------- ...

    244ssm-mysql-jsp 在线读书与分享论坛.zip(可运行源码+数据库文件+文档)

    1、管理员 ... 阅读分享论坛服务网站系统是一款基于BS架构模式开发的线上图书宣传系统,采用SSM框架开发,MySQL作为数据库,服务于广大民众的阅读服务网站系统。 关键词:阅读分享论坛,SSM框架,B/S结构

    Hibernate - 学习笔记

    使用Hibernate对数据进行操作时会牵涉到3种类型的文件:Java类(实体类),映射文件(test.hbm.xml),数据库的表结构(表结构的创建).从理论上说只要知道其中一个,另外两个就可以从知道的那个文件中生成出来,这就涉及到先...

Global site tag (gtag.js) - Google Analytics