我有很多事件的行数据。这些事件共享一些公共标识符,但也具有事件所特有的数据。
既然Cassandra不允许在没有索引的字段上使用where子句,那么为每个键创建一行是否有优势,或者将json数据存储在blob中是否更容易?
例子
表有一个按事件类型分区的键(事件类型,时间戳)
event_type click
可能有< code > ts:12345 page _ uri:" ABC 1234 " user _ id:" 1235567 " click _ location:" 1234,564 " event _ type < code > keyboard _ input 可能有< code > ts:1245 page _ uri:" ABC 345 " words _ enter:" foobar "
将其存储为包含行的表有什么好处吗?
event_type,ts,page_uri,user_id,click_location,words_entered
vs一张桌子
事件类型,ts,blob
其中blob是其余数据的json编码映射。
我想到了将数据存储在列中的一些直接优势:
我用Spring Data Cassandra 2.2.1开发了一个新的应用程序,想在Cassandra 2.1.9服务器上运行它(旧的,我知道)。但是我们得到了错误 Spring数据卡桑德拉手册声称Spring数据2.2.1至少需要卡桑德拉2.1,所以这应该有效,但它没有。我们包含的唯一特定于卡桑德拉的依赖项是 我怎样才能让这个工作?
我使用的是spring数据cassandra,需要使用jpa映射一个字段,在cassandra中,该字段的类型为
我正在创建一个用于审计我的web应用程序的应用程序。所以我想在CASSANDRA db中存储所有审计日志,数据不是预定义的,我们要存储到db中的内容,基本上应该存储到一个无模式的db中。那么我们如何将它存储到卡珊德拉。请帮帮我。
卡桑德拉如何在内部存储空值?它是否占用任何存储空间?我正在编写一个应用程序,该应用程序使用具有许多列(100s)的表来表示不同类型的数据,因此列具有诸如“text1”,“text2”,“number1”,“number2”等名称,然后有一个外部JSON架构映射哪个列表示特定数据类型的什么值。因此,对于某种数据类型,许多列可能具有空值,并且我无法找到有关空值将占用的存储空间(如果有)的任何具体信息。
我目前在cassandra中有一个名为macrecord的表,类似于以下内容: 在这种情况下,我想不出其他解决方案,只有在macadd值重复的情况下删除整行,然后插入具有更新时间戳的新行。 是否有更好的解决方案在macadd值重复时更新时间戳,或者在我的原始表中只有macadd是主键的范围内查询时间戳值的替代方法。
我正在尝试使用Cassandra 2.1升级到Spring Data Cassandra 1.5. x的Spring Boot 1.5,但出现启动错误: 未能实例化[org.springframework.data.cassandra.mapping.CassandraMappingContext]:工厂方法“cassandraMapping”引发异常;嵌套异常为java.lang.NoClass