【发布时间】:2018-10-29 13:23:28
【问题描述】:
我有一个由几个应用程序实例组成的系统,用 Java 编写。对它们的请求是负载平衡的,以实现高可用性。每秒钟,这个“集群”接收数百个小数据块(每个数据块由几个简单的字符串组成),存储在数据库中,保存几天然后丢弃。除了存储这些数据之外,主要要求是快速确定给定值是否存储在数据库中。一个适当索引和分区的数据库表似乎适合这个问题,并且做得很好,至少现在是这样。
问题是,大约 80% 的搜索值没有找到,因为它们不在数据库中。因此,我想加快速度,使搜索速度更快,资源消耗更少。布隆过滤器将是显而易见的选择,如果不是因为不同的应用程序实例接收不同部分的数据,并且如果每个应用程序实例的布隆过滤器中只有一部分数据,那么这些布隆过滤器将毫无用处。
您对如何解决这个问题有任何建议/想法吗?
【问题讨论】:
-
嘿,你找到解决方法了吗?
标签: java search distributed-system bloom-filter