问题标签 [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 投票
7 回答
34456 浏览

cassandra - 为什么很多人将 Cassandra 称为面向列的数据库?

在互联网上阅读了几篇论文和文档,我发现了许多关于 Cassandra 数据模型的相互矛盾的信息。有许多人将其识别为面向列的数据库,其他人将其识别为面向行的数据库,然后将其定义为两者的混合方式。

根据我对 Cassandra 如何存储文件的了解,它使用 *-Index.db 文件访问 *-Data.db 文件的正确位置,其中存储了布隆过滤器、列索引,然后是所需的行。

在我看来,这是严格面向行的。有什么我想念的吗?

0 投票
4 回答
16728 浏览

cassandra - Cassandra 是面向列的还是列式数据库

列式数据库应该将一组列存储在一起。但是 Cassandra 按行存储数据。SS Table 将保存多行数据映射到其对应的分区键。所以我觉得 Cassandra 是一个像 MySQL 一样的行明智的数据存储,但还有其他好处,比如“宽行”,每一列不一定都存在于所有行中,当然它在内存中。如果我错了,请纠正我。

0 投票
1 回答
5077 浏览

cassandra - Cassandra 是面向列的还是键值存储?

众所周知,Cassandra 是面向列的数据库。但是他们的一些讨论仍在进行中,要么是键值对存储,要么是面向列的数据库。请证明 Cassandra 是面向列的还是键值对存储?

我们怎么知道的,请解释一下。

先谢谢了。

0 投票
2 回答
472 浏览

cassandra - 使用宽列存储构建复合主键是否正确?

HBase 和 Cassandra 构建为宽列存储,使用行和列的概念。

一行由一个类似于RDBMS中的主键概念的键和一个若干列组成的值组成

表示可以如下:

在应用程序层是否正确,构建组合主键以允许快速迭代并置的行。

这可以表示如下。

name从 移到Value并且Key只有Value一个列名value

0 投票
2 回答
13056 浏览

cassandra - 比较 Cassandra 结构与关系数据库

几天前,我读到了 NoSQL 的宽列存储类型和专门的 Apache-Cassandra。

我的理解是 Cassandra 包括:

一个键空间(如关系数据库中的数据库)并支持许多列族或表(与关系数据库中的表相同)和无限行。

来自 Stackoverflow 标签:

宽列存储是一种键值对数据库。它使用表、行和列,但与关系数据库不同,列的名称和格式在同一个表中的行与行之间可能会有所不同。

在 Cassandra 中,所有行(在表中)都应该有一个行键,然后每个行键可以有多个列。我读到了关系数据库和 NoSQL (Cassandra) 在实现和存储数据方面的差异。

但我不明白结构之间的区别:

想象一下我有一个表(或 Cassandra 中的列族)的场景:

当我执行这样的查询(CQL)时:

如您所见,它给了我结果:

因此,我使用以下查询在关系数据库(MS SQL)中执行上述场景:

结果是:

我知道 Cassandra 支持动态列,我可以通过以下方式执行此操作:

但它在关系模型中可用,例如在 mssql 中,上面的代码也可以实现。就像是:

我看到的是第一次选择和第二次选择结果是一样的。在 Cassandra 中,他们只是将行键(姓氏)作为独立对象提供,但它与 mssql(以及所有关系数据库)中的唯一字段(如 ID 或文本)相同,我看到 Cassandra 中的列类型是静态的(在我的例子中varchar)不像它在 Stackoverflow 标签中描述的那样。

所以我的问题是:

  1. 我对卡桑德拉的想象有什么误解吗?!

  2. 那么两种结构有什么不同呢?!我告诉你结果是一样的。

  3. 是否有任何特殊场景(类似 JSON)无法在关系数据库中实现但 Cassandra 支持?(例如,我知道 Cassandra 不支持嵌套列。)

感谢您的阅读。

0 投票
0 回答
204 浏览

database - 键值与宽列数据库

我想知道持久键值数据库和宽列数据库之间的区别。我知道在两个数据库中,您都通过键检索单个值,那么值的类型之间有什么区别?

谢谢!

0 投票
1 回答
429 浏览

pandas - 在 pandas hdf5 中保存数据时的宽格式与长格式

熊猫数据框通常以长(很多行)或宽(很多列)格式表示。

我想知道哪种格式在保存为 hdf 文件 ( df.to_hdf) 时读取速度更快并且占用的内存更少。

是否有一般规则或某些情况下应首选其中一种格式?

0 投票
1 回答
244 浏览

cassandra - 过滤 cassandra 宽行中的键值对

我正在尝试使用 cassandra 对具有许多传感器(> 50k)的时间序列数据进行建模。由于我想同时对多个传感器进行过滤,我认为使用以下(宽行)模式可能是合适的:

如果每个传感器值都是 RDBMS 中的一列,我的查询理想情况下如下所示:

翻译成我的 cassandra 模式,我假设查询可能如下所示:

我现在有两个问题:

  1. cassandra 告诉我,我只能在传感器列上过滤一次:

如果传感器包含 Equal,则传感器不能受多个关系的限制

  1. 显然,价值过滤目前没有意义。我不知道如何在查询中表达传感器和值之间的关系,以便过滤同一(宽)行中的多个列。

我知道第一个问题的解决方案是使用 CQL 的IN子句。然而,这并不能解决第二个问题。

这种情况甚至适合 cassandra 吗?

提前谢谢了。

0 投票
2 回答
79 浏览

mysql - 大型数据集使用哪个数据库引擎

我正在处理一项分析任务,我们从大学图书馆获得了包含近 300.000.000 行的部分数据集。

每行包含:

  • ID
  • 日期
  • 所有者
  • 最后期限
  • 离开日期
  • 登记日期

我把所有这些都放在一个 MySQL 表中,然后我开始查询它以用于我的分析任务,但是简单的查询 ( SELECT * FROM table WHERE ID = something) 需要 9-10 分钟才能完成。所以我为所有列创建了一个索引,这使它明显更快~ 30 秒。

所以我开始阅读类似的问题,人们建议切换到“宽列存储”或“搜索引擎”而不是“关系”。

所以我的问题是,用于这些数据的最佳数据库引擎是什么?

0 投票
1 回答
44 浏览

cassandra - Cassandra 分区问题

我正在使用具有数十亿条记录的 cassandra db,并且我想存储按日期分组的数据。问题是我应该为用户查询具有不同时区的记录,但它按 GMT 将数据存储在分区键中。为所有时区保存不同的日期字段并创建大量视图是否正确?这会将 db 扩展到巨大的大小。