[Qt-interest] QUuid with QUuid::Time
Jeffrey Brendecke
jwbrendecke at icanetix.com
Wed Jun 16 01:30:24 CEST 2010
> If you are only doing 10k transactions/day, and the transaction id safety
> is 1 in 30 million (not 1 in 100 as you imply), its gonna take 3000 days
> for your duplicate to hit...
This is not applicable. The given probability does not assure you of anything:
it is just a likelihood estimate based on certain assumptions that may or may
not be adhered to. Take a look at a text on statistics and normal
distributions to know what I mean. The problem could hit today, tomorrow, in
3000 days, maybe never. You don't know, and if the assumptions relating to
the probability estimates are not adhered to anyhow, the problem may occur
more often than you think.
The solution is simple: namespace + increasing integer.
Each identifier could consist of a namespace for the location where the
integer is generated along with an incrementally increasing integer, e.g.,
generated from a sequence in a Postgresql database sequence. Then, one only
has to manage a few namespaces for each of the ID-generating locations. Then
no one will collide with anyone, even if the dual-key IDs are thrown
together:
asia0
asia1
asia2
europe0
asia3
africa0
europe1
asia4
africa1
europe2
and so on ...
Jeffrey Brendecke
Managing Director
icanetix Software Systems and Consulting GmbH
Untere Hagenstrasse 26
91217 Hersbruck
Germany
Commercial Registry B 25317 Nuremberg, Germany
VAT-ID: DE250213502
Tel: +49 9151 / 90 87 57-6
Fax: +49 9151 / 90 87 57-9
www.icanetix.com
--------------------
Date: Wednesday 16 June 2010 01:08
From: "Scott Aron Bloom" <Scott.Bloom at onshorecs.com>
To: "Qt Interest" <qt-interest at trolltech.com>
Cc:
Subject: Re: [Qt-interest] QUuid with QUuid::Time
--------------------
> -----Original Message-----
> From: qt-interest-bounces at trolltech.com
> [mailto:qt-interest-bounces at trolltech.com] On Behalf Of Constantin Makshin
> Sent: Tuesday, June 15, 2010 8:49 AM
> To: Qt Interest
> Subject: Re: [Qt-interest] QUuid with QUuid::Time
>
> On Tuesday 15 June 2010 18:58:04 Oliver.Knoll at comit.ch wrote:
> > Constantin Makshin wrote on Monday, June 14, 2010 9:50 PM:
> > > IMHO, even 7 duplicates per 15 million values (~0.00005% chance of
> > > collision) is [more than] acceptable result for most, if not all,
> > > applications. :)
> >
> > But can we agree upon the following:
> >
> > Given propability p1 of a "UUID collision", as suggested to be
> > "infinitely small" by descriptions such as:
> >
> > "For example, consider the observable universe, which contains about
> > 5×10^22 stars; every star could then have 6.8×10^15 universally unique
> > GUIDs."
> >
> > and given probability p2 = ~0.00005% of a real world UUID generator
> > implementation, that there are, well, "light years" (as to stay in the
> > figurative speech of the
> > http://en.wikipedia.org/wiki/Globally_Unique_Identifier article) between
> > p1 and p2?
>
> Of course, 0.00005% is much more than theoretical 1/2^128 (~3e-37%), but
> still [generally] acceptable.
>
> > > I agree with one of the posters from that discussion:
> > > "chances are so low that you really should stress about something
> > > else- [...]"
> >
> > I also generally agree on that :) It is always a question of "how bad"
> > the impact of a duplicate really is and whether it is worth bothering.
> > But for example if - and I stress the IF here - you'd rely on a UUID for
> > identifying finanical transactions it could turn out disastrous... Or
> > would you trust a bank which would officially state that "our online
> > banking/transactions are (technically) 0.99995% safe"? ;)
>
> I'd *never* trust a bank with 0.99995% "transaction safety". ~1 successful
> transaction per 100 attempts would quickly turn anyone into a bankrupt. :)
>
> > Cheers, Oliver
>
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest
>
> -------------------
>
> Of course you need to take into account the likelihood of collision WRT any
> data safety...
>
> If you are only doing 10k transactions/day, and the transaction id safety
> is 1 in 30 million (not 1 in 100 as you imply), its gonna take 3000 days
> for your duplicate to hit...
>
> I would worry at that scale.. Since if Im working on server side large app,
> hopefully it will be in process for 8 years or so...
>
> But large scale or critical applications always have other issues that come
> up...
>
> However, for a smaller client side app, where you are only creating 100-500
> unique transactions a day, the 30,000->60,000 days its gonna take to hit
> the bug I can live with, and focus on other more likely scenarios of
> failures.
>
> Scott
>
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest
More information about the Qt-interest-old
mailing list