我有100,000个文档成功存储在一个表中。目前,我只是使用主键(而不是哈希/排序组合键)。没有很好的方法将它们分成有用的分区以进行读取,因为主要是客户最初只是拉动整个数据库,然后才拉动任何已更新的项目。另外,我想使用offset / limit方法以分页方式返回结果。
我想知道这样做的最好方法是什么。我存储在表中的示例项如下(id是主键):
{
"id": 11299,
"name": "plugin1",
"attributes": {
"plugin_version": "1.30",
"exploit_available": false,
"in_the_news": false,
"exploited_by_malware": false,
"exploited_by_nessus": false,
"risk_factor": "Medium",
"plugin_type": "remote",
"exploitability_ease": "No known exploits are available",
"plugin_publication_date": "2003-03-01T00:00:00Z",
"plugin_modification_date": "2018-07-16T00:00:00Z",
"vuln_publication_date": "2003-01-23T00:00:00Z"
"cvss_temporal_vector": {
"raw": "E:U/RL:OF/RC:C",
"ReportConfidence": "Confirmed",
"Exploitability": "Unproven",
"RemediationLevel": "Official-fix"
}
}
}
我还需要对plugin_modification_date
进行过滤,因此不确定将其作为排序键是否有帮助。到目前为止,令人沮丧的是,一切似乎都以某种方式依赖于使用分区键,而当您拥有一个对所有项目都唯一的单独主键时,基本上就没用了。