~/talk

ID, EGO and Super EGO of your entity

Talkat GeeCON Prague 2023 · 2023-10-19..10-20· [software-architecture]
links:none on file
slides:none on file

Benchmarks on OpenJDK 20 (Ubuntu machine, many threads) compare sequence IDs, UUID/ULID, Snowflake and custom Base58 strings, measuring generation rate and index-insert conflicts into a ConcurrentHashMap. Key findings: sequence via AtomicLong is fastest but in multi-node or crash scenarios causes lost or highly conflicting IDs (tests show millions of conflicts); UUIDs and SecureRandom are slower and non-ideal for B-tree indexes; ULID/time-based IDs remain sortable and avoid some coordination pain. Recommendation: prefer business-friendly or time-sortable IDs when you need gap-free or index-friendly behavior.

AI-written summary · about

  1. 0:00Introduction to entities
  2. 1:17Freud’s ID ego super ego
  3. 2:22ID in Java objects
  4. 8:12EGO identifiers in programming
  5. 12:09Ideal identifier requirements
  6. 15:20Sequences and their flaws
  7. 16:22UUIDs and their trade-offs
  8. 19:14ULID sortable identifiers
  9. 22:14Super EGO natural identifiers
  10. 28:16Short readable IDs
  11. 34:03Index-friendly IDs
  12. 36:31Performance tests on ID generation
  13. 40:51Databases and ID generation
  14. 42:16Domain-driven design and IDs
  15. 44:00Sortable and gap-free IDs
  16. 49:19YouTube ID generation
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.