The Universally Unique Identifier (UUID), also known as the Globally Unique Identifier (GUID), has been widely used in computer systems.
It is a 128-bit code that is generated by the system based on variables and constants: current time, MAC address, SHA-1 hash, MD5 namespace. The end result of generating a UUID, displayed as a 32-character alphanumeric code separated by hyphens, may seem arbitrary, but in fact it is the result of complex calculations. Thus, a computer does not “invent” a code, but forms it from specific technical quantities that are relevant at a given time.
The probability that the same UUID will be generated on two different computers at different times tends to zero, which makes it possible to use the resulting codes for point/local data identification without reference to the coordination center. Today, UUID/GUID is ubiquitous in both online and offline networks, and works effectively not only in the global Internet space, but also in standalone computer systems.
UUID History
128-bit UUID codes were first used by the American company Apollo Computer in the 1980s. They were based on the simpler 64-bit codes used in Domain/OS and found widespread use in the Open Software Foundation computing environment.
With the advent of the first Windows platforms, the globally unique identifier was generalized and standardized. Microsoft adopted the DCE design from Apollo Computer and registered the URN namespace in RFC 4122. In 2005, the latter was proposed as a new standard by the IETF, and UUID was standardized within the ITU.
Earlier in 2002, system performance issues were identified when using UUIDs as primary keys in local databases. These were fixed in version 4 by adding a non-random suffix based on the computer's system time. The so-called COMB (Combined GUID Time Identifier) approach increased the risks of code duplication, but at the same time significantly improved performance when working with Microsoft SQL Server.
With the development of IT technologies, the universal unique identifier has ceased to be a highly specialized technical tool, and today everyone can use it. The probability of repetition of the generated codes is not equal to zero, but tends to it, and any digital information can be identified by them, after which they can be combined into single data arrays with minimal risks of repetition.
UUID Benefits
Generators of global unique codes do not require centralized data reconciliation/synchronization and are freely available to all users. The main advantages of UUID include:
- Minimal risks of "collision" (repetition) of codes. Despite their massive use, the probability of repetition tends to zero.
- Ability to join different arrays of data using UUIDs as primary (unique) keys.
- Simplified distribution of data across multiple dispersed servers.
- Ability to generate codes offline.
Unique identification codes, written in the format xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx, allow dispersed systems to recognize information without coordination from a single data center: with an almost zero probability of errors / repetitions. This feature, along with ease of use and small requirements for computer performance, makes UUID in demand and indispensable in a wide variety of IT industries and autonomous computing systems.