列式数据库有哪些

列式数据库有哪些,第1张

列式数据是以列相关存储架构进行数据存储的数据库,主要适合与批量数据处理和即席查询。相对应的是行式数据库,数据以行相关的存储体系架构进行空间分配,主要适合与小批量的数据处理,常用于联机事务型数据处理。

不读取无效数据:降低 I/O 开销,同时提高每次 I/O 的效率,从而大大提高查询性能。查询语句只从磁盘上读取所需要的列,其他列的数据是不需要读取的。例如,有两张表,每张表100GB 且有100 列,大多数查询只关注几个列,采用列存储,不需要像行存数据库一样,将整行数据取出,只取出需要的列。磁盘 I/0 是行存储的 1/10或更少,查询响应时间提高 10 倍以上。

高压缩比:压缩比可以达到 5 ~ 20 倍以上,数据占有空间降低到传统数据库的1/10 ,节省了存储设备的开销。

当数据库的大小与数据库服务器内存大小之比达到或超过 2:1 (典型的大型系统配置值)时,列存的 I/O 优势就显得更加明显;

GBase 8a 分析型数据库的独特列存储格式,对每列数据再细分为“数据包”。这样可以达到很高的可扩展性:无论一个表有多大,数据库只 *** 作相关的数据包,性能不会随着数据量的增加而下降。通过以数据包为单位进行 I/O *** 作提升数据吞吐量,从而进一步提高I/O效率。

由于采用列存储技术,还可以实现高效的透明压缩。

由于数据按列包存储,每个数据包内都是同构数据,内容相关性很高,这使得GBase 8a 更易于实现压缩,压缩比通常能够达到 1:10 甚至更优。这使得能够同时在磁盘 I/O 和 Cache I/O 上都提升数据库的性能,使 GBase 8a 在某些场景下的运算性能比传统数据库快 100 倍以上。

GBase 8a 允许用户根据需要设置配置文件,选择是否进行压缩。在启用压缩的情况下GBase 8a 根据数据的不同特性以及不同的分布状况,自动采用相应的压缩算法,如:

行程编码(适用于大量连续重复的数据,特别是排序数据);

基于数据的差值编码(适用于重复率低,但彼此差值较小的数据列);

基于位置的差值编码(适用于重复率高,但分布比较随机的数据列)。

使用游标可以辅助实现一行一行地遍历某个数据库表中的所有行。

例如在Oracle数据库中:

declare

sname varchar2( 20); --声明变量

cursor student_cursor is select sname from student ; --声明指向表student的游标

begin

open student_cursor;--打开游标

fetch student_cursor into sname ;--获取游标的当前指向值,使游标指针往下移动

while student_cursor%found --判断游标指针是否指向某行记录,即是否已遍历完全表

loop--循环遍历

dbms_outputput_line ('学生姓名' ||sname );--输出当前遍历访问的行记录信息

fetch student_cursor into sname;--获取游标的当前指向值,使游标指针往下移动

end loop;--循环体结束

close student_cursor;--关闭游标,对应前面open *** 作

end;

怎么查看一个数据库表指定行得数据

create table product

(id int,

name varchar(10),

totol int)

insert into product values (1,'香蕉',100)

insert into product values (2,'橘子',67)

insert into product values (3,'葡萄',89)

insert into product values (4,'苹果',235)

insert into product values (5,'香蕉',77)

insert into product values (6,'芒果',34)

insert into product values (7,'葡萄',78)

insert into product values (8,'梨',24)

关系型数据库是许多有关联关系的结构化信息表的集合,一般的关系型数据库会存在很多表,在实际系统(如省分CRM)里大概有几千个表结构(实体),为什么会有这么多呢?因为数据表不能随意创建的,为了避免数据冗余,减少数据库的存储空间,开发者制定数据模型时普遍采用第三范式(3NF),设计出来的表结构性能好而且方便管理数据。而根据这些表结构衍生出来的记录条数就太多了,从数十万条记录到数千万行不等,我们每个用户的个人资料信息、业务使用记录等等就分布在这些记录表里面,这些大量的数据记录都是存储在磁盘上,通过数据库管理系统(DBMS)软件、如ORACLE 11i、MySQL对其进行管理、访问。

以上就是关于列式数据库有哪些全部的内容,包括:列式数据库有哪些、怎么一行一行的遍历数据库中的所有行、怎么查看一个数据库表指定行得数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9343253.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存