Cassandra冻结关键词含义

Alo*_*lon 28 database keyword bigdata cassandra nosql

frozenCassandra中关键字的含义是什么?

我正在尝试阅读此文档页面:使用用户定义的类型,但他们对frozen关键字的解释(他们在他们的示例中使用)对我来说不够清楚:

要支持将来的功能,用户定义或元组类型的列定义需要冻结关键字.Cassandra将具有多个组件的冻结值序列化为单个值.有关示例和用法信息,请参阅"使用用户定义的类型","元组类型"和集合类型.

我没有在网上找到任何其他定义或明确的解释.

Ash*_*lam 50

在Cassandra中,如果将UDT或Collection定义为冻结,则无法更新UDT或集合的单个项目,必须重新插入完整值.

冻结值将多个组件序列化为单个值.非冻结类型允许更新单个字段.Cassandra将冻结类型的值视为blob.必须覆盖整个值.

来源:https://docs.datastax.com/en/cql/3.1/cql/cql_reference/collection_type_r.html

@Alon:"长话短说:冻结=不可变"

  • 长话短说:冻结=不可变 (19认同)
  • `frozen<set<udt>>` 和 `set<frozen<udt>>` 之间有区别吗? (2认同)
  • @jaco0646 对于这两种类型,您可以以相同的方式插入,但不能在 `frozen<set<udt>>` 中添加(追加)新的 udt (2认同)