我有一套500万字符串。这些目前存储在单个列MySQL表中。我的应用程序必须执行查找并检查给定的字符串是否在集合中。这当然可以使用HashSet(使用Java)完成。但是,与其构建定制解决方案,我想知道是否有任何现有的,广泛使用的,经过验证的解决方案来实现这一点?这似乎是一种常见的情况。该解决方案应该是可扩展的(该集合可能增加超过5百万),具有故障转移(可能是分布式的)并且在大量请求下运行良好。有什么建议么?快速,可伸缩的字符串查找
更新:我的应用程序还可以查询以检查给定的字符串集是否存在于全局(500万个)集中。
也许我不明白你的意思是“执行查找”和“检查给定的字符串是否在集合中” - 是不是这只是SQL选择语句的用途?故障转移和缩放也或多或少是正常的RDBMS功能。 – Sorpigal 2010-09-29 11:20:44
尝试用于快速字符串查找。它们比hashtables/hashset更有效率,并且速度并不慢。 – leppie 2010-09-29 11:23:47
@Sorpigal:是的,但正常的RDBMS查询速度不够快。我还用确切的场景更新了我的问题。希望清除它。 – talonx 2010-09-29 11:50:46