当前位置: 首页 > 知识库问答 >
问题:

您如何调用DynamoDB和Cassandra的数据模型?

宫坚
2023-03-14

共有1个答案

景同
2023-03-14

在引入CQL之前,Cassandra更严格地遵循宽列存储数据模型,其中只有由行键标识的行,并包含排序的键/值列。随着CQL的引入,行被称为分区,可以通过聚类键将列分组到逻辑行中。

甚至在Cassandra3.0之前,CQL只是原始节俭数据模型之上的抽象,存储引擎中没有CQL行的概念。它们只是一组排序的列,其中包含一个复合键,该复合键由聚类键的串联值组成。本文给出了更多细节。现在存储引擎中有对CQL的本地支持,这使得CQL数据模型可以更有效地存储。

但是,如果您将CQL行视为同一分区中列的逻辑分组,那么Cassandra仍然可以被视为一个宽列存储区。在任何情况下,据我所知,没有另一个成熟的术语来描述这种数据库。

 类似资料:
  • 我在处理Cassandra时学到的第一件事是,您需要非常小心您的数据模型,因为Cassandr不支持联接、聚合等。因此,您可以根据查询对数据进行建模,使用广泛的去规范化等。 但是,假设我已经决定在Cassandra上运行Spark。Spark将允许对数据进行连接和聚合,以及不同的计算。 所以我的问题是,当在Cassandra中对我的数据建模并考虑到我将在其上运行Spark时,我需要改变我的模型以使

  • 主要内容:群集,键空间,Cassandra数据模型规则,数据建模目标Cassandra中的数据模型与RDBMS中正常情况完全不同。 我们来看看Cassandra如何存储数据。 群集 Cassandra数据库分布在运行的几(多)台机器上。 最外层的容器被称为包含不同节点的群集。 每个节点都包含一个副本,如果发生故障,副本将负责顶上。 Cassandra将节点以环形格式排列在群集中,并为其分配数据。 键空间 键空间(Keyspace)是Cassandra中数据的最外层

  • 我目前有一个应用程序,它将事件驱动的实时流数据持久化到一个列系列,该系列建模为: 每个帐户ID每X秒发送一次数据,因此我们每次收到事件时都会覆盖现有行。此数据包含当前实时信息,我们只关心最近的事件(不使用旧数据,这就是我们插入已经存在的键的原因)。从应用程序用户端-我们通过account_id语句查询选择。 我想知道是否有更好的方法来模拟这种行为,并查看了Cassandra的最佳实践和类似的问题(

  • 我正在将一个应用程序从Cassandra迁移到Dynamodb。在Cassandra上,我们使用了(entityName、TimeUUID)和DynamoDB的组合作为键,据我所知,我可以使用hash+range主键。 为了使Cassandra数据库具有相同的数据结构,我一直在考虑使用entityName作为散列,使用timestamp作为范围。然后,我认为时间戳可能不是唯一的:我说的是拐角情况,

  • 我是Cassandra数据建模的新手,如果可能的话,我需要在单行中容纳多维数据(是的,我知道Cassandra是柱状存储)。我的示例数据集(试图简化我的用例,忍受我的格式化) 时间戳、交易id、项目代码、用户id、支付方式 20130304221518,abcd,3,6,信用卡 20130304221519,efgh,4,5,现金配送 20130305180402,ijkl,4,5,现金交付 例如

  • 我正在研究一个用于存储时间序列的卡桑德拉数据模型(我是卡桑德拉新手)。我有两个应用程序:日内股票数据和传感器数据。 库存数据将以一分钟的时间分辨率保存。七个数据字段构建一个时间框架:符号、日期时间、开盘、高位、低位、收盘、成交量 我将主要通过符号和日期来查询数据。例如,给我2013年1月1日到2013年1月31日之间按日期时间排序的AAPL的所有数据。cassandra查询的建议是查询整列。所以你