代码之家  ›  专栏  ›  技术社区  ›  Jaroslav Záruba

为什么只对工作索引的后缀进行哈希处理?

  •  2
  • Jaroslav Záruba  · 技术社区  · 14 年前

    我正在阅读布雷特·斯莱特金为谷歌I/O 2010发布的pdf:
    Data pipelines with Google App Engine “。

    In this video (扇子的一部分)Brett说工作索引必须是一个散列,这样“您可以将负载分布到大表中”…这就是创建工作索引的方式:

    work_index = '%s-%d' % (sum_name, knuth_hash(index))
    

    …我想这创造了“mysum-5465765132987”

    我确实理解这个基本概念,但是为什么只有一半的工作索引是散列的呢?只散列其中的一部分而不去掉后缀是否重要?这样做不对吗

    md5('%s-%d' % (sum_name, index)) so that the hash would be like '6gw8....hq6'
    

    ?

    我是Java家伙,所以我会使用MD5来散列,这意味着我得到ID“MySum”+ 32个字符。(显然,我希望我的ID/密钥在这里尽可能短。)如果我能散列整个字符串,我的ID将只有32个字符。

    或者你会建议用其他东西来做散列吗?

    1 回复  |  直到 13 年前