假设Cassandra会将固定长度的数据存储在列族中。类似于列族: id(bigint)、年龄(Int)、描述(文本)、图片(Blob)。现在描述和图片没有限制。它是怎么储存的?卡桑德拉是否通过ID ->定位方式外化?
例如,在关系数据库中,指针用于指向大型文本的实际位置。请参阅它是如何完成的
另外,在mysql中,为了更好的性能,建议使用char而不是varchar。我想很简单,因为没有必要进行"id查找“。请参阅:mysql char与varchar
在这里输入代码
`
发布于 2022-05-10 11:01:04
Cassandra将单个单元格(列值)存储在其磁盘上文件("sstables")中,作为32位长度,然后是数据字节。所以字符串值不需要--而不是--需要有固定的大小,也不能存储为指向其他位置的指针--完整的字符串出现在数据文件中。
32位长度限制意味着每个“文本”或"blob“值的长度限制在2GB以内,但实际上,您不应该使用任何接近这个值的东西--对于Cassandra文档建议,您不应该使用超过1MB的值。具有非常大的值有几个问题:
https://stackoverflow.com/questions/72180665
复制相似问题