🆔
← āļāļĨāļąāļšāđ„āļ›āļ„āļđāđˆāļĄāļ·āļ­

UUID v4 āļāļąāļš UUID v7 — āļ„āļļāļ“āļ„āļ§āļĢāđƒāļŠāđ‰āļ­āļąāļ™āđ„āļŦāļ™?

· āđāļ—āđ‡āļ: uuid-v7, uuid-v4, rfc-9562, database, primary-key

UUID v7 āļ‹āļķāđˆāļ‡āļāļģāļŦāļ™āļ”āļĄāļēāļ•āļĢāļāļēāļ™āđƒāļ™ RFC 9562 (āļžāļĪāļĐāļ āļēāļ„āļĄ 2024) āđāļāđ‰āđ„āļ‚āļˆāļļāļ”āļ­āđˆāļ­āļ™āļŦāļĨāļąāļāļ‚āļ­āļ‡ UUID v4: āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļ”āļąāļŠāļ™āļĩāļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļ•āđˆāļģ

UUID v4 (āđāļšāļšāļŠāļļāđˆāļĄ)

UUID v4 āđƒāļŠāđ‰āļšāļīāļ•āļŠāļļāđˆāļĄ 122 āļšāļīāļ•āđāļĨāļ°āļšāļīāļ•āļ„āļ‡āļ—āļĩāđˆ 6 āļšāļīāļ• āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļĢāļąāļšāļ›āļĢāļ°āļāļąāļ™āļ„āļ§āļēāļĄāđ€āļ›āđ‡āļ™āđ€āļ­āļāļĨāļąāļāļĐāļ“āđŒāđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļ›āļĢāļ°āļŠāļēāļ™āļ‡āļēāļ™ āđāļ•āđˆāļŠāļĢāđ‰āļēāļ‡ ID āļ—āļĩāđˆāļāļĢāļ°āļˆāļąāļ”āļāļĢāļ°āļˆāļēāļĒāđāļšāļšāļŠāļļāđˆāļĄāļ•āļēāļĄāđ€āļ§āļĨāļē āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰āđ€āļ›āđ‡āļ™ B-tree primary key āđƒāļ™āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ ID āđāļšāļšāļŠāļļāđˆāļĄāļ—āļģāđƒāļŦāđ‰āđ€āļāļīāļ” page split āđāļĨāļ° index fragmentation āļ—āļģāđƒāļŦāđ‰āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļžāļāļēāļĢāđ€āļ‚āļĩāļĒāļ™āļĨāļ”āļĨāļ‡

UUID v7 (āđ€āļĢāļĩāļĒāļ‡āļ•āļēāļĄāđ€āļ§āļĨāļē)

UUID v7 āđƒāļŠāđ‰ Unix millisecond timestamp 48 āļšāļīāļ•āļ•āļēāļĄāļ”āđ‰āļ§āļĒāļšāļīāļ•āļŠāļļāđˆāļĄ āļ„āļģāļ™āļģāļŦāļ™āđ‰āļē timestamp āļ—āļģāđƒāļŦāđ‰ UUID āđ€āļĢāļĩāļĒāļ‡āļ•āļēāļĄāđ€āļ§āļĨāļēāļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āđ„āļ”āđ‰āļ•āļēāļĄāļ˜āļĢāļĢāļĄāļŠāļēāļ•āļī āđāļāđ‰āļ›āļąāļāļŦāļē B-tree fragmentation āđ„āļ”āđ‰ āļ„āļĩāļĒāđŒāļĒāļąāļ‡āļ„āļ‡āđ€āļ›āđ‡āļ™āđ€āļ­āļāļĨāļąāļāļĐāļ“āđŒāļĢāļ°āļ”āļąāļšāđ‚āļĨāļāđāļĨāļ°āļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡āđ„āļ”āđ‰āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļ›āļĢāļ°āļŠāļēāļ™āļ‡āļēāļ™

āļāļēāļĢāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļš

| | UUID v4 | UUID v7 | |---|---------|---------| | āļĄāļēāļ•āļĢāļāļēāļ™ | RFC 9562 | RFC 9562 | | āđ€āļĢāļĩāļĒāļ‡āđ„āļ”āđ‰ | āđ„āļĄāđˆ | āđƒāļŠāđˆ (āļ•āļēāļĄāđ€āļ§āļĨāļē) | | āļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž DB | āļ•āđˆāļģ | āļ”āļĩ | | āđ„āļĄāđˆāļ‹āđ‰āļģāļāļąāļ™ | āđƒāļŠāđˆ | āđƒāļŠāđˆ | | āđ€āļ›āļīāļ”āđ€āļœāļĒ timestamp | āđ„āļĄāđˆ | āđƒāļŠāđˆ (āļ„āļ§āļēāļĄāđāļĄāđˆāļ™āļĒāļģāļĄāļīāļĨāļĨāļīāļ§āļīāļ™āļēāļ—āļĩ) |

āļ„āļģāđāļ™āļ°āļ™āļģ: āđƒāļŠāđ‰ UUID v7 āļŠāļģāļŦāļĢāļąāļš primary key āļ‚āļ­āļ‡āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ āđāļĨāļ°āđƒāļŠāđ‰ UUID v4 āđ€āļĄāļ·āđˆāļ­āļ„āļļāļ“āļ•āđ‰āļ­āļ‡āļāļēāļĢāđ„āļĄāđˆāđ€āļ›āļīāļ”āđ€āļœāļĒāđ€āļ§āļĨāļēāđƒāļ™āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ āļĨāļ­āļ‡āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđāļšāļšāđƒāļ™ āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļŠāļĢāđ‰āļēāļ‡ UUID āļ‚āļ­āļ‡āđ€āļĢāļē

UUID v4 āļāļąāļš UUID v7 — āļ„āļļāļ“āļ„āļ§āļĢāđƒāļŠāđ‰āļ­āļąāļ™āđ„āļŦāļ™? - CoolTool