我将有一个用户表,其中包含每个用户的令牌。令牌是1024位长的字母数字字符串。在我的一本教科书中,他们似乎将所有令牌存储在blob中而不是文本中,但从未解释过为什么?在Cassandra中为文本选择blob是否有优势。是否存在任何性能差异(例如对于超过十亿行的表格而言)?
答案 0 :(得分:1)
将标记存储为blob将更有效,因为blob将小于文本表示。这意味着它将使用更少的磁盘空间,更快的读写速度,并通过网络更有效地传输。对于Cassandra来说,较小的数据几乎总是更快。
文本通常比blob压缩得更多,这样可以减轻一些差异,但blob可能仍然会更有效。
答案 1 :(得分:0)
我认为blob和文本的重量大致相同,只有blob不是人类可更新的。 如果您首先对令牌进行gzip,然后将gzip作为blob发送,那么性能可能会有所提高,因为它会显着缩小。 见What are the pros or cons of storing json as text vs blob in cassandra?