3

我的情况如下。我有一个包含一百万行元组(比如first namelast name)的数据表,以及一个需要检索其名字或姓氏以查询字符串开头的一小部分行的客户端。缓存这似乎是一个 catch-22,因为:

  • 一方面,我无法在每个请求上存储和检索整个数据集(会使网络不堪重负)
  • 另一方面,我不能单独存储每一行​​,因为那样我就无法运行查询。
  • 使用本地“索引”或目录在缓存中存储值范围是可行的……除此之外,您必须基本上复制每个索引的数据,这甚至违背了使用分布式缓存的目的。

对于这种事情,什么方法是可取的?是否有可能获得使用分布式缓存的好处,或者在这种情况下根本不可行?

4

1 回答 1

0

分布式缓存对于可查询的数据集是可行的。

但是对于这种情况,应该有可以提供更快结果的本机函数或过程。如果无法像会话或应用程序那样使用不同的范围,那么服务器端将需要大量迭代来获取每个请求的数据。

然后在数据库的服务器端建立索引从来都不是一个好主意。

如果还是有网络问题。您可以继续使用面向文档或面向列的 NoSQL DB。如果可行的话。

于 2012-08-22T07:22:22.493 回答