Re: hash

From: Francisco Olarte <folarte(at)peoplecall(dot)com>
To: "Guillermo E(dot) Villanueva" <guillermovil(at)gmail(dot)com>
Cc: Edwin Quijada <listas_quijada(at)hotmail(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: hash
Date: 2016-07-27 18:27:25
Message-ID: CA+bJJbx0udvXTd-DeYy9nQALsVnFo-n-W-iq405TqvOovoUxMw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2016-07-27 14:12 GMT+02:00 Guillermo E. Villanueva <guillermovil(at)gmail(dot)com>:
> Hola Edwin, con la prueba que hice me quedé tranquilo, el día que lleguen a
> mas de 50 millones de registros yo y mis hijos ya estaremos jubilados jaja.
> No reemplazo nada, simplemente trunco el md5(). Tengo un trigger que hace lo
> siguiente:
> new.columnahash := right(md5(new.columnaid),13);

Ten en cuenta que las matematicas son muy putillas, y despues de 50
millones de unicos te pueden venir 3000 colisiones.

De todas formas la probabilidad de colision ahi es la clasica paradoja
del cumpleaños, y con 3 digitos hexadecimales y 50 millones de
intentos esta en un 25% ( Aqui mi codigo, que seguro tiene algn
problema, y que calcula la probabilidad de NO colision, que como casi
todo el mundo sabe es la facil:

$ perl -e '$x=16**13; $p=1; for (1..50_000_000) { $p*=$x-$_; $p/=$x; }
print "$p\n"'
0.757633315718648

Seguro que tiene errores de redondeo y cosas asi, y creo que lo que
calculo es para 50M+1, pero bueno, sus haceis una idea )

Yo probaria a usar base 64, parece que no pero cambiando 16 por 64 en
ese codigo da un resultado de 0.99999999631153 ).

Francisco Olarte.

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

In response to

  • Re: hash at 2016-07-27 12:12:15 from Guillermo E. Villanueva

Responses

  • Re: hash at 2016-07-28 14:50:38 from Guillermo E. Villanueva

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message eenriquez 2016-07-28 13:32:32 exportar datos concatenados
Previous Message Alberto Cardenas Cardenas 2016-07-27 15:51:16 Re: Estadisticas de base de datos y archivo de configuracion