在 cassandra 中何时使用十进制与浮点/双精度?

BdE*_*eer 5 cassandra datastax

我正在使用 apache cassandra 3.x 版本。我对什么时候应该使用小数和浮点类型感到有些困惑?

是否有任何特定的用例/差异何时应该使用浮点数或避免小数点,反之亦然?

我已经完成了一些快速教程,但没有涵盖这种差异。谁能帮我理解这一点?

saz*_*zad 9

来自Mat Brown的《Learning Apache Cassandra》一书:

Cassandra 有三种存储非整数的类型:

  • float类型存储 32 位 IEEE-754 浮点数。
  • double类型存储 64 位 IEEE-754 浮点数。
  • decimal类型存储可变精度十进制数,大小没有上限。与浮点数不同,可变精度小数永远不会在数字的小数部分出现以 10 为基数的舍入错误。

但与其他两个相比,十进制可能会占用更多空间。因此,如果是精度问题,您可以选择decimal. 否则,float/double足够好的在大多数情况下。