【问题标题】:Which is better way to store boolean in cassandra, text column vs boolean column?在 cassandra、文本列和布尔列中存储布尔值的更好方法是什么?
【发布时间】:2021-06-04 22:12:52
【问题描述】:

想知道在这两种方法之间在 Cassandra 中存储 boolean 的更好方法:

  1. 将其存储为具有单个字符的 text 列。例如:“Y”或“N”。

  2. 使用boolean 列。例如:真或假

【问题讨论】:

  • 我希望更多的人会问这个问题。那么我们可能会有更少的 UUID 实例存储为 strings。

标签: cassandra data-modeling


【解决方案1】:

两者都可以。

使用 CQL boolean 类型意味着您可以轻松地将其映射到应用所用语言编写的布尔类型。

另一方面,如果您的源不是布尔值,那么将其存储在 CQL text 类型中会更容易,因此您无需实现将 Y 转换为 trueN 的逻辑到您的应用中的false

这真的归结为偏好。干杯!

【讨论】:

  • 感谢您的清晰解释。这是有道理的。
【解决方案2】:

Cassandra 将所有数据存储为十六进制字节数组,所以 Erick 是对的,因为两者都可以使用。

我会说我会强烈推荐使用boolean类型,原因有两个:

  • 整体尺寸。 boolean 占用 1 位,而“true”的 string 占用 4 个字节。这种差异在今天可能并不太令人担忧,但值得指出。
  • 数据质量。使用string 会使您的应用程序不得不解释不同的值,例如“true”、“True”、“Y”、“y”、“yes”...等。这一切都意味着同样的事情。使用 boolean 可以消除任何歧义或无效数据的可能性。

【讨论】:

  • 非常感谢您提供详细信息,我们的表中确实有大量数据,我们计划将这些数据添加到此列中,布尔值在这里似乎是理想的选择。
猜你喜欢
  • 2011-01-29
  • 2013-04-26
  • 2019-03-08
  • 2022-11-18
  • 1970-01-01
  • 2011-06-02
  • 1970-01-01
  • 2021-09-06
  • 1970-01-01
相关资源
最近更新 更多