Re: UUID version 6 proposal, initial feedback

Tony Finch <dot@dotat.at> Wed, 04 July 2018 11:21 UTC

Return-Path: <dot@dotat.at>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4E96E130E3B for <ietf@ietfa.amsl.com>; Wed, 4 Jul 2018 04:21:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level:
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tHAdmbeYi8yY for <ietf@ietfa.amsl.com>; Wed, 4 Jul 2018 04:21:37 -0700 (PDT)
Received: from ppsw-30.csi.cam.ac.uk (ppsw-30.csi.cam.ac.uk [131.111.8.130]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4E19A130DCE for <ietf@ietf.org>; Wed, 4 Jul 2018 04:21:37 -0700 (PDT)
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: http://help.uis.cam.ac.uk/email-scanner-virus
Received: from grey.csi.cam.ac.uk ([131.111.57.57]:39586) by ppsw-30.csi.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.136]:25) with esmtps (TLSv1:ECDHE-RSA-AES256-SHA:256) id 1fafqp-000yFw-eK (Exim 4.91) (return-path <dot@dotat.at>); Wed, 04 Jul 2018 12:21:35 +0100
Date: Wed, 04 Jul 2018 12:21:35 +0100
From: Tony Finch <dot@dotat.at>
To: Brad Peabody <bradgareth@gmail.com>
cc: ietf@ietf.org
Subject: Re: UUID version 6 proposal, initial feedback
In-Reply-To: <D0894516-3F20-4545-BD7D-BE4FA96FAF75@gmail.com>
Message-ID: <alpine.DEB.2.11.1807041210350.916@grey.csi.cam.ac.uk>
References: <D0894516-3F20-4545-BD7D-BE4FA96FAF75@gmail.com>
User-Agent: Alpine 2.11 (DEB 23 2013-08-11)
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/2YSFIqY4n2SDLTLBg9GtQMjkcfU>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Jul 2018 11:21:40 -0000

Brad Peabody <bradgareth@gmail.com> wrote:

> I would like to get some initial feedback, and suggested next steps, on
> the idea of making an RFC that covers a version 6 for UUIDs.  It would
> have an embedded timestamp and sorting by its raw bytes results in a
> sequence equivalent to sorting by time.  This is not addressed by
> existing UUID types.  (The closest one is version 1, but due to the byte
> encoding it does not sort correctly.)

There's clearly a need for a standard version of something like this,
since people keep reinventing similar things:

Elasticsearch sequential UUID / Flake ID
https://github.com/ppearcy/elasticflake

Firebase push IDs
https://firebase.googleblog.com/2015/02/the-2120-ways-to-ensure-unique_68.html

Cassandra TimeUUID
https://cassandra.apache.org/doc/latest/cql/functions.html

KSUID k-sortable unique identifiers
https://github.com/segmentio/ksuid

ULID universally unique lexicographically sortable identifier
https://github.com/ulid/javascript

Twitter Snowflake
https://blog.twitter.com/engineering/en_us/a/2010/announcing-snowflake.html

If you want to pursue standardization, the next step is to write an
internet-draft that will update RFC 4122.

Tony.
-- 
f.anthony.n.finch  <dot@dotat.at>  http://dotat.at/
Bailey: Variable 4 becoming westerly 5 to 7, perhaps gale 8 later in north.
Moderate, becoming rough or very rough later in north. Rain then showers.
Moderate or poor, becoming good.