hdfs 列式存储和行式存储的区别

hdfs 列式存储和行式存储的区别,第1张

列式数据库是将同一个数据列的各个值存放在一起。插入某个数据行时,该行的各个数据列的值也会存放到不同的地方。

列式存储: 每一列单独存放,数据即是索引。

只访问涉及得列,如果我们想访问单独一列(比如NAME)会相当迅捷。

一行数据包含一个列或者多个列,每个列一单独一个cell来存储数据。而行式存储,则是把一行数据作为一个整体来存储。

在HANA的世界中,并不是只存在列式存储,行式存储也是存在的。

各自的优缺点:

详细对比:

列式存储(Columnar or column-based)是相对于传统关系型数据库的行式存储(Row-basedstorage)来说的。简单来说两者的区别就是如何组织表。1)行存储的写入是一次完成。如果这种写入建立在 *** 作系统的文件系统上,可以保证写入过程的成功或者失败,数据的完整性因此可以确定。

2)列存储由于需要把一行记录拆分成单列保存,写入次数明显比行存储多(意味着磁头调度次数多,而磁头调度是需要时间的,一般在1ms~10ms),再加上磁头需要在盘片上移动和定位花费的时间,实际时间消耗会更大。所以,行存储在写入上占有很大的优势。

3)还有数据修改,这实际也是一次写入过程。不同的是,数据修改是对磁盘上的记录做删除标记。行存储是在指定位置写入一次,列存储是将磁盘定位到多个列上分别写入,这个过程仍是行存储的列数倍。所以,数据修改也是以行存储占优。

网站。

数据库管理系统。

数据库。一个DBMS通常接管多个数据库,因为网站需要,你不可能只有一个数据库。。

数据库的表。

数据库的表的行和列。它们只存在于关系型数据库中。你可以把列看成是特定对象的属性,而行则代表了每个特定对象。矩阵学过吧,类比理解那个行列。数据库的行和列是密不可分的。

举个例子:ni = {"name":"Xiaoming", "age":100}

这里,你就是一个对象,代表一行。这一行的 每一列都代表了你的 一个属性,分别是 name, age.


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存