问题标签 [wide-column-store]

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 回答
21789 浏览

rdbms - 什么是宽列存储?

谷歌搜索定义要么返回面向列的数据库的结果,要么给出非常模糊的定义。

我的理解是,宽列存储由由行和列组成的列族组成。所述系列中的每一行都一起存储在磁盘上。这听起来像是面向行的数据库存储数据的方式。这让我想到了我的第一个问题:

宽列存储与常规关系数据库表有何不同?这是我的看法:

这张来自Database Internals的图片看起来就像两个常规表:

两个列族、内容和锚点

我对不同之处的猜测来自这样一个事实,即“多维地图”在侧面宽列存储中被提及。所以这是我的第二个问题:

宽列存储是否从左到右排序?意思是,在上面的示例中,行是先按 排序Row Key,然后按 排序Timestamp,最后按Qualifier?

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 投票
3 回答
25 浏览

r - R数据集从长到宽 - 在特定条件下

我想通过ID将一个长且按时间顺序排列的数据集转换为一个宽但按时间顺序排列的数据集让我们看一个例子:

ID 产品 日期
1 自行车 2000 年 1 月 1 日
1 2000 年 2 月 1 日
2 2000 年 15 月 2 日
2 座位 2000 年 17 月 2 日
1 计时器 20/2/2000

进入下表:

ID 第一 第二 第三 ETC
1 自行车 计时器
2 座位

不得更改所购买产品的顺序。

你们能帮帮我吗?

非常感谢!

0 投票
1 回答
135 浏览

amazon-web-services - 如何通过 shell 访问 Amazon Keyspaces?

我尝试cqlsh在 AWS shell 中编写,但它没有返回任何输出。我参考了这个教程

输出:-bash: cqlsh: command not found

0 投票
1 回答
55 浏览

r - 计算宽格式数据表行的权重

我有一个非常大的宽格式数据表,在这里给你一个简短的例子:

现在我需要为每一行计算权重,这意味着:每个行条目除以整行的平均值。现在两种结束格式对我来说是可能的。权重要么在同一个表中,要么我们创建一个新的权重表dt.weights并将权重保存在那里。

版本 1:将它们保存在同一个表中dt.test

在我的数据表中,将 weight-row 保存为s1after row s1,即s1W一个 weight-row s2Wafter rows2和一个 weight-row s3Wafter 。s3

版本 2:将它们保存在新表中dt.weights

这应该看起来和以前一样(宽格式),但是用权重替换股票:

这怎么行?的宽格式dt.testdt.weights应该改变。

编辑:我的数据的一小部分:

我从你那里得到的解决方案(每行的权重两次):

在此处输入图像描述

0 投票
0 回答
17 浏览

cassandra - 列式/面向列的数据库与宽列/列族数据库

最近我对 Cassandra 感到非常困惑,因为大多数在线资料甚至 AWS 和 Google 都将其描述为柱状数据库。但实际上它是基于行的分区数据库。现在一切对我来说都是有意义的:那么所有特征都是

  1. 针对外来连接进行了优化
  2. 聚合多行几列/单列聚合
  3. 仅逐列扫描,而不是基于行的数据库

对于 Cassandra AKA 宽列/列族数据库仍然有效或正确。如果不是,它们的真正特征是什么?写性能?另外,我真的需要一个真正的列式数据库示例来研究?(与 Ca​​ssandra 不同,数据存储在不同的列块中)有人可以帮忙吗?困扰了我很久。提前致谢! 在此处输入图像描述