问题标签 [column-oriented]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1192 浏览

arrays - 比较 ClickHouse 行中的两个数组

在 ClickHouse 中比较两个数组的任何选项?

有两列colAcolB每列都包含一个数组。

如果有任何算法比较ClickHouse表中每一行的数组并将colA值设置为如果数组相等,如果数组不相等?colBcolC10

例如:

0 投票
1 回答
44 浏览

hadoop - Hadoop权威指南的面向列的格式章节中的序列顺序?

Hadoop:权威指南第 4 版的第 137 页中,它讨论了面向列的格式文件,并显示了下面的图片。

在此处输入图像描述

在 RCFile 中,为什么数字的顺序是1,4,2,5,3,6,7,10,8,11,9,12而不是1,4,7,10,2,5,8,11,3,6,9,12

0 投票
2 回答
2749 浏览

cassandra - 列式存储:Cassandra 与 Redshift

像 Cassandra 这样的 NoSQL 数据库上下文中的列式存储与 Redshift 中的列式存储有何不同。如果 Cassandra 也是列式存储,那么为什么不将其用于 Redshift 等 OLAP 应用程序?

0 投票
1 回答
280 浏览

hbase - Columnar DB中“主键是数据”的含义是什么

在研究面向列的数据库时,我多次阅读“主键是数据”。(例如,在面向列的 DBMS中)

我认为我可以按值随机访问任何单元格(在某个列中),因为值(数据)已经被索引为主键。

但是在我将超过 3M 行放入 HBase 后,HBase shell 命令

超过3秒...

(随着越来越多的行被放置,它变得越来越慢......)

'win'or'lose'是该列的两个可能值,cf:status并且只有 1 行的值为'win'.

我可能误会了...

面向列的数据库中的“主键是数据”是什么意思?

谢谢你。

0 投票
1 回答
46 浏览

cassandra - 面向列的数据库如何将数据存储在磁盘中?

我正在浏览视频,它讨论了面向列的数据库并很好地解释了这些概念。但是,我没有从视频中得到的是,面向列的数据库如何将数据存储到磁盘中?或者

Cassandra 如何在磁盘中存储数据?我读过一个类似的问题:为什么很多人将 Cassandra 称为面向列的数据库?,但接受的答案或任何答案都不能说明数据是如何存储在磁盘中的。

我了解它的好处以及面向列的数据库到底是什么。每列数据都存储在磁盘中的单独文件中。假设如下所示。说,表名:CarOwner和主键:Id

我行商店查找是直截了当的。您可以在每个时钟中扫描匹配过滤器,或者如果查询键被索引,则在引用索引后获取相应的块。

磁盘中的面向列的结构:“假设”

因此,如果我想获取给定 ID 的名称和汽车,我们是否维护并引用如下文件?

这是在列存储中查找键的方式吗?如果这是正确的,还有其他存储方式吗?

Cassandra 如何存储其数据?因为它也被归类为面向列的数据库。

0 投票
2 回答
506 浏览

database - Cassandra 遵循哪种分区技术?

我是 Cassandra 的新手,在阅读有关分区数据库(垂直和水平)的信息时,我很困惑,想知道 Cassandra 是否遵循水平分区(分片)或垂直分区技术?

此外,据我了解,由于 Cassandra 是面向列的数据库,因此它应该遵循垂直分区技术。如果不是这种情况,那么任何人都可以详细解释一下吗?

0 投票
1 回答
1227 浏览

column-family - 宽列 vs 列族 vs 列 vs 面向列的数据库定义

这些术语之间有很多混淆。我想通过我的理解,看看人们是否同意。我在网上看到了相互矛盾和错误的定义。

在我看来,宽列和列族数据库本质上是一回事。他们是

  1. 数据由一组键值对(每个称为列)在逻辑上组织;
  2. 由唯一的行键标识;
  3. 每行可以有可变的长度或列的定义和
  4. 一个接一个地存储在磁盘上。所以列族(宽列)表类似于关系数据库的表,因为它们仍然按行组织。

主要区别在于它们没有固定的列模式,并且显然不能进行表连接。

3 行(列族)的示例:每行具有不同的长度和/或列。但在磁盘上rowkey1的整个内容是一条连续的行,后面是类似于关系数据库的其他行

rowkey1 k1-v k2-v k3-v

rowkey2 k1-v k4v

rowkey3 k2-v k4-v k5-v

另一方面,术语 columnar DB 是相同的面向列的 DB。它们一次存储一列,而不是一次存储在磁盘上。它非常适合时间序列或任何多序列分析目的。每列具有相同类型的数据并存储在一起的事实允许更好的数据压缩作为额外的好处。

一个例子:

在此处输入图像描述

在磁盘上:

a:1 b:2 c:3 d:4

10:1 9:2 8:3 7:4

0 投票
1 回答
180 浏览

hbase - 列族是否在 HBase 的磁盘上并排放置?换句话说,HBase 是面向列的吗?

我试图了解 HBase 是否是面向列的数据库。我了解一行 HBase 的结构 - 它分为列族(它们是静态的,不会改变),每个列族可以有动态的列数:

现在它表明一个列族一起存储在磁盘上。所以 familyA:a1 familyA:a2 的 row:row-key1 列将一起存储在磁盘上。

但是 familyA:a1 familyA:a2 在两个不同行中的值呢?他们也是一个接一个地存储吗?我认为 HBase 是面向列的

我到处都看到 HBase 是Wide-Column store,它与面向列的相同吗?

0 投票
1 回答
354 浏览

column-oriented - 使用 docker-compose 将 mysql 作为元数据存储添加到 Apache-Druid

请问有人可以使用 docker-compose 文件将 MySql 用于 Druid 的元数据吗?我已经花了几个小时,但我仍然在 druid 代理组件中遇到错误。

我想使用 mysql 而不是 postgres 的原因是因为供应商的 docker 容器错误地连接到 Druid 的 postgres 服务器而不是它自己的服务器,并且更改 postgres 的端口没有帮助。

以下是我在“经纪人”中看到的错误。

0 投票
0 回答
16 浏览

hbase - HBase和TDengine的列存储有什么区别?

TDengine 官网的文档描述了 TDengine 如何将他们的数据存储到磁盘中。在“一级/二级压缩”中只提到了“存储在列中”。我想知道TDengine如何精确压缩基于列的数据存储在磁盘中,与HBase的面向列存储有什么区别?