我想知道是否应该使用beforeEach
查询来更新我的行数据或使用update
并启用版本控制并插入。
我知道这可能取决于我需要存储什么类型的数据,但只是想知道查询(选择)具有版本控制或非版本控制的数据之间是否存在性能差异。或者maxversions
和insert
之间存在性能差异。
答案 0 :(得分:1)
性能受行的大小和服务器返回的数据量的影响。
Bigtable必须为每个请求读取整行。这将是读取的限制因素。在某种尺寸(100s + MB)下,在装载该行的平板电脑的任何时候,系统性能都会降低。当行大小达到GB时,您将遇到重大问题。
在查询时,性能还受到从服务器返回多少数据的影响。如果将Get
或Scan
限制为该行的一小部分,您仍然可以获得较低的“大行”范围。每行的单元格限制和/或仅检索几个限定符将有助于网络成本。
一般情况下,如果可以的话,最好保持较小的行。这通常是通过“插入”和列族的某种年龄/版本限制的组合来完成的。