복붙노트

[REDIS] MurmurHash - 그것은 무엇인가?

REDIS

MurmurHash - 그것은 무엇인가?

나는 MurmurHash가 무엇 높은 수준의 이해를 얻기 위해 노력했습니다.

나는 기본적인 설명을 읽어했습니다 그런데 왜 그것을 사용하는 경우의 좋은 설명을 찾을 못하고있다. 나는 그것의 매우 빠른 알고 있지만 더 많은 비트를 알고 싶어요.

나는 내가 레디 스의 비트 세트에 UUID에 맞게 수있는 방법에 대한 관련 질문을, 누군가는 MurmurHash를 사용하여 제안했다. 그것은 작동하지만 위험 / 이득을 이해하고 싶습니다.

해결법

  1. ==============================

    1.중얼 거림은 비 암호화 사용에 적합한 좋은 범용 해시 함수의 가족입니다. 오스틴 애플비에서 언급 한 바와 같이, MurmurHash은 다음과 같은 이점을 제공합니다 :

    중얼 거림은 비 암호화 사용에 적합한 좋은 범용 해시 함수의 가족입니다. 오스틴 애플비에서 언급 한 바와 같이, MurmurHash은 다음과 같은 이점을 제공합니다 :

    당신은 확실히 (: CityHash, 젠킨스, 폴 셰 행정 원장의, 등등 ... 다른 고급 해시 기능 등) 해시의 UUID로 사용할 수 있습니다. 이제, 레디 스의 비트 세트 4GB를 비트 (512메가바이트)에 한정된다. 그래서 당신은 32 비트 (해시 값) 데이터의 128 비트 (UUID)를 줄일 필요가있다. 무엇이든 해싱 함수의 품질, 충돌이있을 것이다.

    중얼 거림 같은 설계 해시 함수를 사용하면 분포의 품질을 최대화하고, 충돌의 수를 최소화하지만, 다른 보증을 제공하지 않습니다.

    여기에 범용 해시 함수의 품질을 비교하는 몇 가지 링크가 있습니다 :

    http://www.azillionmonkeys.com/qed/hash.html

    http://www.strchr.com/hash_functions

    http://blog.aggregateknowledge.com/2011/12/05/choosing-a-good-hash-function-part-1/

    http://blog.aggregateknowledge.com/2011/12/29/choosing-a-good-hash-function-part-2/

    http://blog.aggregateknowledge.com/2012/02/02/choosing-a-good-hash-function-part-3/

  2. ==============================

    2.나는 늦게 답장을 나는 알고 있지만, 다른 하나를 도움이 될 수 있습니다 ... 해싱 잡음 비 암호화 해시 함수 해시 기반 룩 - 업에 사용되는, 그것은 전체 곱하기, 회전 및 XOR 등 3 개 기본 조작을 사용합니다. 그것은 단지가 2 개 기본 테스트를 통과하여 좋은 해시 함수를 만들기 위해 여러 상수를 사용합니다.  눈사태 테스트  카이 제곱 테스트

    나는 늦게 답장을 나는 알고 있지만, 다른 하나를 도움이 될 수 있습니다 ... 해싱 잡음 비 암호화 해시 함수 해시 기반 룩 - 업에 사용되는, 그것은 전체 곱하기, 회전 및 XOR 등 3 개 기본 조작을 사용합니다. 그것은 단지가 2 개 기본 테스트를 통과하여 좋은 해시 함수를 만들기 위해 여러 상수를 사용합니다.  눈사태 테스트  카이 제곱 테스트

    당신은 내가 중얼 거림 해싱의 상세 설명, 만든이 비디오를 볼 수 있습니다.

  3. from https://stackoverflow.com/questions/11899616/murmurhash-what-is-it by cc-by-sa and MIT license