一般在文档中描述数据库大小常用记录数作为主要指标。由于VBS物理数据的特殊存储结构,随着数据量增大,压缩率会越来越高。
在很少的数据量情况下大概需要占用相当于原始数据2倍的空间。10万行数据左右时,与原始数据大小持平。在此数据量之上,会逐渐低于原始数据所需的空间。
在VBS模型中,每个在原始数据的值只存储一次。因此,系统总是有最大的数据还原级别,即粒度是每个值。因为这不需要在逻辑schema中还原数据,所以产生的结构对于非技术用户来说也是易读的。
数据值存储在根据类型区分的有序集合中。比如整数在一个集合,字符串在另一个集合。这样优化了数据访问时的操作流程。由于数据值根据其含义抽象化,所以没必要像列式存储那样,需要在一个数据存储中建立复杂的序列和关联集合。CDBMS实现了只有一套用于恢复数据行格式的关联信息库
[ 112 评论 ] ( 4882 次浏览 )
Correlation database是在一个分析系统中,不依赖模型,且有效处理机动查询需求的数据管理系统。它是由数据架构师Joseph Foley于2005年设计。此人在不同行业的数据仓库和商务智能领域有着30于年的开发和设计经验。
不同于关系数据库的基于行存储或列存储,Correlation database使用基于值的存储系统(VBS)。在这样的架构中,每个值只存储一次,且自动生成索引来维护所有值的上下文关系。
Correlation DBMS的结构
因为CDBMS对每条相同的记录只存储一次,实际的数据大小远小于关系型的行式和列式数据库,在没有压缩的情况下,超过30G的数据时,CDBMS的实际数据量比原始数据小。
CDMS中使用的VBS模型由3种被存储和管理的主要对象集。
数据字典
索引和数据链路集
包含存储数据的实际数据记录
在VBS模型中,实际数据中的每条记录只存储一份,因此数据需要在记录级规范化。这就省去了在逻辑schema中规范化的操作。
数据记录根据类型被存储在一个有序集合当中。例如所有整型的在一个集合,字符串的在一个集合等等。这样优化了对数据的存取处理过程。
除典型的记录值之外,记录值存储包含一个特殊数据类型用于存储表间的关系。这个功能类似于关系数据库中的外键结构,但对于CDBMS,这种关系记录在字典表并且以一条记录形式存储,使得区分表间关系完全自动化。
数据字典中包含关于表的典型元数据、统计数据,以及在schema中的字段和值出现次数。它也维护逻辑表之间关系的信息。索引和链接存储包含所有用于定位一条记录内容的数据,这条记录来自数据存储中的有序值的集合。
[ 738 评论 ] ( 5539 次浏览 )
尽管行式关系数据库目前是建立数据仓库的最常见方案,但他的结构与理想状态有差距。基于行的关系数据仓库系统(RDMBS)进行设计时会遇到一些困难。特别是磁盘空间和I/O瓶颈的情况下,维护起来会比较不便。并且要求用户设计时要在灵活性和性能之间权衡。
数据仓库设备被用来解决这些不足。他们是RDBMS中定制化的硬件设备。与RDBMS有着相同的优劣,但软硬结合可以在相对低投入的情况下提高查询速度。不过数据仓库专用设备仍然需要全局规划、设计和管理,依然面临RDBMS的问题。
列式数据库(Column-Oriented DBMS)也像RDBMS需要最终用户进行需求分析、数据库设计和存储设计。也面临追加和读取时在性能方面的矛盾。但是CDBMS可以节约不少空间和磁盘I/O。
VBS克服了以上2种方案的限制,同时提供最佳的性能和灵活性。VBS是一个占用空间小且高效的相关性数据库,并且数据结构在任何时候调整都不用对整个数据仓库进行重构。
下表列出了这三种系统的对比

[ 471 评论 ] ( 2925 次浏览 )
| 1 |





