【问题标题】:which is the efficient db for autosuggest for some million datas这是自动建议数百万数据的有效数据库
【发布时间】:2011-06-19 00:43:36
【问题描述】:

我需要知道对于拥有大约 8000 万条记录的自动搜索数据库来说,哪个是最佳数据库...

    1)Redis
    2)tokyoCabinet
    3)Kyoto Cabinet

【问题讨论】:

  • 你应该比较京都内阁而不是东京内阁。
  • 我已将其添加到列表中
  • 您的自动建议是“开始于”搜索风格吗?这个细节很大。这将决定您是否可以利用已排序的数据。

标签: database nosql redis tokyo-cabinet kyotocabinet


【解决方案1】:

这个网站可能有你要找的东西:http://perfectmarket.com/blog/not_only_nosql_review_solution_evaluation_guide_chart

您需要考虑几件事:

  1. 数据量 - 数据库应该能够处理大量记录和大文件
  2. 列表项
  3. 插入和检索速度
  4. 稳定性 - 你不想因为你用大量点击敲击数据库而下降,这在自动建议中很常见

我知道它不在您的列表中,但我会选择 MongoDB。如果你不能,那么我会选择 Redis,只是为了速度因素。

【讨论】:

    【解决方案2】:

    Redis 非常适合自动建议,因为它的排序集(实现为跳过列表)。我成功使用的模式基本上将每个部分单词作为键(因此“python”将映射到键:“py”、“pyt”、“pyth”、“pytho”和“python”)。与每个键关联的数据是一个排序集,其中值用于提供原始短语的词法排序(提供结果的排序),键是到您希望返回的数据的 id 映射。然后我将 ID 和数据存储在哈希中。

    这是一个用python编写的示例项目,有更多细节:https://github.com/coleifer/redis-completion

    【讨论】:

      猜你喜欢
      • 2016-08-21
      • 2012-05-29
      • 2017-03-15
      • 2011-08-15
      • 2018-12-21
      • 1970-01-01
      • 2016-09-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多