gpt4 book ai didi

java - 将数据存储为 blob 与 cassandra 中的列

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:53:35 25 4
gpt4 key购买 nike

我有很多事件的行数据。这些事件共享一些共同的标识符,但也有事件独有的数据。

由于 Cassandra 不允许在未索引的字段上使用 where 子句,为每个键创建一行是否有任何优势,或者将 json 数据存储在 blob 中是否更容易?

例子

表有一个按事件类型分区的键(事件类型,时间戳)

event_type click 可能有 ts:12345 page_uri: "ABC1234"user_id: "1235567"click_location: "1234,564"event_type keyboard_input 可能有 ts:1245 page_uri: "ABC345"words_entered: "foobar"

将其存储为包含行的表有什么好处吗:

event_type、ts、page_uri、user_id、click_location、words_entered

与表格

event_type, ts, blob

其中 blob 是其余数据的 json 编码映射。

最佳答案

我想到了将数据存储在列中的一些直接优势:

  1. 如果您确定突然需要通过另一个字段进行查询,您可以在以后添加一个新的索引。
  2. 您可以只更新特定字段而不更新整行。对于 blob,您需要读取和更新整个 blob。因此,在 blob 情况下可能会消除对不同字段的并发更新。
  3. 由于上面的第 2 点,您可以在每次更新时写入更少的数据。
  4. 如果不需要所有列,则每次选择可以读取较少的数据
  5. 上面的#3 和#4 可能会带来性能优势。

关于java - 将数据存储为 blob 与 cassandra 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37601118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com