Я читаю PDF, который Бретт Слаткин опубликовал для Google I / O 2010:
" Конвейеры данных с Google App Engine ".
В этом видео (часть с фанатами) Бретт говорит, что work_index должен быть хешем, чтобы «вы распределяли нагрузку по BigTable» ... и вот как работает work_index создано:
work_index = '%s-%d' % (sum_name, knuth_hash(index))
... который, я думаю, создает что-то вроде 'mySum-54657651321987'
Я понимаю основную идею, но почему хэшируется только одна половина work_index? Важно ли хэшировать только часть, оставляя суффикс? Было бы неправильно делать
md5('%s-%d' % (sum_name, index)) so that the hash would be like '6gw8....hq6'
?
Я - парень по Java, поэтому я бы использовал md5 для хеширования, что означает, что я получаю идентификатор, например, 'mySum' + 32 символа. (Очевидно, я хочу, чтобы мои идентификаторы / ключи были здесь как можно короче.) Если бы я мог хэшировать всю строку, мой идентификатор был бы всего 32 символа.
Или вы бы предложили использовать что-то еще для хеширования?