【发布时间】:2018-09-26 11:07:01
【问题描述】:
我们正在寻找 NoSQL 数据库,我们可以在其中存储超过 1 亿条记录,其中包含许多字段,例如 Redis 中的集合。
并且数据库应该是可搜索的值。我们检查了 Redis,但它不支持任何按值搜索的选项。因为我们有数百万条记录,我们更新了一些记录字段,然后获取了一堆在特定时间没有更新的记录。
因此,对所有记录运行查询,然后检查哪些记录未从特定时间更新需要更多时间。因为在这个解决方案中,我们每分钟更新 100-200 条记录,然后根据值获取一堆记录。
因此,Redis 将无法在这里工作。我们可以选择存储到 MongoDB,但我们正在寻找支持按值搜索的键值数据库。
{
"_id" : ObjectId("5ac72e522188c962d024d0cd"),
"itemId" : 11.0,
"url" : "http://www.testurl.com",
"failed" : 0.0,
"proxyProvider" : "Test",
"isLocked" : false,
"syncDurationInMinute" : 60.0,
"lastUpdatedTimeUTC" : "",
"nextUpdateTimeUTC" : "",
"targetCountry" : "US",
"requestContentType" : "JSON",
"group" : "US"
}
【问题讨论】:
-
二级索引和谓词过滤器 (aerospike.com/docs/guide/predicate.html) 在 Aerospike 中可用,可能对您的用例有用。
-
在 Aerospike 中,每条记录都有一个与之关联的上次更新时间元数据,可用于使用谓词过滤器进行搜索 - 与您的用例相关。您还可以使用二级索引根据 bin 中的数字或字符串值进行搜索。
标签: cassandra nosql bigdata aerospike