加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

考虑将序列化的java对象存储为cassandra作为JSON.什么是抓?

发布时间:2020-12-14 05:57:53 所属栏目:Java 来源:网络整理
导读:我正在使用Cassandra 1.2.2.我发现这很容易使用杰克逊来映射我的对象和json和 java存储在数据库中.我实际上是试图对我的所有数据做到这一点.我的问题是,这是个好主意吗?这对我的应用程序有什么不利之处?我的第一个猜测可能是更多的处理开销,但果汁值得挤压
我正在使用Cassandra 1.2.2.我发现这很容易使用杰克逊来映射我的对象和json和 java存储在数据库中.我实际上是试图对我的所有数据做到这一点.我的问题是,这是个好主意吗?这对我的应用程序有什么不利之处?我的第一个猜测可能是更多的处理开销,但果汁值得挤压?有什么其他的缺点我需要知道吗?

解决方法

一个缺点是修改原始数据,反序列化,更改,序列化和写出整个对象.在Cassandra中,写入效率比读取效率要高得多,因此如果可能,避免写入前的读取是有益的.

另一种方法是为JSON中的每个字段使用单独的列.您可以将复合列用于多维数据.

所以如果你有数据:

{
  name: "fred"
  address: "some town"
  age: 42
}

而您想要更改地址,如果您将这些列作为单独的Cassandra列,您只需插入一个名为address的列.如果你的JSON序列化了,你必须做更多的工作.如果您的数据是一次写入,则不适用.

即使您的数据是一次写入的,如果您只想从数据中读取一个字段,只需单独存储即可读取该列,而不是读取整个事物并进行反序列化.这只适用于您想要阅读部分数据.

总之,如果您必须更新数据或者只想一次读取零件,则使用单独的列可能会有显着的性能优势.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读