首页 文章

Cassandra客户端侧分区密钥计算,以节省磁盘空间

提问于
浏览
1

我有一个表有一个由五个大字段组成的复合分区键 .

我注意到由于这五个字段的大小,该表的SSTable索引文件非常大 .

我实际上不需要从我的表中检索这些字段的值,所以为了节省空间我想在客户端中将它们散列为单个值,然后使用该单个值作为分区键,就像Cassandra一样将复合分区键映射到单个标记值时执行的操作 .

所以我想知道java驱动程序中是否有函数或者我可以在客户端使用的一些java库函数来生成这个单值 .

我想我想要使用的类型是uuid,所以我正在寻找一个函数,我可以传递N值并获取一个uuid,然后用作我的分区键值 . 有人知道这样做的好方法吗?

1 回答

  • 0

    您是否尝试过启用压缩功能,看看它如何与您当前的数据模型一起使用?

    使用哈希值作为分区键将容易发生哈希冲突 . 散列碰撞的实际机会取决于使用的算法 . 固定算法(如128位murmur3)将大大降低机会,但它们可能仍会发生,在这种情况下,您可能会在应用程序中看到数据交换 .

相关问题