Personally, I always regarded UUID as one of those overcomplicated and frankly unneded “enterprisey” standards (similar to SOAP and XSD, XSLT and various other XML techonologies). After reading this article my opinion didn’t change.
Also… do they even know what “version” means? That they choose that word over “type” or any other alternative says it all.
UUID Version 7 (v7) is generated from a timestamp and random data.
Use v7 if you’re using the ID in a context where you want to be able to sort. For example, consider using v7 if you are using UUIDs as database keys.
Please, do NOT rely on that and just add to your tables a field with the actual timestamp.
You don’t quite understand. One of the major drawbacks of UUIDs over monotonically increasing id’s is the lack of ability to sort them. Not just for manual querying, but for index operations, caching, data locality etc.
It’s very handy and is a big part of the reason why Twitter developed Snowflake IDs, which are basically like UUIDs v6 and v7.
The UUIDs specs are quite easy to understand and definitely not “enterprisey”.
They chose “version” because they are just that, versions. Improvements over the original design that benefit from new insights and technological improvements. We’re lucky they had the foresight to include a version number in the spec.
They chose “version” because they are just that, versions. Improvements over the original design that benefit from new insights and technological improvements. We’re lucky they had the foresight to include a version number in the spec.
No they aren’t. A higher version of UUID isn’t “newer and better”, like the word “version” implies. It’s just different. It’s like they called a car “vehicle version 1” and a motorbike “vehicle version 2”. The common use of “version” in the software world would mean that a motorbike is a newer and hopefully improved version of a car, which is not the case.
The talking pumpkin is 100% right that they should have used “type” or “mode” or “scheme” or something instead.
Version 5 of a software, device, vehicle or such isn’t necessarily better than version 4, and no official definition of the word “version” require this, either. If I may make another anology: You may pick one of 5 different versions of an outfit to wear, and even though they were labeled in the order they were made, from 1 to 5, none are inherently, objectively better than any other. In the case of UUIDs there are versions that are meant to supercede others, but also simply alternatives for different use-cases. Anyone with access to some up-to-date information can learn what each version’s purpose is.
“Version” is definitely used commonly to describe two different … versions of the same thing, without implying that one is better than the other or supercedes it. There are two versions of the PS5, one with and one without a disk drive. There are many different versions of Windows, like Home or Enterprise. You can get hardcover or paperback versions of many books. Etc. Etc.
In normal English, when not using a number, sure! But in software, with numbers versions it almost universally means chronological releases of something.
There are many different versions of Windows, like Home or Enterprise. You can get hardcover or paperback versions of many books.
Great examples! Those are both called “editions”, not versions. Thanks for proving my point 😄
Personally, I always regarded UUID as one of those overcomplicated and frankly unneded “enterprisey” standards (similar to SOAP and XSD, XSLT and various other XML techonologies). After reading this article my opinion didn’t change.
Also… do they even know what “version” means? That they choose that word over “type” or any other alternative says it all.
Please, do NOT rely on that and just add to your tables a field with the actual timestamp.
You don’t quite understand. One of the major drawbacks of UUIDs over monotonically increasing id’s is the lack of ability to sort them. Not just for manual querying, but for index operations, caching, data locality etc.
It’s very handy and is a big part of the reason why Twitter developed Snowflake IDs, which are basically like UUIDs v6 and v7.
The UUIDs specs are quite easy to understand and definitely not “enterprisey”.
They chose “version” because they are just that, versions. Improvements over the original design that benefit from new insights and technological improvements. We’re lucky they had the foresight to include a version number in the spec.
No they aren’t. A higher version of UUID isn’t “newer and better”, like the word “version” implies. It’s just different. It’s like they called a car “vehicle version 1” and a motorbike “vehicle version 2”. The common use of “version” in the software world would mean that a motorbike is a newer and hopefully improved version of a car, which is not the case.
The talking pumpkin is 100% right that they should have used “type” or “mode” or “scheme” or something instead.
Version 5 of a software, device, vehicle or such isn’t necessarily better than version 4, and no official definition of the word “version” require this, either. If I may make another anology: You may pick one of 5 different versions of an outfit to wear, and even though they were labeled in the order they were made, from 1 to 5, none are inherently, objectively better than any other. In the case of UUIDs there are versions that are meant to supercede others, but also simply alternatives for different use-cases. Anyone with access to some up-to-date information can learn what each version’s purpose is.
“Version” is definitely used commonly to describe two different … versions of the same thing, without implying that one is better than the other or supercedes it. There are two versions of the PS5, one with and one without a disk drive. There are many different versions of Windows, like Home or Enterprise. You can get hardcover or paperback versions of many books. Etc. Etc.
In normal English, when not using a number, sure! But in software, with numbers versions it almost universally means chronological releases of something.
Great examples! Those are both called “editions”, not versions. Thanks for proving my point 😄
He’s not suggesting to replace timestamps (nor database sequences). They’re unique identifiers, and they happen to include a timestamp.