目前正在从事一个以称为 SNOMED 的医学命名法为中心的项目。snomed 的核心是三个关系数据集,它们的长度分别为 350,000、110 万和 130 万条记录。我们希望能够快速查询此数据集以获取我们希望具有某种形状或形式的自动完成/建议的数据输入部分。
它目前位于 MySQL MyISAM DB 中,仅用于开发目的,但我们想开始使用一些内存选项。目前包括索引在内的大小为 30MB + 90MB + 70MB。MEMORY MySQL 引擎和 MemCached 是显而易见的,所以我的问题是您会建议其中哪一个,或者那里有更好的东西?
如果这有所作为,我们主要在应用程序级别使用 Python。此外,我们正在一台小型专用服务器上运行,很快就会迁移到 4GB DDR2。
编辑:附加信息
我们有兴趣保持快速的建议和自动完成。对这些类型的查询来说表现良好的东西是可取的。snomed 中的每个术语通常都有几个同义词、缩写和首选名称。我们将大量查询该数据集(包括索引在内的大小为 90MB)。我们还在考虑建立一个倒排索引以加快速度并返回更多相关结果(许多术语很长“整个基底蜕膜的盘绕动脉(身体结构)”)。Lucene 或其他一些全文搜索可能是合适的。