为大型数据集实现快速查找:MySQL MEMORY(HEAP),Memcached或其他
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了为大型数据集实现快速查找:MySQL MEMORY(HEAP),Memcached或其他,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1447字,纯文字阅读大概需要3分钟。
内容图文
目前正在开展一个围绕医学术语SNOMED的项目.被标记的核心是三个关系数据集,它们的记录长度分别为350,000、110万和130万.我们希望能够快速查询此数据集的数据输入部分,以便在其中具有某种形式或形式的自动完成/建议.
它目前仅在MySQL MyISAM DB中用于开发目的,但我们希望开始使用一些内存选项.包括索引在内,当前大小为30MB 90MB 70MB. MEMORY MySQL Engine和MemCached是显而易见的,所以我的问题是,您会建议使用其中的哪个,或者还有更好的选择?
如果有所作为,我们主要在应用程序级别使用Python.另外,我们正在运行在一台小型专用服务器上,即将迁移到4GB DDR2.
编辑:附加信息
我们有兴趣保持建议和自动完成的速度.对于这些类型的查询器来说,将会有一些很好的表现.被修饰的每个术语通常具有多个同义词,缩写和首选名称.我们将大量查询此数据集(包括索引在内的大小为90MB).我们也正在考虑建立一个倒排索引,以加快处理速度并返回更相关的结果(许多术语很长,“蜕膜基底的整个螺旋状动脉(身体结构)”). Lucene或其他全文搜索可能是合适的.
解决方法:
请参见
> Techniques to make autocomplete on website more responsive
> How to do query auto-completion suggestions in Lucene
> autocomplete server side implementation
有关如何使用Lucene进行此操作. Lucene是最接近行业标准的全文本搜索库.它速度快,并提供高质量的结果.但是,掌握Lucene需要花费时间-您必须处理许多底层细节.一种更简单的方法可能是使用Solr,这是一个Lucene子项目,该项目更易于设置,并且可以提供JSON输出can be used for autocomplete.
正如Todd所说,您也可以使用Sphinx.我从未使用过它,但听说它与MySQL高度集成.我找不到如何使用Sphinx实现自动完成的功能-也许您应该将此作为单独的问题发布.
内容总结
以上是互联网集市为您收集整理的为大型数据集实现快速查找:MySQL MEMORY(HEAP),Memcached或其他全部内容,希望文章能够帮你解决为大型数据集实现快速查找:MySQL MEMORY(HEAP),Memcached或其他所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。