我已经对NoSQL进行了一段时间的研究,但我仍然在努力绕过搜索和过滤结果/文档。
在NoSQL世界中,我如何找到两个时间戳内的所有数据?如果所有内容都以密钥/值为基础存储?或者查找纬度和经度半径范围内的所有文档?
由于
答案 0 :(得分:0)
不同的数据结构支持不同的用例。例如,如果您可以使用字典/地图界面的有限API,那么分布式哈希表将是一个不错的选择。
如果您需要询问数据库的更复杂查询,请选择有效支持此用例的数据库。数据库格局非常多样,可能还有一个数据库供您使用。
对于范围查询,BigTable克隆(以及富有表现力的查询功能)可能值得考虑。
即使具有正确数据结构的数据库速度不够快或无法进行足够扩展,您仍然可以使用分片,复制和巧妙使用缓存或搜索索引等技巧。
如何权衡一致性,可用性,弹性,吞吐量和延迟的约束,这些都取决于具体问题,您可能会发现需要多种类型的数据库来实现最佳解决方案。
不要人为地让自己变得更难;过早优化,你知道。
我在一家MySQL商店工作,它的工作速度足以满足我们每天成千上万的交易(数百万次查询),并且足够可靠地用于我们的软件用于直播电视活动。
很抱歉,我不能给你一个更具体的答案。
答案 1 :(得分:0)
例如,MongoDB支持范围查询,您可以在纬度/经度信息上创建地理索引。 NoSQL数据库之间存在很大差异。