cassandra UTF8或LongType中的密钥验证类类型?

 新青年博宇 发布于 2023-01-31 12:50

使用cassandra,我想在列族中存储2000万个行键.

我的问题是:

    long和utf8 rowKey键之间是否存在真正的性能差异?

    任何,行密钥存储大小问题?

我的userkey看起来像这样

rowKey=>112512462152451
rowKey=>135431354354343
rowKey=>145646546546463
rowKey=>154354354354354
rowKey=>156454343435435
rowKey=>154435435435745

Aaron.. 6

    Cassandra将所有磁盘数据(包括行键值)存储为十六进制字节数组.在性能方面,行键的数据类型确实无关紧要.它唯一重要的地方是行键的类型验证器/比较器将影响磁盘上的排序顺序.因此,在您的情况下,Long将以不同于UTF8(ascii-betical)的方式排序(数字).

    我找不到一个确切的来源,但我记得读过行键的最大大小是64K(你似乎在那之下).默认情况下启用密钥缓存,除非另有说明,否则将缓存200,000个密钥.是否在任何给定时间缓存200,000个密钥就足够了,这取决于您的应用程序的要求.您可以根据可用RAM的数量来增加该数量,但是您应该在小的增量调整中进行测试.

检查Datastax文档以获取有关如何调整行和键缓存属性的说明.

此外,eBay发布了一篇关于Cassandra数据建模的好文章,该文章讨论了可能对您有所帮助的正确行选择/创建.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有